53 lines
1.4 KiB
CMake
53 lines
1.4 KiB
CMake
|
|
#
|
|
# Get cmake-init latest commit SHA on master
|
|
#
|
|
|
|
if(NOT APPLIED_CMAKE_INIT_BRANCH)
|
|
set(APPLIED_CMAKE_INIT_BRANCH "master")
|
|
endif ()
|
|
|
|
file(DOWNLOAD
|
|
"https://api.github.com/repos/cginternals/cmake-init/commits/${APPLIED_CMAKE_INIT_BRANCH}"
|
|
"${PROJECT_BINARY_DIR}/cmake-init.github.data"
|
|
)
|
|
file(READ
|
|
"${PROJECT_BINARY_DIR}/cmake-init.github.data"
|
|
CMAKE_INIT_INFO
|
|
)
|
|
|
|
string(REGEX MATCH
|
|
"\"sha\": \"([0-9a-f]+)\","
|
|
CMAKE_INIT_SHA
|
|
${CMAKE_INIT_INFO})
|
|
|
|
string(SUBSTRING
|
|
${CMAKE_INIT_SHA}
|
|
8
|
|
40
|
|
CMAKE_INIT_SHA
|
|
)
|
|
|
|
#
|
|
# Get latest cmake-init commit on this repository
|
|
#
|
|
|
|
# APPLIED_CMAKE_INIT_SHA can be set by parent script
|
|
if(NOT APPLIED_CMAKE_INIT_SHA)
|
|
# [TODO]: Get from git commit list (see cmake_init/source/scripts/check_template.sh)
|
|
set(APPLIED_CMAKE_INIT_SHA "")
|
|
endif ()
|
|
|
|
if("${APPLIED_CMAKE_INIT_SHA}" STREQUAL "")
|
|
message(WARNING
|
|
"No cmake-init version detected, could not verify up-to-dateness. "
|
|
"Set the cmake-init version by defining a META_CMAKE_INIT_SHA for your project."
|
|
)
|
|
return()
|
|
endif()
|
|
|
|
if(${APPLIED_CMAKE_INIT_SHA} STREQUAL ${CMAKE_INIT_SHA})
|
|
message(STATUS "cmake-init template is up-to-date (${CMAKE_INIT_SHA})")
|
|
else()
|
|
message(STATUS "cmake-init template needs an update https://github.com/cginternals/cmake-init/compare/${APPLIED_CMAKE_INIT_SHA}...${APPLIED_CMAKE_INIT_BRANCH}")
|
|
endif()
|