diff options
author | DongHun Kwak <dh0128.kwak@samsung.com> | 2021-10-08 09:13:22 +0900 |
---|---|---|
committer | DongHun Kwak <dh0128.kwak@samsung.com> | 2021-10-08 09:13:22 +0900 |
commit | 07408dd83a3637a29a56a7d5fbe49f63cbb41e8f (patch) | |
tree | a75b33590f24c25eea1304047db385fdd0d5a45b | |
parent | 990f644abd85c36c7bfec6c18255af2683475363 (diff) | |
download | cmake-07408dd83a3637a29a56a7d5fbe49f63cbb41e8f.tar.gz cmake-07408dd83a3637a29a56a7d5fbe49f63cbb41e8f.tar.bz2 cmake-07408dd83a3637a29a56a7d5fbe49f63cbb41e8f.zip |
Imported Upstream version 3.11.4upstream/3.11.4
-rw-r--r-- | Modules/ExternalProject.cmake | 8 | ||||
-rw-r--r-- | Source/CMakeVersion.cmake | 2 | ||||
-rw-r--r-- | Source/cmSystemTools.cxx | 3 | ||||
-rw-r--r-- | Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake | 9 | ||||
-rw-r--r-- | Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake | 3 | ||||
-rw-r--r-- | Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake | 9 | ||||
-rw-r--r-- | Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake | 3 |
7 files changed, 29 insertions, 8 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index db19691de..0c5b33f7e 100644 --- a/Modules/ExternalProject.cmake +++ b/Modules/ExternalProject.cmake @@ -133,9 +133,9 @@ External Project Definition is determined by inspecting the actual content rather than using logic based on the file extension. - ``URL_HASH ALGO=<value>`` - Hash of the archive file to be downloaded. The ``<value>`` should be of - the form ``algo=hashValue`` where ``algo`` can be any of the hashing + ``URL_HASH <algo>=<hashValue>`` + Hash of the archive file to be downloaded. The argument should be of + the form ``<algo>=<hashValue>`` where ``algo`` can be any of the hashing algorithms supported by the :command:`file()` command. Specifying this option is strongly recommended for URL downloads, as it ensures the integrity of the downloaded content. It is also used as a check for a @@ -1686,7 +1686,7 @@ function(_ep_command_line_to_initial_cache var args force) foreach(line ${args}) if("${line}" MATCHES "^-D(.*)") set(line "${CMAKE_MATCH_1}") - if(setArg) + if(NOT "${setArg}" STREQUAL "") # This is required to build up lists in variables, or complete an entry string(APPEND setArg "${accumulator}\" CACHE ${type} \"Initial cache\" ${forceArg})") string(APPEND script_initial_cache "\n${setArg}") diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index 354d0b5f3..d8059bf41 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 11) -set(CMake_VERSION_PATCH 3) +set(CMake_VERSION_PATCH 4) #set(CMake_VERSION_RC 0) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 6f326de51..9575c05cc 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -2117,7 +2117,8 @@ void cmSystemTools::FindCMakeResources(const char* argv0) wchar_t modulepath[_MAX_PATH]; ::GetModuleFileNameW(NULL, modulepath, sizeof(modulepath)); std::string path = cmsys::Encoding::ToNarrow(modulepath); - std::string realPath = cmSystemTools::GetRealPath(path, NULL); + std::string realPath = + cmSystemTools::GetRealPathResolvingWindowsSubst(path, NULL); if (realPath.empty()) { realPath = path; } diff --git a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake index cc5521eea..c5018563c 100644 --- a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake +++ b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake @@ -33,3 +33,12 @@ if(NOT "${CMAKE_MATCH_0}" MATCHES FORCE) set(RunCMake_TEST_FAILED "Expected forced TEST_OPTIONAL argument") return() endif() + +if(NOT "${_cache}" MATCHES "set\\(TEST_OPTIONAL_LAST \"TEST_OPTIONAL_LAST-NOTFOUND\".+\\)") + set(RunCMake_TEST_FAILED "Cannot find TEST_OPTIONAL_LAST argument in cache") + return() +endif() +if(NOT "${CMAKE_MATCH_0}" MATCHES FORCE) + set(RunCMake_TEST_FAILED "Expected forced TEST_OPTIONAL_LAST argument") + return() +endif() diff --git a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake index a583e3194..4f7e02006 100644 --- a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake +++ b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake @@ -9,4 +9,5 @@ ExternalProject_Add(FOO TMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/tmp" CMAKE_CACHE_ARGS "-DFOO:STRING=$<1:BAR>$<0:BAD>" "-DTEST_LIST:STRING=A;B;C" - "-DTEST_OPTIONAL:FILEPATH=TEST_OPTIONAL-NOTFOUND") + "-DTEST_OPTIONAL:FILEPATH=TEST_OPTIONAL-NOTFOUND" + "-DTEST_OPTIONAL_LAST:FILEPATH=TEST_OPTIONAL_LAST-NOTFOUND") diff --git a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake index 2bef56e0a..059f6d327 100644 --- a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake +++ b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake @@ -33,3 +33,12 @@ if("${CMAKE_MATCH_0}" MATCHES FORCE) set(RunCMake_TEST_FAILED "Expected not forced TEST_OPTIONAL argument") return() endif() + +if(NOT "${_cache}" MATCHES "set\\(TEST_OPTIONAL_LAST \"TEST_OPTIONAL_LAST-NOTFOUND\".+\\)") + set(RunCMake_TEST_FAILED "Cannot find TEST_OPTIONAL_LAST argument in cache") + return() +endif() +if("${CMAKE_MATCH_0}" MATCHES FORCE) + set(RunCMake_TEST_FAILED "Expected not forced TEST_OPTIONAL_LAST argument") + return() +endif() diff --git a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake index d38831567..61334183c 100644 --- a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake +++ b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake @@ -9,4 +9,5 @@ ExternalProject_Add(FOO TMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/tmp" CMAKE_CACHE_DEFAULT_ARGS "-DFOO:STRING=$<1:BAR>$<0:BAD>" "-DTEST_LIST:STRING=A;B;C" - "-DTEST_OPTIONAL:FILEPATH=TEST_OPTIONAL-NOTFOUND") + "-DTEST_OPTIONAL:FILEPATH=TEST_OPTIONAL-NOTFOUND" + "-DTEST_OPTIONAL_LAST:FILEPATH=TEST_OPTIONAL_LAST-NOTFOUND") |