From 19656a18efb0eecff5a555927597a11f20d03c62 Mon Sep 17 00:00:00 2001 From: flagarde Date: Wed, 1 Feb 2023 02:11:55 +0100 Subject: [PATCH 1/3] Allow to use FetchContent --- CMakeLists.txt | 20 ++++++++++++++++++++ cmake/CPM.cmake | 6 +++++- 2 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..0e9a4569 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.14 FATAL_ERROR) + +find_package(Git REQUIRED QUIET) + +if(GIT_EXECUTABLE) + execute_process( + COMMAND ${GIT_EXECUTABLE} tag --points-at HEAD + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + OUTPUT_VARIABLE GIT_DESCRIBE_VERSION + RESULT_VARIABLE GIT_DESCRIBE_ERROR_CODE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(NOT GIT_DESCRIBE_ERROR_CODE) + string(SUBSTRING ${GIT_DESCRIBE_VERSION} 1 -1 GIT_DESCRIBE_VERSION) + endif() +endif() + +project(CPM VERSION "${GIT_DESCRIBE_VERSION}" LANGUAGES NONE) + +include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/CPM.cmake") diff --git a/cmake/CPM.cmake b/cmake/CPM.cmake index 60b8fd6c..9d42d3cc 100644 --- a/cmake/CPM.cmake +++ b/cmake/CPM.cmake @@ -42,7 +42,11 @@ if(NOT COMMAND cpm_message) endfunction() endif() -set(CURRENT_CPM_VERSION 1.0.0-development-version) +if(${PROJECT_NAME} STREQUAL "CPM") + set(CURRENT_CPM_VERSION ${PROJECT_VERSION}) +else() + set(CURRENT_CPM_VERSION 1.0.0-development-version) +endif() get_filename_component(CPM_CURRENT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}" REALPATH) if(CPM_DIRECTORY) From 7ddf60b6c01d44641d2f2b0ce5b1179023ead937 Mon Sep 17 00:00:00 2001 From: flagarde Date: Wed, 1 Feb 2023 02:24:19 +0100 Subject: [PATCH 2/3] Allow to use FetchContent --- CMakeLists.txt | 13 ++++++++----- cmake/CPM.cmake | 4 +--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e9a4569..94819bb6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,19 +2,22 @@ cmake_minimum_required(VERSION 3.14 FATAL_ERROR) find_package(Git REQUIRED QUIET) +project(CPM LANGUAGES NONE) + if(GIT_EXECUTABLE) + # Generate a git-describe version string from Git repository tags execute_process( COMMAND ${GIT_EXECUTABLE} tag --points-at HEAD WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - OUTPUT_VARIABLE GIT_DESCRIBE_VERSION + OUTPUT_VARIABLE CURRENT_CPM_VERSION RESULT_VARIABLE GIT_DESCRIBE_ERROR_CODE OUTPUT_STRIP_TRAILING_WHITESPACE ) - if(NOT GIT_DESCRIBE_ERROR_CODE) - string(SUBSTRING ${GIT_DESCRIBE_VERSION} 1 -1 GIT_DESCRIBE_VERSION) + if(NOT GIT_DESCRIBE_ERROR_CODE AND NOT CURRENT_CPM_VERSION STREQUAL "") + string(SUBSTRING ${CURRENT_CPM_VERSION} 1 -1 CURRENT_CPM_VERSION) + else() + set(CURRENT_CPM_VERSION 1.0.0-development-version) endif() endif() -project(CPM VERSION "${GIT_DESCRIBE_VERSION}" LANGUAGES NONE) - include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/CPM.cmake") diff --git a/cmake/CPM.cmake b/cmake/CPM.cmake index 9d42d3cc..6db29283 100644 --- a/cmake/CPM.cmake +++ b/cmake/CPM.cmake @@ -42,9 +42,7 @@ if(NOT COMMAND cpm_message) endfunction() endif() -if(${PROJECT_NAME} STREQUAL "CPM") - set(CURRENT_CPM_VERSION ${PROJECT_VERSION}) -else() +if(NOT ${PROJECT_NAME} STREQUAL "CPM") set(CURRENT_CPM_VERSION 1.0.0-development-version) endif() From f559cec4d7736df858fbc22ea80668a33563e424 Mon Sep 17 00:00:00 2001 From: flagarde Date: Tue, 14 Feb 2023 19:51:01 +0100 Subject: [PATCH 3/3] cmake-format --- CMakeLists.txt | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 94819bb6..b5d6f017 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,19 +5,19 @@ find_package(Git REQUIRED QUIET) project(CPM LANGUAGES NONE) if(GIT_EXECUTABLE) - # Generate a git-describe version string from Git repository tags - execute_process( - COMMAND ${GIT_EXECUTABLE} tag --points-at HEAD - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - OUTPUT_VARIABLE CURRENT_CPM_VERSION - RESULT_VARIABLE GIT_DESCRIBE_ERROR_CODE - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(NOT GIT_DESCRIBE_ERROR_CODE AND NOT CURRENT_CPM_VERSION STREQUAL "") - string(SUBSTRING ${CURRENT_CPM_VERSION} 1 -1 CURRENT_CPM_VERSION) - else() - set(CURRENT_CPM_VERSION 1.0.0-development-version) - endif() + # Generate a git-describe version string from Git repository tags + execute_process( + COMMAND ${GIT_EXECUTABLE} tag --points-at HEAD + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + OUTPUT_VARIABLE CURRENT_CPM_VERSION + RESULT_VARIABLE GIT_DESCRIBE_ERROR_CODE + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(NOT GIT_DESCRIBE_ERROR_CODE AND NOT CURRENT_CPM_VERSION STREQUAL "") + string(SUBSTRING ${CURRENT_CPM_VERSION} 1 -1 CURRENT_CPM_VERSION) + else() + set(CURRENT_CPM_VERSION 1.0.0-development-version) + endif() endif() include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/CPM.cmake")