summaryrefslogtreecommitdiffhomepage
path: root/cmake/opentrack-version.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/opentrack-version.cmake')
-rw-r--r--cmake/opentrack-version.cmake33
1 files changed, 12 insertions, 21 deletions
diff --git a/cmake/opentrack-version.cmake b/cmake/opentrack-version.cmake
index 9cd597d3..0ff516f2 100644
--- a/cmake/opentrack-version.cmake
+++ b/cmake/opentrack-version.cmake
@@ -1,3 +1,4 @@
+include_guard(GLOBAL)
include(GetGitRevisionDescription)
find_package(Git QUIET)
@@ -5,41 +6,31 @@ if(GIT_FOUND)
git_describe(OPENTRACK_COMMIT --tags --always)
endif()
-unset(_build_type)
-if(CMAKE_BUILD_TYPE)
- string(TOUPPER ${CMAKE_BUILD_TYPE} _build_type)
- if (NOT _build_type STREQUAL "DEBUG")
- unset(_build_type)
- else()
- set(_build_type "-${_build_type}")
- endif()
-endif()
-
-file(WRITE ${CMAKE_BINARY_DIR}/opentrack-version.h "#define OPENTRACK_VERSION \"${OPENTRACK_COMMIT}${_build_type}\"")
+file(WRITE ${CMAKE_BINARY_DIR}/opentrack-version.hxx "#define OPENTRACK_VERSION \"${OPENTRACK_COMMIT}\"")
-set(version-string "
+set(version-string "\
#ifdef __cplusplus
extern \"C\"
#else
extern
#endif
-const char* opentrack_version;
-
-const char* opentrack_version = \"${OPENTRACK_COMMIT}${_build_type}\";
+const char* const opentrack_version;
+const char* const opentrack_version = \"${OPENTRACK_COMMIT}\";
")
+set(file "${CMAKE_CURRENT_BINARY_DIR}/version.cpp")
set(crapola-ver)
-if(EXISTS ${CMAKE_BINARY_DIR}/version.c)
- file(READ ${CMAKE_BINARY_DIR}/version.c crapola-ver)
+if(EXISTS "${file}")
+ file(READ "${file}" crapola-ver)
endif()
if(NOT (crapola-ver STREQUAL version-string))
- file(WRITE ${CMAKE_BINARY_DIR}/version.c "${version-string}")
+ file(WRITE "${file}" "${version-string}")
endif()
-add_library(opentrack-version STATIC ${CMAKE_BINARY_DIR}/version.c)
+add_library(opentrack-version STATIC "${file}")
+
if(NOT MSVC)
- set_property(TARGET opentrack-version APPEND_STRING PROPERTY COMPILE_FLAGS "-fno-lto")
+ target_compile_options(opentrack-version PRIVATE -fno-lto)
endif()
-otr_compat(opentrack-version)