diff --git a/tools/binpac/CMakeLists.txt b/tools/binpac/CMakeLists.txt index 800c575464..3b567b2fc1 100644 --- a/tools/binpac/CMakeLists.txt +++ b/tools/binpac/CMakeLists.txt @@ -1,12 +1,10 @@ -## +######################################################################## ## CMake Configuration -## cmake_minimum_required(VERSION 2.8 FATAL_ERROR) # Prohibit in-source builds. -string(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" source_build) -if (source_build) +if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}") message(FATAL_ERROR "In-source builds are not allowed. Please use " "./configure to choose a build directory and " "initialize the build configuration.") @@ -28,12 +26,13 @@ include(${build_options_file}) set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) -## -## Project Configuration -## +######################################################################## +## Project/Build Configuration project(BinPAC) +file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" BINPAC_VERSION LIMIT_COUNT 1) + if (ENABLE_DEBUG AND ENABLE_RELEASE) set(CMAKE_BUILD_TYPE RelWithDebInfo) elseif (ENABLE_DEBUG AND NOT ENABLE_RELEASE) @@ -57,34 +56,28 @@ if (NOT EXTRA_COMPILE_FLAGS) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_COMPILE_FLAGS}") endif () -## +######################################################################## ## Dependency Configuration -## find_package(FLEX REQUIRED) find_package(BISON REQUIRED) -## -## Configuration Checks/Tests -## - -file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/VERSION" BINPAC_VERSION LIMIT_COUNT 1) +######################################################################## +## System Introspection configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) include_directories(${CMAKE_CURRENT_BINARY_DIR}) -## -## Recuse on sub-directories -## +######################################################################## +## Recurse on sub-directories add_subdirectory(lib) add_subdirectory(src) -## +######################################################################## ## Build Summary -## if (BinPAC_SKIP_INSTALL) set(binpac_install_summary "Install skipped") diff --git a/tools/binpac/lib/CMakeLists.txt b/tools/binpac/lib/CMakeLists.txt index 996bbf1c18..4eba7e2f61 100644 --- a/tools/binpac/lib/CMakeLists.txt +++ b/tools/binpac/lib/CMakeLists.txt @@ -9,10 +9,7 @@ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/binpac.h.in include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) - -set(binpac_lib_SRCS - binpac_buffer.cc - binpac_bytestring.cc +set(binpac_headers ${CMAKE_CURRENT_BINARY_DIR}/binpac.h binpac_analyzer.h binpac_buffer.h @@ -21,6 +18,12 @@ set(binpac_lib_SRCS binpac_regex.h ) +set(binpac_lib_SRCS + binpac_buffer.cc + binpac_bytestring.cc + ${binpac_headers} +) + add_library(binpac_lib STATIC ${binpac_lib_SRCS}) set_target_properties(binpac_lib PROPERTIES OUTPUT_NAME binpac) @@ -28,12 +31,7 @@ set_target_properties(binpac_lib PROPERTIES OUTPUT_NAME binpac) if (NOT BinPAC_SKIP_INSTALL) install(TARGETS binpac_lib DESTINATION lib) install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/binpac.h - binpac_analyzer.h - binpac_buffer.h - binpac_bytestring.h - binpac_exception.h - binpac_regex.h + ${binpac_headers} DESTINATION include )