From d4a13bd66944ca851f3451cdc1c76d001521be94 Mon Sep 17 00:00:00 2001 From: staphen Date: Tue, 14 Dec 2021 14:39:38 -0500 Subject: [PATCH] Improve CMake logic for version suffix --- CMakeLists.txt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 58d4912f9..32b632b98 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,11 +99,14 @@ if(NOT VERSION_NUM) if (NOT "${VERSION_NUM}" STREQUAL "") string(REGEX MATCH "([0-9]+\\.[0-9]+\\.[0-9]+)" VERSION_NUM ${VERSION_NUM} ) endif() - get_git_commit_hash(GIT_COMMIT_HASH) if(NOT VERSION_SUFFIX) - set(VERSION_SUFFIX "$<$>:-${GIT_COMMIT_HASH}>") + get_git_commit_hash(GIT_COMMIT_HASH) + set(VERSION_SUFFIX "${GIT_COMMIT_HASH}") endif() endif() +if(NOT VERSION_SUFFIX) + set(VERSION_SUFFIX "debug") +endif() if(VERSION_NUM MATCHES untagged) project(DevilutionX LANGUAGES C CXX) else() @@ -111,6 +114,7 @@ else() VERSION ${VERSION_NUM} LANGUAGES C CXX) endif() +set(PROJECT_VERSION_WITH_SUFFIX "${PROJECT_VERSION}$<$:-${VERSION_SUFFIX}>") # Platform definitions can override options and we want `cmake_dependent_option` to see the effects, # so ideally we would include Platforms.cmake before definining the options. @@ -458,7 +462,7 @@ endif() file(GENERATE OUTPUT ${CONFIG_PATH} CONTENT "#pragma once #define PROJECT_NAME \"${PROJECT_NAME}\" -#define PROJECT_VERSION \"${PROJECT_VERSION}${VERSION_SUFFIX}\" +#define PROJECT_VERSION \"${PROJECT_VERSION_WITH_SUFFIX}\" #define PROJECT_VERSION_MAJOR ${PROJECT_VERSION_MAJOR} #define PROJECT_VERSION_MINOR ${PROJECT_VERSION_MINOR} #define PROJECT_VERSION_PATCH ${PROJECT_VERSION_PATCH}