CmakeLists.txt: Added version-number and debug suffixes + SPDLOG_BUILD_SHARED property

This commit is contained in:
gabime 2019-09-08 00:42:23 +03:00
parent 1857a44c7c
commit 45a18a61c6
2 changed files with 16 additions and 4 deletions

View File

@ -41,6 +41,11 @@ if (NOT DEFINED SPDLOG_MASTER_PROJECT)
endif() endif()
endif () endif ()
# build shared option
if(NOT WIN32)
option(SPDLOG_BUILD_SHARED "Build shared library" OFF)
endif()
# example options # example options
option(SPDLOG_BUILD_EXAMPLE "Build example" ${SPDLOG_MASTER_PROJECT}) option(SPDLOG_BUILD_EXAMPLE "Build example" ${SPDLOG_MASTER_PROJECT})
option(SPDLOG_BUILD_EXAMPLE_HO "Build header only example" OFF) option(SPDLOG_BUILD_EXAMPLE_HO "Build header only example" OFF)
@ -81,11 +86,14 @@ set(SPDLOG_SRCS
src/file_sinks.cpp src/file_sinks.cpp
src/async.cpp) src/async.cpp)
if (BUILD_SHARED_LIBS AND WIN32)
message(WARNING "shared libs is not supported in spdlog - building static instead") if (SPDLOG_BUILD_SHARED)
add_library(spdlog STATIC ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS}) if(WIN32)
message(FATAL_ERROR "spdlog shared lib is not yet supported under windows")
endif()
add_library(spdlog SHARED ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS})
else() else()
add_library(spdlog ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS}) add_library(spdlog STATIC ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS})
endif() endif()
add_library(spdlog::spdlog ALIAS spdlog) add_library(spdlog::spdlog ALIAS spdlog)
@ -97,6 +105,9 @@ target_include_directories(spdlog PUBLIC
target_link_libraries(spdlog PUBLIC Threads::Threads) target_link_libraries(spdlog PUBLIC Threads::Threads)
spdlog_enable_warnings(spdlog) spdlog_enable_warnings(spdlog)
set_target_properties(spdlog PROPERTIES VERSION ${SPDLOG_VERSION} SOVERSION ${SPDLOG_VERSION_MAJOR})
set_target_properties(spdlog PROPERTIES DEBUG_POSTFIX d)
#--------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------
# Header only version # Header only version
#--------------------------------------------------------------------------------------- #---------------------------------------------------------------------------------------

View File

@ -19,6 +19,7 @@ function(spdlog_extract_version)
endif() endif()
set(ver_patch ${CMAKE_MATCH_1}) set(ver_patch ${CMAKE_MATCH_1})
set(SPDLOG_VERSION_MAJOR ${ver_major} PARENT_SCOPE)
set (SPDLOG_VERSION "${ver_major}.${ver_minor}.${ver_patch}" PARENT_SCOPE) set (SPDLOG_VERSION "${ver_major}.${ver_minor}.${ver_patch}" PARENT_SCOPE)
endfunction() endfunction()