New upstream version 3.30.3
This commit is contained in:
parent
cf6a15e3ec
commit
c62c0b62a8
@ -231,8 +231,8 @@ Changes made since CMake 3.29.0 include the following.
|
|||||||
to ``perMachine`` on their own schedule by setting
|
to ``perMachine`` on their own schedule by setting
|
||||||
``CPACK_WIX_INSTALL_SCOPE``.
|
``CPACK_WIX_INSTALL_SCOPE``.
|
||||||
|
|
||||||
3.29.6, 3.29.7
|
3.29.6, 3.29.7, 3.29.8
|
||||||
--------------
|
----------------------
|
||||||
|
|
||||||
* These versions made no changes to documented features or interfaces.
|
* These versions made no changes to documented features or interfaces.
|
||||||
Some implementation updates were made to support ecosystem changes
|
Some implementation updates were made to support ecosystem changes
|
||||||
|
@ -254,3 +254,12 @@ Changes made since CMake 3.30.0 include the following.
|
|||||||
* These versions made no changes to documented features or interfaces.
|
* These versions made no changes to documented features or interfaces.
|
||||||
Some implementation updates were made to support ecosystem changes
|
Some implementation updates were made to support ecosystem changes
|
||||||
and/or fix regressions.
|
and/or fix regressions.
|
||||||
|
|
||||||
|
3.30.3
|
||||||
|
------
|
||||||
|
|
||||||
|
* The :module:`FindPython` and :module:`FindPython3` modules now define,
|
||||||
|
respectively, the ``Python_DEFINITIONS`` and ``Python3_DEFINITIONS``
|
||||||
|
variables on Windows to support development with the free threaded
|
||||||
|
version of Python. The :prop_tgt:`INTERFACE_COMPILE_DEFINITIONS` target
|
||||||
|
property is also defined for the various targets provided by these modules.
|
||||||
|
@ -343,7 +343,9 @@ foreach(dir IN LISTS JAVA_AWT_LIBRARY_DIRECTORIES)
|
|||||||
list(APPEND JAVA_JVM_LIBRARY_DIRECTORIES
|
list(APPEND JAVA_JVM_LIBRARY_DIRECTORIES
|
||||||
"${dir}"
|
"${dir}"
|
||||||
"${dir}/client"
|
"${dir}/client"
|
||||||
|
"${dir}/minimal"
|
||||||
"${dir}/server"
|
"${dir}/server"
|
||||||
|
"${dir}/zero"
|
||||||
# IBM SDK, Java Technology Edition, specific paths
|
# IBM SDK, Java Technology Edition, specific paths
|
||||||
"${dir}/j9vm"
|
"${dir}/j9vm"
|
||||||
"${dir}/default"
|
"${dir}/default"
|
||||||
@ -389,8 +391,10 @@ if(APPLE)
|
|||||||
execute_process(
|
execute_process(
|
||||||
COMMAND xcodebuild -version
|
COMMAND xcodebuild -version
|
||||||
OUTPUT_VARIABLE _FindJNI_XCODEBUILD_VERSION
|
OUTPUT_VARIABLE _FindJNI_XCODEBUILD_VERSION
|
||||||
|
ERROR_VARIABLE _FindJNI_XCODEBUILD_VERSION
|
||||||
|
RESULT_VARIABLE _FindJNI_XCODEBUILD_RESULT
|
||||||
)
|
)
|
||||||
if(_FindJNI_XCODEBUILD_VERSION MATCHES "Xcode ([0-9]+(\\.[0-9]+)*)")
|
if(_FindJNI_XCODEBUILD_RESULT EQUAL 0 AND _FindJNI_XCODEBUILD_VERSION MATCHES "Xcode ([0-9]+(\\.[0-9]+)*)")
|
||||||
set(_FindJNI_XCODE_VERSION "${CMAKE_MATCH_1}")
|
set(_FindJNI_XCODE_VERSION "${CMAKE_MATCH_1}")
|
||||||
else()
|
else()
|
||||||
set(_FindJNI_XCODE_VERSION "")
|
set(_FindJNI_XCODE_VERSION "")
|
||||||
|
@ -224,6 +224,11 @@ This module will set the following variables in your project
|
|||||||
|
|
||||||
The Python include directories.
|
The Python include directories.
|
||||||
|
|
||||||
|
``Python_DEFINITIONS``
|
||||||
|
.. versionadded:: 3.30.3
|
||||||
|
|
||||||
|
The Python preprocessor definitions.
|
||||||
|
|
||||||
``Python_DEBUG_POSTFIX``
|
``Python_DEBUG_POSTFIX``
|
||||||
.. versionadded.. 3.30
|
.. versionadded.. 3.30
|
||||||
|
|
||||||
|
@ -3740,6 +3740,14 @@ if (("Development.Module" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS
|
|||||||
_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE
|
_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_RELEASE
|
||||||
_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG)
|
_${_PYTHON_PREFIX}_RUNTIME_LIBRARY_DEBUG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (WIN32 AND _${_PYTHON_PREFIX}_LIBRARY_RELEASE MATCHES "t${CMAKE_IMPORT_LIBRARY_SUFFIX}$")
|
||||||
|
# On windows, header file is shared between the different implementations
|
||||||
|
# So Py_GIL_DISABLED should be set explicitly
|
||||||
|
set (${_PYTHON_PREFIX}_DEFINITIONS Py_GIL_DISABLED=1)
|
||||||
|
else()
|
||||||
|
unset (${_PYTHON_PREFIX}_DEFINITIONS)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if ("SABI_LIBRARY" IN_LIST _${_PYTHON_PREFIX}_FIND_DEVELOPMENT_ARTIFACTS)
|
if ("SABI_LIBRARY" IN_LIST _${_PYTHON_PREFIX}_FIND_DEVELOPMENT_ARTIFACTS)
|
||||||
@ -3769,6 +3777,14 @@ if (("Development.Module" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS
|
|||||||
_${_PYTHON_PREFIX}_RUNTIME_SABI_LIBRARY_RELEASE
|
_${_PYTHON_PREFIX}_RUNTIME_SABI_LIBRARY_RELEASE
|
||||||
_${_PYTHON_PREFIX}_RUNTIME_SABI_LIBRARY_DEBUG)
|
_${_PYTHON_PREFIX}_RUNTIME_SABI_LIBRARY_DEBUG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (WIN32 AND _${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE MATCHES "t${CMAKE_IMPORT_LIBRARY_SUFFIX}$")
|
||||||
|
# On windows, header file is shared between the different implementations
|
||||||
|
# So Py_GIL_DISABLED should be set explicitly
|
||||||
|
set (${_PYTHON_PREFIX}_DEFINITIONS Py_GIL_DISABLED=1)
|
||||||
|
else()
|
||||||
|
unset (${_PYTHON_PREFIX}_DEFINITIONS)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (_${_PYTHON_PREFIX}_LIBRARY_RELEASE OR _${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE OR _${_PYTHON_PREFIX}_INCLUDE_DIR)
|
if (_${_PYTHON_PREFIX}_LIBRARY_RELEASE OR _${_PYTHON_PREFIX}_SABI_LIBRARY_RELEASE OR _${_PYTHON_PREFIX}_INCLUDE_DIR)
|
||||||
@ -3903,11 +3919,12 @@ if ("NumPy" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS AND ${_PYTHON_PREFIX}_Inte
|
|||||||
|
|
||||||
# Workaround Intel MKL library outputting a message in stdout, which cause
|
# Workaround Intel MKL library outputting a message in stdout, which cause
|
||||||
# incorrect detection of numpy.get_include() and numpy.__version__
|
# incorrect detection of numpy.get_include() and numpy.__version__
|
||||||
# See https://github.com/numpy/numpy/issues/23775
|
# See https://github.com/numpy/numpy/issues/23775 and
|
||||||
if(DEFINED ENV{MKL_ENABLE_INSTRUCTIONS})
|
# https://gitlab.kitware.com/cmake/cmake/-/issues/26240
|
||||||
set(_${_PYTHON_PREFIX}_BACKUP_ENV_VAR_MKL_ENABLE_INSTRUCTIONS ENV{MKL_ENABLE_INSTRUCTIONS})
|
if(NOT DEFINED ENV{MKL_ENABLE_INSTRUCTIONS})
|
||||||
|
set(_${_PYTHON_PREFIX}_UNSET_ENV_VAR_MKL_ENABLE_INSTRUCTIONS YES)
|
||||||
|
set(ENV{MKL_ENABLE_INSTRUCTIONS} "SSE4_2")
|
||||||
endif()
|
endif()
|
||||||
set(ENV{MKL_ENABLE_INSTRUCTIONS} "SSE4_2")
|
|
||||||
|
|
||||||
if (NOT _${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR)
|
if (NOT _${_PYTHON_PREFIX}_NumPy_INCLUDE_DIR)
|
||||||
execute_process(COMMAND ${${_PYTHON_PREFIX}_INTERPRETER_LAUNCHER} "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c
|
execute_process(COMMAND ${${_PYTHON_PREFIX}_INTERPRETER_LAUNCHER} "${_${_PYTHON_PREFIX}_EXECUTABLE}" -c
|
||||||
@ -3949,11 +3966,9 @@ if ("NumPy" IN_LIST ${_PYTHON_PREFIX}_FIND_COMPONENTS AND ${_PYTHON_PREFIX}_Inte
|
|||||||
set (${_PYTHON_PREFIX}_NumPy_FOUND FALSE)
|
set (${_PYTHON_PREFIX}_NumPy_FOUND FALSE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Restore previous value of MKL_ENABLE_INSTRUCTIONS
|
# Unset MKL_ENABLE_INSTRUCTIONS if set by us
|
||||||
if(DEFINED _${_PYTHON_PREFIX}_BACKUP_ENV_VAR_MKL_ENABLE_INSTRUCTIONS)
|
if(DEFINED _${_PYTHON_PREFIX}_UNSET_ENV_VAR_MKL_ENABLE_INSTRUCTIONS)
|
||||||
set(ENV{MKL_ENABLE_INSTRUCTIONS} ${_${_PYTHON_PREFIX}_BACKUP_ENV_VAR_MKL_ENABLE_INSTRUCTIONS})
|
unset(_${_PYTHON_PREFIX}_UNSET_ENV_VAR_MKL_ENABLE_INSTRUCTIONS)
|
||||||
unset(_${_PYTHON_PREFIX}_BACKUP_ENV_VAR_MKL_ENABLE_INSTRUCTIONS)
|
|
||||||
else()
|
|
||||||
unset(ENV{MKL_ENABLE_INSTRUCTIONS})
|
unset(ENV{MKL_ENABLE_INSTRUCTIONS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -4067,6 +4082,12 @@ if(_${_PYTHON_PREFIX}_CMAKE_ROLE STREQUAL "PROJECT")
|
|||||||
set_property (TARGET ${__name}
|
set_property (TARGET ${__name}
|
||||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${${_PYTHON_PREFIX}_INCLUDE_DIRS}")
|
PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${${_PYTHON_PREFIX}_INCLUDE_DIRS}")
|
||||||
|
|
||||||
|
if (${_PYTHON_PREFIX}_DEFINITIONS)
|
||||||
|
set_property (TARGET ${__name}
|
||||||
|
PROPERTY INTERFACE_COMPILE_DEFINITIONS "${${_PYTHON_PREFIX}_DEFINITIONS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
if (${_PYTHON_PREFIX}_${_PREFIX}LIBRARY_RELEASE AND ${_PYTHON_PREFIX}_RUNTIME_${_PREFIX}LIBRARY_RELEASE)
|
if (${_PYTHON_PREFIX}_${_PREFIX}LIBRARY_RELEASE AND ${_PYTHON_PREFIX}_RUNTIME_${_PREFIX}LIBRARY_RELEASE)
|
||||||
# System manage shared libraries in two parts: import and runtime
|
# System manage shared libraries in two parts: import and runtime
|
||||||
if (${_PYTHON_PREFIX}_${_PREFIX}LIBRARY_RELEASE AND ${_PYTHON_PREFIX}_${_PREFIX}LIBRARY_DEBUG)
|
if (${_PYTHON_PREFIX}_${_PREFIX}LIBRARY_RELEASE AND ${_PYTHON_PREFIX}_${_PREFIX}LIBRARY_DEBUG)
|
||||||
@ -4123,6 +4144,11 @@ if(_${_PYTHON_PREFIX}_CMAKE_ROLE STREQUAL "PROJECT")
|
|||||||
set_property (TARGET ${__name}
|
set_property (TARGET ${__name}
|
||||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${${_PYTHON_PREFIX}_INCLUDE_DIRS}")
|
PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${${_PYTHON_PREFIX}_INCLUDE_DIRS}")
|
||||||
|
|
||||||
|
if (${_PYTHON_PREFIX}_DEFINITIONS)
|
||||||
|
set_property (TARGET ${__name}
|
||||||
|
PROPERTY INTERFACE_COMPILE_DEFINITIONS "${${_PYTHON_PREFIX}_DEFINITIONS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
# When available, enforce shared library generation with undefined symbols
|
# When available, enforce shared library generation with undefined symbols
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set_property (TARGET ${__name}
|
set_property (TARGET ${__name}
|
||||||
|
@ -226,6 +226,11 @@ This module will set the following variables in your project
|
|||||||
|
|
||||||
The Python 3 include directories.
|
The Python 3 include directories.
|
||||||
|
|
||||||
|
``Python3_DEFINITIONS``
|
||||||
|
.. versionadded:: 3.30.3
|
||||||
|
|
||||||
|
The Python 3 preprocessor definitions.
|
||||||
|
|
||||||
``Python3_DEBUG_POSTFIX``
|
``Python3_DEBUG_POSTFIX``
|
||||||
.. versionadded.. 3.30
|
.. versionadded.. 3.30
|
||||||
|
|
||||||
|
@ -375,21 +375,21 @@ endif()
|
|||||||
if(CMAKE_ANDROID_ARCH_ABI AND NOT DEFINED "NDK_ABI_${CMAKE_ANDROID_ARCH_ABI}_PROC")
|
if(CMAKE_ANDROID_ARCH_ABI AND NOT DEFINED "NDK_ABI_${CMAKE_ANDROID_ARCH_ABI}_PROC")
|
||||||
message(FATAL_ERROR "Android: Unknown ABI CMAKE_ANDROID_ARCH_ABI='${CMAKE_ANDROID_ARCH_ABI}'.")
|
message(FATAL_ERROR "Android: Unknown ABI CMAKE_ANDROID_ARCH_ABI='${CMAKE_ANDROID_ARCH_ABI}'.")
|
||||||
endif()
|
endif()
|
||||||
if(CMAKE_SYSTEM_PROCESSOR AND NOT DEFINED "NDK_PROC_${CMAKE_SYSTEM_PROCESSOR}_ABI")
|
|
||||||
message(FATAL_ERROR "Android: Unknown processor CMAKE_SYSTEM_PROCESSOR='${CMAKE_SYSTEM_PROCESSOR}'.")
|
|
||||||
endif()
|
|
||||||
if(_ANDROID_SYSROOT_ARCH AND NOT DEFINED "NDK_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI")
|
|
||||||
message(FATAL_ERROR
|
|
||||||
"Android: Unknown architecture '${_ANDROID_SYSROOT_ARCH}' specified in CMAKE_SYSROOT:\n"
|
|
||||||
" ${CMAKE_SYSROOT}"
|
|
||||||
)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Select an ABI.
|
# Select an ABI.
|
||||||
if(NOT CMAKE_ANDROID_ARCH_ABI)
|
if(NOT CMAKE_ANDROID_ARCH_ABI)
|
||||||
if(CMAKE_SYSTEM_PROCESSOR)
|
if(CMAKE_SYSTEM_PROCESSOR)
|
||||||
|
if(NOT DEFINED "NDK_PROC_${CMAKE_SYSTEM_PROCESSOR}_ABI")
|
||||||
|
message(FATAL_ERROR "Android: Unknown processor CMAKE_SYSTEM_PROCESSOR='${CMAKE_SYSTEM_PROCESSOR}'.")
|
||||||
|
endif()
|
||||||
set(CMAKE_ANDROID_ARCH_ABI "${NDK_PROC_${CMAKE_SYSTEM_PROCESSOR}_ABI}")
|
set(CMAKE_ANDROID_ARCH_ABI "${NDK_PROC_${CMAKE_SYSTEM_PROCESSOR}_ABI}")
|
||||||
elseif(_ANDROID_SYSROOT_ARCH)
|
elseif(_ANDROID_SYSROOT_ARCH)
|
||||||
|
if(NOT DEFINED "NDK_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI")
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"Android: Unknown architecture '${_ANDROID_SYSROOT_ARCH}' specified in CMAKE_SYSROOT:\n"
|
||||||
|
" ${CMAKE_SYSROOT}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
set(CMAKE_ANDROID_ARCH_ABI "${NDK_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI}")
|
set(CMAKE_ANDROID_ARCH_ABI "${NDK_ARCH_${_ANDROID_SYSROOT_ARCH}_ABI}")
|
||||||
elseif(_INCLUDED_ABIS)
|
elseif(_INCLUDED_ABIS)
|
||||||
# Default to the oldest ARM ABI.
|
# Default to the oldest ARM ABI.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# CMake version number components.
|
# CMake version number components.
|
||||||
set(CMake_VERSION_MAJOR 3)
|
set(CMake_VERSION_MAJOR 3)
|
||||||
set(CMake_VERSION_MINOR 30)
|
set(CMake_VERSION_MINOR 30)
|
||||||
set(CMake_VERSION_PATCH 2)
|
set(CMake_VERSION_PATCH 3)
|
||||||
#set(CMake_VERSION_RC 0)
|
#set(CMake_VERSION_RC 0)
|
||||||
set(CMake_VERSION_IS_DIRTY 0)
|
set(CMake_VERSION_IS_DIRTY 0)
|
||||||
|
|
||||||
@ -21,7 +21,7 @@ endif()
|
|||||||
|
|
||||||
if(NOT CMake_VERSION_NO_GIT)
|
if(NOT CMake_VERSION_NO_GIT)
|
||||||
# If this source was exported by 'git archive', use its commit info.
|
# If this source was exported by 'git archive', use its commit info.
|
||||||
set(git_info [==[d88682dff6 CMake 3.30.2]==])
|
set(git_info [==[3cc9cb6ee2 CMake 3.30.3]==])
|
||||||
|
|
||||||
# Otherwise, try to identify the current development source version.
|
# Otherwise, try to identify the current development source version.
|
||||||
if(NOT git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f]?)[0-9a-f]* "
|
if(NOT git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f]?)[0-9a-f]* "
|
||||||
|
@ -1552,6 +1552,7 @@ std::string cmCPackGenerator::GetSanitizedDirOrFileName(
|
|||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
// Given name matches a reserved name (on Windows)?
|
// Given name matches a reserved name (on Windows)?
|
||||||
// Then return it prepended with an underscore.
|
// Then return it prepended with an underscore.
|
||||||
|
// See https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file
|
||||||
cmsys::RegularExpression reserved_pattern("^("
|
cmsys::RegularExpression reserved_pattern("^("
|
||||||
"[Cc][Oo][Nn]|"
|
"[Cc][Oo][Nn]|"
|
||||||
"[Pp][Rr][Nn]|"
|
"[Pp][Rr][Nn]|"
|
||||||
@ -1559,7 +1560,7 @@ std::string cmCPackGenerator::GetSanitizedDirOrFileName(
|
|||||||
"[Nn][Uu][Ll]|"
|
"[Nn][Uu][Ll]|"
|
||||||
"[Cc][Oo][Mm][1-9]|"
|
"[Cc][Oo][Mm][1-9]|"
|
||||||
"[Ll][Pp][Tt][1-9]"
|
"[Ll][Pp][Tt][1-9]"
|
||||||
")([.].+)?");
|
")[.]?$");
|
||||||
if (reserved_pattern.find(name)) {
|
if (reserved_pattern.find(name)) {
|
||||||
return "_" + name;
|
return "_" + name;
|
||||||
}
|
}
|
||||||
|
@ -863,8 +863,8 @@ std::string cmCPackNSISGenerator::CreateComponentDescription(
|
|||||||
/* clang-format on */
|
/* clang-format on */
|
||||||
componentCode += out.str();
|
componentCode += out.str();
|
||||||
} else {
|
} else {
|
||||||
componentCode +=
|
componentCode += " File /r \"${INST_DIR}\\" +
|
||||||
" File /r \"${INST_DIR}\\" + component->Name + "\\*.*\"\n";
|
this->GetSanitizedDirOrFileName(component->Name) + "\\*.*\"\n";
|
||||||
}
|
}
|
||||||
componentCode += "SectionEnd\n";
|
componentCode += "SectionEnd\n";
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ cmCTestCurl::cmCTestCurl(cmCTest* ctest)
|
|||||||
cmCurlInitOnce();
|
cmCurlInitOnce();
|
||||||
// In windows, this will init the winsock stuff
|
// In windows, this will init the winsock stuff
|
||||||
::curl_global_init(CURL_GLOBAL_ALL);
|
::curl_global_init(CURL_GLOBAL_ALL);
|
||||||
this->Curl = curl_easy_init();
|
this->Curl = cm_curl_easy_init();
|
||||||
}
|
}
|
||||||
|
|
||||||
cmCTestCurl::~cmCTestCurl()
|
cmCTestCurl::~cmCTestCurl()
|
||||||
|
@ -177,7 +177,7 @@ bool cmCTestSubmitHandler::SubmitUsingHTTP(
|
|||||||
cmCTestCurlOpts curlOpts(this->CTest);
|
cmCTestCurlOpts curlOpts(this->CTest);
|
||||||
for (std::string const& file : files) {
|
for (std::string const& file : files) {
|
||||||
/* get a curl handle */
|
/* get a curl handle */
|
||||||
curl = curl_easy_init();
|
curl = cm_curl_easy_init();
|
||||||
if (curl) {
|
if (curl) {
|
||||||
cmCurlSetCAInfo(curl);
|
cmCurlSetCAInfo(curl);
|
||||||
if (curlOpts.TLSVersionOpt) {
|
if (curlOpts.TLSVersionOpt) {
|
||||||
|
@ -226,3 +226,15 @@ std::string cmCurlFixFileURL(std::string url)
|
|||||||
|
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::CURL* cm_curl_easy_init()
|
||||||
|
{
|
||||||
|
::CURL* curl = curl_easy_init();
|
||||||
|
if (curl_version_info_data* cv = curl_version_info(CURLVERSION_FIRST)) {
|
||||||
|
// curl 8.7.x returns incorrect HTTP/2 error codes.
|
||||||
|
if (cv->version_num >= 0x080700 && cv->version_num < 0x080800) {
|
||||||
|
curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return curl;
|
||||||
|
}
|
||||||
|
@ -18,3 +18,5 @@ std::string cmCurlSetCAInfo(::CURL* curl, const std::string& cafile = {});
|
|||||||
std::string cmCurlSetNETRCOption(::CURL* curl, const std::string& netrc_level,
|
std::string cmCurlSetNETRCOption(::CURL* curl, const std::string& netrc_level,
|
||||||
const std::string& netrc_file);
|
const std::string& netrc_file);
|
||||||
std::string cmCurlFixFileURL(std::string url);
|
std::string cmCurlFixFileURL(std::string url);
|
||||||
|
|
||||||
|
::CURL* cm_curl_easy_init();
|
||||||
|
@ -2117,7 +2117,7 @@ bool HandleDownloadCommand(std::vector<std::string> const& args,
|
|||||||
::CURL* curl;
|
::CURL* curl;
|
||||||
cmCurlInitOnce();
|
cmCurlInitOnce();
|
||||||
::curl_global_init(CURL_GLOBAL_DEFAULT);
|
::curl_global_init(CURL_GLOBAL_DEFAULT);
|
||||||
curl = ::curl_easy_init();
|
curl = cm_curl_easy_init();
|
||||||
if (!curl) {
|
if (!curl) {
|
||||||
status.SetError("DOWNLOAD error initializing curl.");
|
status.SetError("DOWNLOAD error initializing curl.");
|
||||||
return false;
|
return false;
|
||||||
@ -2131,7 +2131,10 @@ bool HandleDownloadCommand(std::vector<std::string> const& args,
|
|||||||
res = ::curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1);
|
res = ::curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1);
|
||||||
check_curl_result(res, "DOWNLOAD cannot set http failure option: ");
|
check_curl_result(res, "DOWNLOAD cannot set http failure option: ");
|
||||||
|
|
||||||
res = ::curl_easy_setopt(curl, CURLOPT_USERAGENT, "curl/" LIBCURL_VERSION);
|
curl_version_info_data* cv = curl_version_info(CURLVERSION_FIRST);
|
||||||
|
res = ::curl_easy_setopt(
|
||||||
|
curl, CURLOPT_USERAGENT,
|
||||||
|
cmStrCat("curl/", cv ? cv->version : LIBCURL_VERSION).c_str());
|
||||||
check_curl_result(res, "DOWNLOAD cannot set user agent option: ");
|
check_curl_result(res, "DOWNLOAD cannot set user agent option: ");
|
||||||
|
|
||||||
res = ::curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cmWriteToFileCallback);
|
res = ::curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, cmWriteToFileCallback);
|
||||||
@ -2491,7 +2494,7 @@ bool HandleUploadCommand(std::vector<std::string> const& args,
|
|||||||
::CURL* curl;
|
::CURL* curl;
|
||||||
cmCurlInitOnce();
|
cmCurlInitOnce();
|
||||||
::curl_global_init(CURL_GLOBAL_DEFAULT);
|
::curl_global_init(CURL_GLOBAL_DEFAULT);
|
||||||
curl = ::curl_easy_init();
|
curl = cm_curl_easy_init();
|
||||||
if (!curl) {
|
if (!curl) {
|
||||||
status.SetError("UPLOAD error initializing curl.");
|
status.SetError("UPLOAD error initializing curl.");
|
||||||
fclose(fin);
|
fclose(fin);
|
||||||
|
@ -59,9 +59,14 @@ bool cmProjectCommand(std::vector<std::string> const& args,
|
|||||||
mf.AddCacheDefinition(projectName + "_BINARY_DIR",
|
mf.AddCacheDefinition(projectName + "_BINARY_DIR",
|
||||||
mf.GetCurrentBinaryDirectory(),
|
mf.GetCurrentBinaryDirectory(),
|
||||||
"Value Computed by CMake", cmStateEnums::STATIC);
|
"Value Computed by CMake", cmStateEnums::STATIC);
|
||||||
|
mf.AddDefinition(projectName + "_BINARY_DIR",
|
||||||
|
mf.GetCurrentBinaryDirectory());
|
||||||
|
|
||||||
mf.AddCacheDefinition(projectName + "_SOURCE_DIR",
|
mf.AddCacheDefinition(projectName + "_SOURCE_DIR",
|
||||||
mf.GetCurrentSourceDirectory(),
|
mf.GetCurrentSourceDirectory(),
|
||||||
"Value Computed by CMake", cmStateEnums::STATIC);
|
"Value Computed by CMake", cmStateEnums::STATIC);
|
||||||
|
mf.AddDefinition(projectName + "_SOURCE_DIR",
|
||||||
|
mf.GetCurrentSourceDirectory());
|
||||||
|
|
||||||
mf.AddDefinition("PROJECT_BINARY_DIR", mf.GetCurrentBinaryDirectory());
|
mf.AddDefinition("PROJECT_BINARY_DIR", mf.GetCurrentBinaryDirectory());
|
||||||
mf.AddDefinition("PROJECT_SOURCE_DIR", mf.GetCurrentSourceDirectory());
|
mf.AddDefinition("PROJECT_SOURCE_DIR", mf.GetCurrentSourceDirectory());
|
||||||
@ -72,6 +77,8 @@ bool cmProjectCommand(std::vector<std::string> const& args,
|
|||||||
mf.AddCacheDefinition(projectName + "_IS_TOP_LEVEL",
|
mf.AddCacheDefinition(projectName + "_IS_TOP_LEVEL",
|
||||||
mf.IsRootMakefile() ? "ON" : "OFF",
|
mf.IsRootMakefile() ? "ON" : "OFF",
|
||||||
"Value Computed by CMake", cmStateEnums::STATIC);
|
"Value Computed by CMake", cmStateEnums::STATIC);
|
||||||
|
mf.AddDefinition(projectName + "_IS_TOP_LEVEL",
|
||||||
|
mf.IsRootMakefile() ? "ON" : "OFF");
|
||||||
|
|
||||||
// Set the CMAKE_PROJECT_NAME variable to be the highest-level
|
// Set the CMAKE_PROJECT_NAME variable to be the highest-level
|
||||||
// project name in the tree. If there are two project commands
|
// project name in the tree. If there are two project commands
|
||||||
|
@ -10,6 +10,26 @@ install(TARGETS hello
|
|||||||
LIBRARY DESTINATION .
|
LIBRARY DESTINATION .
|
||||||
BUNDLE DESTINATION .)
|
BUNDLE DESTINATION .)
|
||||||
|
|
||||||
|
# Component that is a reserved name on Windows.
|
||||||
|
# See https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file
|
||||||
|
install(
|
||||||
|
DIRECTORY .
|
||||||
|
DESTINATION txt
|
||||||
|
COMPONENT CON
|
||||||
|
FILES_MATCHING PATTERN *.txt)
|
||||||
|
# Component name that is similar to a reserved name on Windows.
|
||||||
|
install(
|
||||||
|
DIRECTORY .
|
||||||
|
DESTINATION txt
|
||||||
|
COMPONENT Console
|
||||||
|
FILES_MATCHING PATTERN *.txt)
|
||||||
|
# Component name that is strongly discouraged on Windows.
|
||||||
|
install(
|
||||||
|
DIRECTORY .
|
||||||
|
DESTINATION txt
|
||||||
|
COMPONENT EndsWithDot.
|
||||||
|
FILES_MATCHING PATTERN *.txt)
|
||||||
|
|
||||||
set(CPACK_NSIS_MUI_HEADERIMAGE "${PROJECT_SOURCE_DIR}\\\\header-image.bmp")
|
set(CPACK_NSIS_MUI_HEADERIMAGE "${PROJECT_SOURCE_DIR}\\\\header-image.bmp")
|
||||||
set(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}\\\\header-icon.bmp")
|
set(CPACK_PACKAGE_ICON "${PROJECT_SOURCE_DIR}\\\\header-icon.bmp")
|
||||||
set(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}\\\\install.ico")
|
set(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}\\\\install.ico")
|
||||||
|
@ -69,3 +69,24 @@ if("${output_index}" EQUAL "-1")
|
|||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "License found in the project")
|
message(FATAL_ERROR "License found in the project")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
file(STRINGS "${project_file}" line REGEX [[\\_CON\\]])
|
||||||
|
string(FIND "${line}" [[\_CON\]] output_index)
|
||||||
|
message(STATUS "Found CON component reserved directory name as _CON")
|
||||||
|
if("${output_index}" EQUAL "-1")
|
||||||
|
message(FATAL_ERROR "CON component reserved directory name not found as _CON in the project")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
file(STRINGS "${project_file}" line REGEX [[\\Console\\]])
|
||||||
|
string(FIND "${line}" [[\Console\]] output_index)
|
||||||
|
message(STATUS "Found Console component directory name as Console")
|
||||||
|
if("${output_index}" EQUAL "-1")
|
||||||
|
message(FATAL_ERROR "Console component directory name not found as Console in the project")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
file(STRINGS "${project_file}" line REGEX [[\\EndsWithDot._\\]])
|
||||||
|
string(FIND "${line}" [[\EndsWithDot._\]] output_index)
|
||||||
|
message(STATUS "Found EndsWithDot. component directory name as EndsWithDot._")
|
||||||
|
if("${output_index}" EQUAL "-1")
|
||||||
|
message(FATAL_ERROR "EndsWithDot. component directory name not found as EndsWithDot._ in the project")
|
||||||
|
endif()
|
||||||
|
11
Tests/RunCMake/project/ProjectCMP0126.cmake
Normal file
11
Tests/RunCMake/project/ProjectCMP0126.cmake
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
cmake_policy(SET CMP0126 NEW)
|
||||||
|
set(example_SOURCE_DIR "bad/path")
|
||||||
|
set(example_BINARY_DIR "bad/path")
|
||||||
|
project(example LANGUAGES)
|
||||||
|
|
||||||
|
if(NOT "${example_SOURCE_DIR}" STREQUAL "${PROJECT_SOURCE_DIR}")
|
||||||
|
message(FATAL_ERROR "example_SOURCE_DIR not set to expected value")
|
||||||
|
endif()
|
||||||
|
if(NOT "${example_BINARY_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
|
||||||
|
message(FATAL_ERROR "example_BINARY_DIR not set to expected value")
|
||||||
|
endif()
|
@ -33,6 +33,7 @@ run_cmake(LanguagesUnordered)
|
|||||||
if(RunCMake_GENERATOR MATCHES "Make|Ninja")
|
if(RunCMake_GENERATOR MATCHES "Make|Ninja")
|
||||||
run_cmake(LanguagesUsedButNotEnabled)
|
run_cmake(LanguagesUsedButNotEnabled)
|
||||||
endif()
|
endif()
|
||||||
|
run_cmake(ProjectCMP0126)
|
||||||
run_cmake(ProjectDescription)
|
run_cmake(ProjectDescription)
|
||||||
run_cmake(ProjectDescription2)
|
run_cmake(ProjectDescription2)
|
||||||
run_cmake(ProjectDescriptionNoArg)
|
run_cmake(ProjectDescriptionNoArg)
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
namespace dap {
|
namespace dap {
|
||||||
class ReaderWriter;
|
class ReaderWriter;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user