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)
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
###########################################
### Special treatment for "Windows",
### a proprietary OS by "MicroSoft".
###########################################
IF (WIN32)
cmake_minimum_required(VERSION 3.15)
cmake_policy(SET CMP0091 NEW)
......@@ -190,11 +194,25 @@ target_include_directories(caosdb PUBLIC
$<INSTALL_INTERFACE:include>
)
add_library(ccaosdb src/ccaosdb.cpp)
target_link_libraries(ccaosdb
${LIBCAOSDB}
${CONAN_LIBS}
)
add_library(ccaosdb SHARED src/ccaosdb.cpp)
IF (WIN32)
set_target_properties(caosdb PROPERTIES
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)
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