Skip to content

Commit

Permalink
Revert "Changed GitBuildID.cmake to work as function"
Browse files Browse the repository at this point in the history
This reverts commit a2f62ea.
  • Loading branch information
redtide committed Jan 7, 2024
1 parent a2f62ea commit a927c59
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 31 deletions.
38 changes: 17 additions & 21 deletions cmake/GitBuildID.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,25 @@
# OUTPUT_FILE The file which gets written
# PREFIX An optional prefix for the constant name

find_package(Git QUIET)
get_filename_component(OUTPUT_NAME "${OUTPUT_FILE}" NAME)
get_filename_component(OUTPUT_DIR "${OUTPUT_FILE}" DIRECTORY)

function(make_git_build_id)
set(oneValueArgs SOURCE_DIR OUTPUT_FILE PREFIX)
cmake_parse_arguments(GBI "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
message("(Git Build ID) Generating ${OUTPUT_NAME}")

get_filename_component(OUTPUT_NAME "${GBI_OUTPUT_FILE}" NAME)
get_filename_component(OUTPUT_DIR "${GBI_OUTPUT_FILE}" DIRECTORY)
message("(Git Build ID) Generating ${OUTPUT_NAME}")
find_package(Git QUIET)

file(MAKE_DIRECTORY "${OUTPUT_DIR}")
file(MAKE_DIRECTORY "${OUTPUT_DIR}")

if(GIT_FOUND)
execute_process(COMMAND "${GIT_EXECUTABLE}" "rev-parse" "--short" "HEAD"
WORKING_DIRECTORY "${GBI_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_COMMIT_ID
OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
set(GIT_COMMIT_ID "")
message("(Git Build ID) Error: could not find Git")
endif()
if(GIT_FOUND)
execute_process(COMMAND "${GIT_EXECUTABLE}" "rev-parse" "--short" "HEAD"
WORKING_DIRECTORY "${SOURCE_DIR}"
OUTPUT_VARIABLE GIT_COMMIT_ID
OUTPUT_STRIP_TRAILING_WHITESPACE)
else()
set(GIT_COMMIT_ID "")
message("(Git Build ID) Error: could not find Git")
endif()

file(WRITE "${GBI_OUTPUT_FILE}.temp" "const char* ${GBI_PREFIX}GitBuildId = \"${GIT_COMMIT_ID}\";\n")
execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "copy_if_different" "${GBI_OUTPUT_FILE}.temp" "${GBI_OUTPUT_FILE}")
file(REMOVE "${GBI_OUTPUT_FILE}.temp")
endfunction()
file(WRITE "${OUTPUT_FILE}.temp" "const char* ${PREFIX}GitBuildId = \"${GIT_COMMIT_ID}\";\n")
execute_process(COMMAND "${CMAKE_COMMAND}" "-E" "copy_if_different" "${OUTPUT_FILE}.temp" "${OUTPUT_FILE}")
file(REMOVE "${OUTPUT_FILE}.temp")
20 changes: 10 additions & 10 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -358,17 +358,17 @@ endif()
add_library(sfizz::sfizz ALIAS sfizz_static)

# Git build identifier
include(GitBuildID)
make_git_build_id(
SOURCE_DIR "${PROJECT_SOURCE_DIR}"
OUTPUT_FILE "${PROJECT_BINARY_DIR}/git-build-id/GitBuildId.c"
)
add_library(sfizz_git_build_id STATIC EXCLUDE_FROM_ALL
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")
target_link_libraries(sfizz_static PRIVATE sfizz_git_build_id)
"${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)
Expand Down

0 comments on commit a927c59

Please sign in to comment.