mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-22 04:07:49 -05:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7000572bbe | ||
|
|
fe8d15ba82 |
@@ -464,14 +464,16 @@ endmacro()
|
|||||||
|
|
||||||
function(cpm_add_to_package_lock Name)
|
function(cpm_add_to_package_lock Name)
|
||||||
if(NOT CPM_DONT_CREATE_PACKAGE_LOCK)
|
if(NOT CPM_DONT_CREATE_PACKAGE_LOCK)
|
||||||
file(APPEND ${CPM_PACKAGE_LOCK_FILE} "# ${Name}\nCPMDeclarePackage(${Name} \"${ARGN}\")\n")
|
cpm_prettify_package_arguments(PRETTY_ARGN false ${ARGN})
|
||||||
|
file(APPEND ${CPM_PACKAGE_LOCK_FILE} "# ${Name}\nCPMDeclarePackage(${Name}\n${PRETTY_ARGN})\n")
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
function(cpm_add_comment_to_package_lock Name)
|
function(cpm_add_comment_to_package_lock Name)
|
||||||
if(NOT CPM_DONT_CREATE_PACKAGE_LOCK)
|
if(NOT CPM_DONT_CREATE_PACKAGE_LOCK)
|
||||||
|
cpm_prettify_package_arguments(PRETTY_ARGN true ${ARGN})
|
||||||
file(APPEND ${CPM_PACKAGE_LOCK_FILE}
|
file(APPEND ${CPM_PACKAGE_LOCK_FILE}
|
||||||
"# ${Name} (unversioned)\n# CPMDeclarePackage(${Name} \"${ARGN}\")\n"
|
"# ${Name} (unversioned)\n# CPMDeclarePackage(${Name}\n${PRETTY_ARGN}#)\n"
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
@@ -625,3 +627,68 @@ function(cpm_is_git_tag_commit_hash GIT_TAG RESULT)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(cpm_prettify_package_arguments OUT_VAR IS_IN_COMMENT)
|
||||||
|
set(oneValueArgs
|
||||||
|
NAME
|
||||||
|
FORCE
|
||||||
|
VERSION
|
||||||
|
GIT_TAG
|
||||||
|
DOWNLOAD_ONLY
|
||||||
|
GITHUB_REPOSITORY
|
||||||
|
GITLAB_REPOSITORY
|
||||||
|
GIT_REPOSITORY
|
||||||
|
SOURCE_DIR
|
||||||
|
DOWNLOAD_COMMAND
|
||||||
|
FIND_PACKAGE_ARGUMENTS
|
||||||
|
NO_CACHE
|
||||||
|
GIT_SHALLOW
|
||||||
|
)
|
||||||
|
set(multiValueArgs OPTIONS)
|
||||||
|
cmake_parse_arguments(CPM_ARGS "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
||||||
|
|
||||||
|
foreach(oneArgName ${oneValueArgs})
|
||||||
|
if(DEFINED CPM_ARGS_${oneArgName})
|
||||||
|
if(${IS_IN_COMMENT})
|
||||||
|
string(APPEND PRETTY_OUT_VAR "#")
|
||||||
|
endif()
|
||||||
|
if(${oneArgName} STREQUAL "SOURCE_DIR")
|
||||||
|
string(REPLACE ${CMAKE_SOURCE_DIR} "\${CMAKE_SOURCE_DIR}" CPM_ARGS_${oneArgName}
|
||||||
|
${CPM_ARGS_${oneArgName}}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
string(APPEND PRETTY_OUT_VAR " ${oneArgName} ${CPM_ARGS_${oneArgName}}\n")
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
foreach(multiArgName ${multiValueArgs})
|
||||||
|
if(DEFINED CPM_ARGS_${multiArgName})
|
||||||
|
if(${IS_IN_COMMENT})
|
||||||
|
string(APPEND PRETTY_OUT_VAR "#")
|
||||||
|
endif()
|
||||||
|
string(APPEND PRETTY_OUT_VAR " ${multiArgName}\n")
|
||||||
|
foreach(singleOption ${CPM_ARGS_${multiArgName}})
|
||||||
|
if(${IS_IN_COMMENT})
|
||||||
|
string(APPEND PRETTY_OUT_VAR "#")
|
||||||
|
endif()
|
||||||
|
string(APPEND PRETTY_OUT_VAR " \"${singleOption}\"\n")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
if(NOT "${CPM_ARGS_UNPARSED_ARGUMENTS}" STREQUAL "")
|
||||||
|
if(${IS_IN_COMMENT})
|
||||||
|
string(APPEND PRETTY_OUT_VAR "#")
|
||||||
|
endif()
|
||||||
|
string(APPEND PRETTY_OUT_VAR " ")
|
||||||
|
foreach(CPM_ARGS_UNPARSED_ARGUMENT ${CPM_ARGS_UNPARSED_ARGUMENTS})
|
||||||
|
string(APPEND PRETTY_OUT_VAR " ${CPM_ARGS_UNPARSED_ARGUMENT}")
|
||||||
|
endforeach()
|
||||||
|
string(APPEND PRETTY_OUT_VAR "\n")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(${OUT_VAR}
|
||||||
|
${PRETTY_OUT_VAR}
|
||||||
|
PARENT_SCOPE
|
||||||
|
)
|
||||||
|
|
||||||
|
endfunction()
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
set(CPM_DOWNLOAD_VERSION 1.0.0-development-version)
|
set(CPM_DOWNLOAD_VERSION 1.0.0-development-version)
|
||||||
|
|
||||||
if(CPM_SOURCE_CACHE)
|
if(CPM_SOURCE_CACHE)
|
||||||
|
# Expand relative path. This is important if the provided path contains a tilde (~)
|
||||||
|
get_filename_component(CPM_SOURCE_CACHE ${CPM_SOURCE_CACHE} ABSOLUTE)
|
||||||
set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
|
set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
|
||||||
elseif(DEFINED ENV{CPM_SOURCE_CACHE})
|
elseif(DEFINED ENV{CPM_SOURCE_CACHE})
|
||||||
set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
|
set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
|
||||||
|
|||||||
42
test/unit/package-lock_prettify.cmake
Normal file
42
test/unit/package-lock_prettify.cmake
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.14 FATAL_ERROR)
|
||||||
|
|
||||||
|
include(${CPM_PATH}/CPM.cmake)
|
||||||
|
include(${CPM_PATH}/testing.cmake)
|
||||||
|
|
||||||
|
# cmake-format: off
|
||||||
|
cpm_prettify_package_arguments(PRETTY_ARGN false
|
||||||
|
NAME Dependency
|
||||||
|
SOURCE_DIR ${CMAKE_SOURCE_DIR}/local_dependency/dependency
|
||||||
|
UPDATE_DISCONNECTED ON
|
||||||
|
TESTCUSTOMDATA TRUE
|
||||||
|
)
|
||||||
|
# cmake-format: on
|
||||||
|
set(EXPECTED_UNCOMMENTED
|
||||||
|
" NAME Dependency
|
||||||
|
SOURCE_DIR \${CMAKE_SOURCE_DIR}/local_dependency/dependency
|
||||||
|
UPDATE_DISCONNECTED ON TESTCUSTOMDATA TRUE
|
||||||
|
"
|
||||||
|
)
|
||||||
|
assert_equal(${PRETTY_ARGN} ${EXPECTED_UNCOMMENTED})
|
||||||
|
|
||||||
|
# cmake-format: off
|
||||||
|
cpm_prettify_package_arguments(PRETTY_ARGN true
|
||||||
|
NAME Dependency
|
||||||
|
SOURCE_DIR ${CMAKE_SOURCE_DIR}/local_dependency/dependency
|
||||||
|
UPDATE_DISCONNECTED ON
|
||||||
|
TESTCUSTOMDATA TRUE
|
||||||
|
)
|
||||||
|
# cmake-format: on
|
||||||
|
set(EXPECTED_COMMENTED
|
||||||
|
"# NAME Dependency
|
||||||
|
# SOURCE_DIR \${CMAKE_SOURCE_DIR}/local_dependency/dependency
|
||||||
|
# UPDATE_DISCONNECTED ON TESTCUSTOMDATA TRUE
|
||||||
|
"
|
||||||
|
)
|
||||||
|
assert_equal(${PRETTY_ARGN} ${EXPECTED_COMMENTED})
|
||||||
|
|
||||||
|
cpm_prettify_package_arguments(PRETTY_ARGN true "local directory")
|
||||||
|
set(EXPECTED_COMMENTED_LOCALDIR "# local directory
|
||||||
|
"
|
||||||
|
)
|
||||||
|
assert_equal(${PRETTY_ARGN} ${EXPECTED_COMMENTED_LOCALDIR})
|
||||||
Reference in New Issue
Block a user