From 3e4da876b3da3ff5211bdbf38c24354735058070 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Fri, 30 Apr 2021 18:02:20 +0200 Subject: [PATCH] Generalized build ID for all subprojects --- {plugins/editor/cmake => cmake}/GitBuildID.cmake | 0 plugins/editor/CMakeLists.txt | 14 +++----------- src/CMakeLists.txt | 13 +++++++++++++ .../editor => src/sfizz/git-build-id}/GitBuildId.h | 4 ++++ 4 files changed, 20 insertions(+), 11 deletions(-) rename {plugins/editor/cmake => cmake}/GitBuildID.cmake (100%) rename {plugins/editor/src/editor => src/sfizz/git-build-id}/GitBuildId.h (88%) diff --git a/plugins/editor/cmake/GitBuildID.cmake b/cmake/GitBuildID.cmake similarity index 100% rename from plugins/editor/cmake/GitBuildID.cmake rename to cmake/GitBuildID.cmake diff --git a/plugins/editor/CMakeLists.txt b/plugins/editor/CMakeLists.txt index a87d58bf..4eda6a9b 100644 --- a/plugins/editor/CMakeLists.txt +++ b/plugins/editor/CMakeLists.txt @@ -74,9 +74,7 @@ add_library(sfizz_editor STATIC EXCLUDE_FROM_ALL src/editor/layout/about.hpp src/editor/utility/vstgui_after.h src/editor/utility/vstgui_before.h - src/editor/GitBuildId.h - ${UI_FILES} - "${CMAKE_CURRENT_BINARY_DIR}/git-build-id/GitBuildId.c") + ${UI_FILES}) add_library(sfizz::editor ALIAS sfizz_editor) target_include_directories(sfizz_editor PUBLIC "src") target_link_libraries(sfizz_editor PUBLIC sfizz::messaging sfizz::plugins-common) @@ -138,11 +136,5 @@ if(NOT CMAKE_CROSSCOMPILING) endforeach() endif() -# git build identifier -add_custom_target(sfizz_editor_git_build_id - COMMAND "${CMAKE_COMMAND}" - "-DSOURCE_DIR=${PROJECT_SOURCE_DIR}" - "-DOUTPUT_FILE=${CMAKE_CURRENT_BINARY_DIR}/git-build-id/GitBuildId.c" - "-P" "${CMAKE_CURRENT_SOURCE_DIR}/cmake/GitBuildID.cmake" - BYPRODUCTS "git-build-id/GitBuildId.c") -add_dependencies(sfizz_editor sfizz_editor_git_build_id) +# Git build identifier +target_link_libraries(sfizz_editor PRIVATE sfizz-git-build-id) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ea627f7d..000c1eaa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -351,6 +351,19 @@ endif() # Generic library alias add_library(sfizz::sfizz ALIAS sfizz_static) +# Git build identifier +add_custom_target(sfizz-generate-git-build-id + COMMAND "${CMAKE_COMMAND}" + "-DSOURCE_DIR=${PROJECT_SOURCE_DIR}" + "-DOUTPUT_FILE=${PROJECT_BINARY_DIR}/git-build-id/GitBuildId.c" + "-P" "${PROJECT_SOURCE_DIR}/cmake/GitBuildID.cmake" + BYPRODUCTS "${PROJECT_BINARY_DIR}/git-build-id/GitBuildId.c") +add_library(sfizz-git-build-id STATIC EXCLUDE_FROM_ALL + "sfizz/git-build-id/GitBuildId.h" + "${PROJECT_BINARY_DIR}/git-build-id/GitBuildId.c") +target_include_directories(sfizz-git-build-id PUBLIC "sfizz/git-build-id") +add_dependencies(sfizz-git-build-id sfizz-generate-git-build-id) + # Preserve generated files (Faust) set_directory_properties(PROPERTIES CLEAN_NO_CUSTOM TRUE) diff --git a/plugins/editor/src/editor/GitBuildId.h b/src/sfizz/git-build-id/GitBuildId.h similarity index 88% rename from plugins/editor/src/editor/GitBuildId.h rename to src/sfizz/git-build-id/GitBuildId.h index 1d2e3edf..827f93a2 100644 --- a/plugins/editor/src/editor/GitBuildId.h +++ b/src/sfizz/git-build-id/GitBuildId.h @@ -6,7 +6,9 @@ #pragma once +#if defined(__cplusplus) extern "C" { +#endif /** * @brief Short identifier of the current head commit. @@ -14,4 +16,6 @@ extern "C" { */ extern const char* GitBuildId; +#if defined(__cplusplus) } // extern "C" +#endif