From c0f74e4c8918c940fe148766ff1faddfff6d65b0 Mon Sep 17 00:00:00 2001 From: Martchus Date: Sun, 21 Oct 2018 20:24:55 +0200 Subject: [PATCH] Add BOOST_IOSTREAMS_DYN_LINK to compile defs if linking dynamically against Boost.Iostreams --- CMakeLists.txt | 1 + cmake/modules/3rdParty.cmake | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 45bc39e..ac5c9d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,6 +164,7 @@ if(USE_NATIVE_FILE_BUFFER) ) else() message(STATUS "Using boost::iostreams::stream_buffer for NativeFileStream") + set(boost_iostreams_DYNAMIC_COMPILE_DEFINITIONS BOOST_IOSTREAMS_DYN_LINK) use_external_library(boost_iostreams AUTO_LINKAGE REQUIRED) set_property( SOURCE io/nativefilestream.cpp diff --git a/cmake/modules/3rdParty.cmake b/cmake/modules/3rdParty.cmake index 39c7eae..b64bdb5 100644 --- a/cmake/modules/3rdParty.cmake +++ b/cmake/modules/3rdParty.cmake @@ -57,6 +57,9 @@ macro(link_against_library_varnames NAME LINKAGE REQUIRED PRIVATE_LIBRARIES_VARN list(APPEND ADDITIONAL_STATIC_INCLUDE_DIRS ${${NAME}_STATIC_INCLUDE_DIR}) message(STATUS "Adding include path for ${NAME} to ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}: ${${NAME}_STATIC_INCLUDE_DIR}") endif() + if(${NAME}_STATIC_COMPILE_DEFINITIONS) + list(APPEND META_PRIVATE_STATIC_LIB_COMPILE_DEFINITIONS ${${NAME}_STATIC_COMPILE_DEFINITIONS}) + endif() if(${${NAME}_STATIC_LIB} IN_LIST META_PUBLIC_STATIC_LIB_DEPENDS OR ${NAME} IN_LIST META_PUBLIC_STATIC_LIB_DEPENDS) list(APPEND ${PUBLIC_LIBRARIES_VARNAME} ${${NAME}_STATIC_LIB}) @@ -88,6 +91,9 @@ macro(link_against_library_varnames NAME LINKAGE REQUIRED PRIVATE_LIBRARIES_VARN list(APPEND ADDITIONAL_SHARED_INCLUDE_DIRS ${${NAME}_DYNAMIC_INCLUDE_DIR}) message(STATUS "Adding include path for ${NAME} to ${TARGET_PREFIX}${META_PROJECT_NAME}${TARGET_SUFFIX}: ${${NAME}_DYNAMIC_INCLUDE_DIR}") endif() + if(${NAME}_DYNAMIC_COMPILE_DEFINITIONS) + list(APPEND META_PRIVATE_SHARED_LIB_COMPILE_DEFINITIONS ${${NAME}_DYNAMIC_COMPILE_DEFINITIONS}) + endif() if(${${NAME}_DYNAMIC_LIB} IN_LIST META_PUBLIC_SHARED_LIB_DEPENDS OR ${NAME} IN_LIST META_PUBLIC_SHARED_LIB_DEPENDS) list(APPEND ${PUBLIC_LIBRARIES_VARNAME} ${${NAME}_DYNAMIC_LIB})