diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a617eed5c..ff85c48f8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -85,9 +85,10 @@ add_library(digidocpp_tsl STATIC ) set_target_properties(digidocpp_util digidocpp_tsl PROPERTIES - COMPILE_DEFINITIONS digidocpp_EXPORTS POSITION_INDEPENDENT_CODE YES ) +target_compile_definitions(digidocpp_tsl PRIVATE $,digidocpp_EXPORTS,digidocpp_STATIC>) +target_compile_definitions(digidocpp_util PRIVATE $,digidocpp_EXPORTS,digidocpp_STATIC>) target_include_directories(digidocpp_tsl PUBLIC $) @@ -261,8 +262,9 @@ if(SWIG_FOUND) endif() endif() -if(NOT ${BUILD_SHARED_LIBS}) +if(NOT BUILD_SHARED_LIBS) set(STATIC_TARGETS minizip digidocpp_tsl digidocpp_util) + target_compile_definitions(digidocpp PUBLIC digidocpp_STATIC) endif() install(TARGETS digidocpp ${STATIC_TARGETS} @@ -398,9 +400,6 @@ if( FRAMEWORK ) COMMAND zip -r ${PROJECT_BINARY_DIR}/libdigidocpp-dbg_${VERSION}$ENV{VER_SUFFIX}.zip libdigidocpp.dSYM ) else() - if(NOT ${BUILD_SHARED_LIBS}) - install( TARGETS minizip digidocpp_tsl digidocpp_util DESTINATION ${CMAKE_INSTALL_LIBDIR} ) - endif() if( BUILD_TOOLS ) install( TARGETS digidoc-tool DESTINATION ${CMAKE_INSTALL_BINDIR} ) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/digidoc-tool.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 ) diff --git a/src/Exports.h b/src/Exports.h index 6bbc7bb85..e1466ef66 100644 --- a/src/Exports.h +++ b/src/Exports.h @@ -21,7 +21,9 @@ #ifdef WIN32 #include - #ifdef digidocpp_EXPORTS + #ifdef digidocpp_STATIC + #define DIGIDOCPP_EXPORT + #elifdef digidocpp_EXPORTS #define DIGIDOCPP_EXPORT __declspec(dllexport) #else #define DIGIDOCPP_EXPORT __declspec(dllimport)