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 ()
# build shared option
if(NOT WIN32)
option(SPDLOG_BUILD_SHARED "Build shared library" OFF)
endif()
# example options
option(SPDLOG_BUILD_EXAMPLE "Build example" ${SPDLOG_MASTER_PROJECT})
option(SPDLOG_BUILD_EXAMPLE_HO "Build header only example" OFF)
@ -81,11 +86,14 @@ set(SPDLOG_SRCS
src/file_sinks.cpp
src/async.cpp)
if (BUILD_SHARED_LIBS AND WIN32)
message(WARNING "shared libs is not supported in spdlog - building static instead")
add_library(spdlog STATIC ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS})
if (SPDLOG_BUILD_SHARED)
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()
add_library(spdlog ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS})
add_library(spdlog STATIC ${SPDLOG_SRCS} ${SPDLOG_ALL_HEADERS})
endif()
add_library(spdlog::spdlog ALIAS spdlog)
@ -97,6 +105,9 @@ target_include_directories(spdlog PUBLIC
target_link_libraries(spdlog PUBLIC Threads::Threads)
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
#---------------------------------------------------------------------------------------

View File

@ -19,6 +19,7 @@ function(spdlog_extract_version)
endif()
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)
endfunction()