mirror of
https://github.com/gabime/spdlog.git
synced 2024-11-15 16:35:45 +08:00
CMake use extract version from version.h
This commit is contained in:
parent
76fc166e11
commit
5743adc467
@ -2,8 +2,17 @@
|
|||||||
# Distributed under the MIT License (http://opensource.org/licenses/MIT)
|
# Distributed under the MIT License (http://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 3.1)
|
cmake_minimum_required(VERSION 3.1)
|
||||||
project(spdlog VERSION 1.3.1 LANGUAGES CXX)
|
|
||||||
|
|
||||||
|
#---------------------------------------------------------------------------------------
|
||||||
|
# Start spdlog project
|
||||||
|
#---------------------------------------------------------------------------------------
|
||||||
|
include(cmake/version.cmake)
|
||||||
|
project(spdlog VERSION ${SPDLOG_VERSION} LANGUAGES CXX)
|
||||||
|
message(STATUS "Build spdlog: ${SPDLOG_VERSION}")
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
|
include(cmake/ide.cmake)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------
|
||||||
# Set default build to release
|
# Set default build to release
|
||||||
@ -40,12 +49,12 @@ option(SPDLOG_FMT_EXTERNAL "Use external fmt library instead of bundled" OFF)
|
|||||||
|
|
||||||
message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
|
message(STATUS "Build type: " ${CMAKE_BUILD_TYPE})
|
||||||
|
|
||||||
|
|
||||||
find_package(Threads REQUIRED)
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
#---------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------
|
||||||
# Static library version
|
# Static library version
|
||||||
#---------------------------------------------------------------------------------------
|
#---------------------------------------------------------------------------------------
|
||||||
include(cmake/ide.cmake)
|
|
||||||
add_library(spdlog STATIC src/spdlog.cpp ${SPDLOG_ALL_HEADERS})
|
add_library(spdlog STATIC src/spdlog.cpp ${SPDLOG_ALL_HEADERS})
|
||||||
add_library(spdlog::spdlog ALIAS spdlog)
|
add_library(spdlog::spdlog ALIAS spdlog)
|
||||||
|
|
||||||
|
16
cmake/version.cmake
Normal file
16
cmake/version.cmake
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#---------------------------------------------------------------------------------------
|
||||||
|
# Get spdlog version from include/spdlog/version.h
|
||||||
|
#---------------------------------------------------------------------------------------
|
||||||
|
file(READ "${CMAKE_CURRENT_LIST_DIR}/../include/spdlog/version.h" SPDLOG_VERSION_FILE)
|
||||||
|
string(REGEX MATCH "SPDLOG_VER_MAJOR ([0-9]+)" _ "${SPDLOG_VERSION_FILE}")
|
||||||
|
set(ver_major ${CMAKE_MATCH_1})
|
||||||
|
|
||||||
|
string(REGEX MATCH "SPDLOG_VER_MINOR ([0-9]+)" _ "${SPDLOG_VERSION_FILE}")
|
||||||
|
set(ver_minor ${CMAKE_MATCH_1})
|
||||||
|
string(REGEX MATCH "SPDLOG_VER_PATCH ([0-9]+)" _ "${SPDLOG_VERSION_FILE}")
|
||||||
|
set(ver_patch ${CMAKE_MATCH_1})
|
||||||
|
|
||||||
|
if (NOT ver_major OR NOT ver_minor OR NOT ver_patch)
|
||||||
|
message(FATAL_ERROR "Could not extract valid version from spdlog/version.h")
|
||||||
|
endif()
|
||||||
|
set (SPDLOG_VERSION "${ver_major}.${ver_minor}.${ver_patch}")
|
Loading…
Reference in New Issue
Block a user