Skip to content
Snippets Groups Projects
Verified Commit dba650f6 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP mixed shared/static setup

parent 11fc7fba
Branches
Tags
2 merge requests!33Release 0.1,!32fix windows build
Pipeline #15640 failed
...@@ -43,6 +43,10 @@ option(BUILD_SHARED_LIBS "Build using shared libraries" ON) ...@@ -43,6 +43,10 @@ option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
###########################################
### Special treatment for "Windows",
### a proprietary OS by "MicroSoft".
###########################################
IF (WIN32) IF (WIN32)
cmake_minimum_required(VERSION 3.15) cmake_minimum_required(VERSION 3.15)
cmake_policy(SET CMP0091 NEW) cmake_policy(SET CMP0091 NEW)
...@@ -190,11 +194,25 @@ target_include_directories(caosdb PUBLIC ...@@ -190,11 +194,25 @@ target_include_directories(caosdb PUBLIC
$<INSTALL_INTERFACE:include> $<INSTALL_INTERFACE:include>
) )
add_library(ccaosdb src/ccaosdb.cpp) add_library(ccaosdb SHARED src/ccaosdb.cpp)
target_link_libraries(ccaosdb IF (WIN32)
${LIBCAOSDB} set_target_properties(caosdb PROPERTIES
${CONAN_LIBS} LINK_FLAGS "/WHOLEARCHIVE"
) )
target_link_libraries(ccaosdb
${LIBCAOSDB}
${CONAN_LIBS}
)
ELSE()
set_target_properties(caosdb PROPERTIES
COMPILE_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
target_link_libraries(ccaosdb
"-Wl,--whole-archive"
${LIBCAOSDB}
"-Wl,--no-whole-archive"
${CONAN_LIBS}
)
ENDIF()
add_executable(ccaosdbcli EXCLUDE_FROM_ALL src/ccaosdbcli.c) add_executable(ccaosdbcli EXCLUDE_FROM_ALL src/ccaosdbcli.c)
target_include_directories(ccaosdbcli SYSTEM PUBLIC target_include_directories(ccaosdbcli SYSTEM PUBLIC
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment