diff --git a/CMakeLists.txt b/CMakeLists.txt index b8517ea6..b53071ea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -242,9 +242,6 @@ if (BUILD_SHARED_LIBS) endif () add_library(spdlog SHARED ${VERSION_RC}) target_compile_definitions(spdlog PUBLIC SPDLOG_SHARED_LIB) - set_target_properties(spdlog PROPERTIES - CXX_VISIBILITY_PRESET hidden - VISIBILITY_INLINES_HIDDEN ON) if (MSVC) # disable dlls related warnings on msvc @@ -254,6 +251,9 @@ if (BUILD_SHARED_LIBS) else () add_library(spdlog STATIC) endif () + +set_target_properties(spdlog PROPERTIES CXX_VISIBILITY_PRESET hidden VISIBILITY_INLINES_HIDDEN ON) + add_library(spdlog::spdlog ALIAS spdlog) target_sources(spdlog PRIVATE ${SPDLOG_SRCS}) target_sources( diff --git a/include/spdlog/common.h b/include/spdlog/common.h index 07f09a63..b34fd79f 100644 --- a/include/spdlog/common.h +++ b/include/spdlog/common.h @@ -29,7 +29,11 @@ #define SPDLOG_API __attribute__((visibility("default"))) #endif #else // !defined(SPDLOG_SHARED_LIB) - #define SPDLOG_API + #if defined(_WIN32) + #define SPDLOG_API + #else + #define SPDLOG_API __attribute__((visibility("default"))) + #endif #endif #define SPDLOG_FMT_RUNTIME(format_string) fmt::runtime(format_string)