diff options
author | kuvaus <22169537+kuvaus@users.noreply.github.com> | 2023-05-03 03:43:43 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-03 02:43:43 +0200 |
commit | 9daff419f6be818595ddbea293a0ea7283af726e (patch) | |
tree | 1772ef86f0736104b252d38af9f46da1efd76f60 /CMakeLists.txt | |
parent | bf4b22ffe433dc5e2fba7588c4485a7e51b1a30d (diff) |
fix build-info.h for git submodules (#1289)
* make git build info work with submodules
---------
Co-authored-by: Green Sky <green@g-s.xyz>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 53d48a6..48e3238 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,21 +76,19 @@ option(LLAMA_BUILD_EXAMPLES "llama: build examples" ${LLAMA_STANDALONE}) # Build info header # -# Write header template to binary dir to keep source directory clean -file(WRITE "${CMAKE_BINARY_DIR}/BUILD_INFO.h.in" "\ -#ifndef BUILD_INFO_H\n\ -#define BUILD_INFO_H\n\ -\n\ -#define BUILD_NUMBER @BUILD_NUMBER@\n\ -#define BUILD_COMMIT \"@BUILD_COMMIT@\"\n\ -\n\ -#endif // BUILD_INFO_H\n\ -") - # Generate initial build-info.h include(${CMAKE_CURRENT_SOURCE_DIR}/scripts/build-info.cmake) if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git") + set(GIT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/.git") + + # Is git submodule + if(NOT IS_DIRECTORY "${GIT_DIR}") + file(READ ${GIT_DIR} REAL_GIT_DIR_LINK) + string(REGEX REPLACE "gitdir: (.*)\n$" "\\1" REAL_GIT_DIR ${REAL_GIT_DIR_LINK}) + set(GIT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${REAL_GIT_DIR}") + endif() + # Add a custom target for build-info.h add_custom_target(BUILD_INFO ALL DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/build-info.h") @@ -100,7 +98,7 @@ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git") COMMENT "Generating build details from Git" COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_SOURCE_DIR}/scripts/build-info.cmake" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/.git/index" + DEPENDS "${GIT_DIR}/index" VERBATIM ) else() |