From b2a93eb26751fa7075c1255956b5b2f9f674e50e Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Thu, 27 Jun 2024 00:28:40 +0900 Subject: [PATCH] chore: auto extract version string in cmake --- CMakeLists.txt | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2e56233..dcfc83a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,18 @@ cmake_minimum_required(VERSION 3.16) -project(toml11 LANGUAGES CXX VERSION 4.0.0) + +# project_source_dir has not been set yet +file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/include/toml11/version.hpp" TOML11_MAJOR_VERSION_STRING + REGEX "#define TOML11_VERSION_MAJOR ([0-9]+)") +file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/include/toml11/version.hpp" TOML11_MINOR_VERSION_STRING + REGEX "#define TOML11_VERSION_MINOR ([0-9]+)") +file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/include/toml11/version.hpp" TOML11_PATCH_VERSION_STRING + REGEX "#define TOML11_VERSION_PATCH ([0-9]+)") + +string(REGEX REPLACE "#define TOML11_VERSION_MAJOR ([0-9]+)" "\\1" TOML11_VERSION_MAJOR "${TOML11_MAJOR_VERSION_STRING}") +string(REGEX REPLACE "#define TOML11_VERSION_MINOR ([0-9]+)" "\\1" TOML11_VERSION_MINOR "${TOML11_MINOR_VERSION_STRING}") +string(REGEX REPLACE "#define TOML11_VERSION_PATCH ([0-9]+)" "\\1" TOML11_VERSION_PATCH "${TOML11_PATCH_VERSION_STRING}") + +project(toml11 LANGUAGES CXX VERSION "${TOML11_VERSION_MAJOR}.${TOML11_VERSION_MINOR}.${TOML11_VERSION_PATCH}") include(CMakeDependentOption) include(CTest)