diff --git a/CMakeLists.txt b/CMakeLists.txt index efd84d0f23e966e942f758123cd3bc0cee297a8d..fac894bb990490bc45a4de1877a1d9b072a1d658 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) +option(BUILD_SHARED_LIBRARY "Build using shared libraries" ON) set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) @@ -147,8 +148,8 @@ add_custom_command( ############################################################################### if("${CMAKE_BUILD_TYPE}" MATCHES "Debug") - add_library(caosdb_grpc SHARED ${GRPC_GENERATED}) - add_library(caosdb SHARED ${libcaosdb_INCL} ${libcaosdb_SRC}) + add_library(caosdb_grpc ${GRPC_GENERATED}) + add_library(caosdb ${libcaosdb_INCL} ${libcaosdb_SRC}) target_link_libraries(caosdb caosdb_grpc) target_link_libraries(caosdb_grpc ${CONAN_LIBS}) set(LIBCAOSDB caosdb caosdb_grpc) @@ -164,7 +165,7 @@ if("${CMAKE_BUILD_TYPE}" MATCHES "Debug") ) else() add_library(caosdb - SHARED ${libcaosdb_INCL} ${libcaosdb_SRC} ${GRPC_GENERATED}) + ${libcaosdb_INCL} ${libcaosdb_SRC} ${GRPC_GENERATED}) set(LIBCAOSDB caosdb) endif() target_link_libraries(caosdb @@ -179,7 +180,7 @@ target_include_directories(caosdb PUBLIC $<INSTALL_INTERFACE:include> ) -add_library(ccaosdb SHARED src/ccaosdb.cpp) +add_library(ccaosdb src/ccaosdb.cpp) target_link_libraries(ccaosdb ${LIBCAOSDB} ${CONAN_LIBS} diff --git a/include/caosdb/constants.h.in b/include/caosdb/constants.h.in index bfec36bfbebf91fcd3e9eed38dd9ff305afc7a74..72dc62a3d9a41849bddf43be93b001b2fcd938a9 100644 --- a/include/caosdb/constants.h.in +++ b/include/caosdb/constants.h.in @@ -26,18 +26,18 @@ namespace caosdb { #endif // clang-format off -const int LIBCAOSDB_VERSION_MAJOR = @libcaosdb_VERSION_MAJOR@; -const int LIBCAOSDB_VERSION_MINOR = @libcaosdb_VERSION_MINOR@; -const int LIBCAOSDB_VERSION_PATCH = @libcaosdb_VERSION_PATCH@; -const int COMPATIBLE_SERVER_VERSION_MAJOR = @libcaosdb_COMPATIBLE_SERVER_VERSION_MAJOR@; -const int COMPATIBLE_SERVER_VERSION_MINOR = @libcaosdb_COMPATIBLE_SERVER_VERSION_MINOR@; -const int COMPATIBLE_SERVER_VERSION_PATCH = @libcaosdb_COMPATIBLE_SERVER_VERSION_PATCH@; -const char* COMPATIBLE_SERVER_VERSION_PRE_RELEASE = "@libcaosdb_COMPATIBLE_SERVER_VERSION_PRE_RELEASE@"; +static const int LIBCAOSDB_VERSION_MAJOR = @libcaosdb_VERSION_MAJOR@; +static const int LIBCAOSDB_VERSION_MINOR = @libcaosdb_VERSION_MINOR@; +static const int LIBCAOSDB_VERSION_PATCH = @libcaosdb_VERSION_PATCH@; +static const int COMPATIBLE_SERVER_VERSION_MAJOR = @libcaosdb_COMPATIBLE_SERVER_VERSION_MAJOR@; +static const int COMPATIBLE_SERVER_VERSION_MINOR = @libcaosdb_COMPATIBLE_SERVER_VERSION_MINOR@; +static const int COMPATIBLE_SERVER_VERSION_PATCH = @libcaosdb_COMPATIBLE_SERVER_VERSION_PATCH@; +static const char* COMPATIBLE_SERVER_VERSION_PRE_RELEASE = "@libcaosdb_COMPATIBLE_SERVER_VERSION_PRE_RELEASE@"; /** * Precedence of configuration files from highest to lowest. */ -const char* LIBCAOSDB_CONFIGURATION_FILES_PRECEDENCE[] = { +static const char* LIBCAOSDB_CONFIGURATION_FILES_PRECEDENCE[] = { "$CAOSDB_CLIENT_CONFIGURATION", "caosdb_client.json", "caosdb-client.json",