Added CMake option for statically linking the binary.
This commit is contained in:
parent
f11097180a
commit
78511d9929
@ -2,8 +2,7 @@ cmake_minimum_required(VERSION 2.6)
|
||||
project(anthem CXX)
|
||||
|
||||
option(ANTHEM_BUILD_TESTS "Build unit tests" OFF)
|
||||
|
||||
find_package(Boost 1.55.0 COMPONENTS program_options iostreams system filesystem REQUIRED)
|
||||
option(ANTHEM_BUILD_STATIC "Build static binaries" OFF)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "-Wall -Wpedantic")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-g")
|
||||
@ -16,9 +15,23 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
|
||||
if(ANTHEM_BUILD_STATIC)
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-static")
|
||||
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
||||
# Remove -Wl,-Bdynamic
|
||||
set(CMAKE_EXE_LINK_DYNAMIC_C_FLAGS)
|
||||
set(CMAKE_EXE_LINK_DYNAMIC_CXX_FLAGS)
|
||||
endif()
|
||||
|
||||
set(CLASP_BUILD_APP OFF CACHE BOOL "whether or not to build the clasp application")
|
||||
set(CLASP_BUILD_TEST OFF CACHE BOOL "whether or not to build clasp unit tests (requires CppUnit)")
|
||||
set(CLINGO_BUILD_SHARED OFF CACHE BOOL "build clingo library shared")
|
||||
|
||||
if(ANTHEM_BUILD_STATIC)
|
||||
set(CLINGO_BUILD_SHARED OFF CACHE BOOL "build clingo library shared")
|
||||
else()
|
||||
set(CLINGO_BUILD_SHARED ON CACHE BOOL "build clingo library shared")
|
||||
endif()
|
||||
|
||||
set(CLINGO_BUILD_WITH_LUA OFF CACHE BOOL "enable lua support")
|
||||
set(CLINGO_BUILD_WITH_PYTHON OFF CACHE BOOL "enable python support")
|
||||
set(LIB_POTASSCO_BUILD_APP OFF CACHE BOOL "whether or not to build lpconvert tool")
|
||||
|
@ -1,5 +1,7 @@
|
||||
set(target anthem-app)
|
||||
|
||||
find_package(Boost 1.55.0 COMPONENTS program_options system filesystem REQUIRED)
|
||||
|
||||
file(GLOB core_sources "*.cpp")
|
||||
file(GLOB core_headers "*.h")
|
||||
|
||||
@ -8,6 +10,16 @@ set(sources
|
||||
${core_headers}
|
||||
)
|
||||
|
||||
set(includes
|
||||
${Boost_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set(libraries
|
||||
${Boost_LIBRARIES}
|
||||
anthem
|
||||
)
|
||||
|
||||
add_executable(${target} ${sources})
|
||||
target_link_libraries(${target} anthem)
|
||||
target_include_directories(${target} PRIVATE ${includes})
|
||||
target_link_libraries(${target} PRIVATE ${libraries})
|
||||
set_target_properties(${target} PROPERTIES OUTPUT_NAME anthem)
|
||||
|
@ -15,18 +15,20 @@ set(sources
|
||||
)
|
||||
|
||||
set(includes
|
||||
${PROJECT_SOURCE_DIR}/include
|
||||
${Boost_INCLUDE_DIRS}
|
||||
${PROJECT_SOURCE_DIR}/include
|
||||
)
|
||||
|
||||
set(libraries
|
||||
${Boost_LIBRARIES}
|
||||
libclasp
|
||||
libclingo
|
||||
libgringo
|
||||
pthread
|
||||
)
|
||||
|
||||
add_library(${target} ${sources})
|
||||
if(ANTHEM_BUILD_STATIC)
|
||||
add_library(${target} STATIC ${sources})
|
||||
else()
|
||||
add_library(${target} ${sources})
|
||||
endif()
|
||||
|
||||
target_include_directories(${target} PUBLIC ${includes})
|
||||
target_link_libraries(${target} ${libraries})
|
||||
|
Loading…
Reference in New Issue
Block a user