summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CTestCustom.cmake.in1
-rw-r--r--Modules/CMakeDetermineCompilerId.cmake7
-rw-r--r--Modules/FindBLAS.cmake8
-rw-r--r--Modules/FindBoost.cmake20
-rw-r--r--Modules/FindLAPACK.cmake2
-rw-r--r--Source/CMakeVersion.cmake4
-rw-r--r--Source/cmGlobalVisualStudioVersionedGenerator.cxx23
-rw-r--r--Source/cmQtAutoGenInitializer.cxx6
-rw-r--r--Source/cmVisualStudio10TargetGenerator.cxx3
-rw-r--r--Tests/CMakeLib/testCTestResourceSpec.cxx73
-rw-r--r--Tests/QtAutogen/SameName/CMakeLists.txt1
-rw-r--r--Tests/QtAutogen/SameName/main.cpp2
-rw-r--r--Tests/QtAutogen/SameName/object.hh13
-rw-r--r--Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake2
14 files changed, 89 insertions, 76 deletions
diff --git a/CTestCustom.cmake.in b/CTestCustom.cmake.in
index 823ee3cb7..d3ab9d3ef 100644
--- a/CTestCustom.cmake.in
+++ b/CTestCustom.cmake.in
@@ -49,6 +49,7 @@ list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
"WarningMessagesDialog\\.cxx"
"warning.*directory name.*CMake-Xcode.*/bin/.*does not exist.*"
"stl_deque.h:1051"
+ "Tests/CMakeLib/testCTestResourceSpec.cxx:.*warning: missing initializer for member.*cmCTestResourceSpec::.*" # GCC 4.8 disagrees with later compilers on C++11 initializer list conversion
"(Lexer|Parser).*warning.*conversion.*may (alter its value|change the sign)"
"(Lexer|Parser).*warning.*(statement is unreachable|will never be executed)"
"(Lexer|Parser).*warning.*variable.*was set but never used"
diff --git a/Modules/CMakeDetermineCompilerId.cmake b/Modules/CMakeDetermineCompilerId.cmake
index 908e530bd..7b571c3c8 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -284,10 +284,11 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
set(id_cl icl.exe)
endif()
if(CMAKE_VS_PLATFORM_TOOLSET_VERSION)
+ set(id_sep "\\")
if(CMAKE_VS_PLATFORM_TOOLSET_VERSION VERSION_GREATER_EQUAL "14.20")
- set(id_sep ".")
- else()
- set(id_sep "\\")
+ if(EXISTS "${CMAKE_GENERATOR_INSTANCE}/VC/Auxiliary/Build.${CMAKE_VS_PLATFORM_TOOLSET_VERSION}/Microsoft.VCToolsVersion.${CMAKE_VS_PLATFORM_TOOLSET_VERSION}.props")
+ set(id_sep ".")
+ endif()
endif()
set(id_toolset_version_props "<Import Project=\"${CMAKE_GENERATOR_INSTANCE}\\VC\\Auxiliary\\Build${id_sep}${CMAKE_VS_PLATFORM_TOOLSET_VERSION}\\Microsoft.VCToolsVersion.${CMAKE_VS_PLATFORM_TOOLSET_VERSION}.props\" />")
unset(id_sep)
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index 77f9d0e40..d3acafcd9 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -481,8 +481,12 @@ if (BLA_VENDOR STREQUAL "OpenBLAS" OR BLA_VENDOR STREQUAL "All")
""
)
endif()
- if(NOT BLAS_LIBRARIES)
- find_package(Threads)
+ if(NOT BLAS_LIBRARIES AND (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED))
+ if(BLAS_FIND_QUIETLY OR NOT BLAS_FIND_REQUIRED)
+ find_package(Threads)
+ else()
+ find_package(Threads REQUIRED)
+ endif()
# OpenBLAS (http://www.openblas.net)
check_fortran_libraries(
BLAS_LIBRARIES
diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index ef962bc16..0e84fabfc 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -1129,7 +1129,7 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
set(_Boost_TIMER_DEPENDENCIES chrono system)
set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono date_time atomic)
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
- elseif(NOT Boost_VERSION_STRING VERSION_LESS 1.70.0)
+ elseif(NOT Boost_VERSION_STRING VERSION_LESS 1.70.0 AND Boost_VERSION_STRING VERSION_LESS 1.72.0)
set(_Boost_CONTRACT_DEPENDENCIES thread chrono date_time)
set(_Boost_COROUTINE_DEPENDENCIES context)
set(_Boost_FIBER_DEPENDENCIES context)
@@ -1143,7 +1143,21 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
set(_Boost_TIMER_DEPENDENCIES chrono)
set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono date_time atomic)
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
- if(NOT Boost_VERSION_STRING VERSION_LESS 1.72.0)
+ elseif(NOT Boost_VERSION_STRING VERSION_LESS 1.72.0)
+ set(_Boost_CONTRACT_DEPENDENCIES thread chrono date_time)
+ set(_Boost_COROUTINE_DEPENDENCIES context)
+ set(_Boost_FIBER_DEPENDENCIES context)
+ set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+ set(_Boost_LOG_DEPENDENCIES date_time log_setup filesystem thread regex chrono atomic)
+ set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l chrono atomic)
+ set(_Boost_MPI_DEPENDENCIES serialization)
+ set(_Boost_MPI_PYTHON_DEPENDENCIES python${component_python_version} mpi serialization)
+ set(_Boost_NUMPY_DEPENDENCIES python${component_python_version})
+ set(_Boost_THREAD_DEPENDENCIES chrono date_time atomic)
+ set(_Boost_TIMER_DEPENDENCIES chrono)
+ set(_Boost_WAVE_DEPENDENCIES filesystem serialization thread chrono date_time atomic)
+ set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+ if(NOT Boost_VERSION_STRING VERSION_LESS 1.73.0)
message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
endif()
endif()
@@ -1415,7 +1429,7 @@ else()
# _Boost_COMPONENT_HEADERS. See the instructions at the top of
# _Boost_COMPONENT_DEPENDENCIES.
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
- "1.71.0" "1.71" "1.70.0" "1.70" "1.69.0" "1.69"
+ "1.72.0" "1.72" "1.71.0" "1.71" "1.70.0" "1.70" "1.69.0" "1.69"
"1.68.0" "1.68" "1.67.0" "1.67" "1.66.0" "1.66" "1.65.1" "1.65.0" "1.65"
"1.64.0" "1.64" "1.63.0" "1.63" "1.62.0" "1.62" "1.61.0" "1.61" "1.60.0" "1.60"
"1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index 844d36ddc..3cb365394 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -174,7 +174,7 @@ if(_libraries_work)
endif()
if(_libraries_work)
- if("${_list}" STREQUAL "")
+ if("${_list}${_blas}" STREQUAL "")
set(${LIBRARIES} "${LIBRARIES}-PLACEHOLDER-FOR-EMPTY-LIBRARIES")
else()
set(${LIBRARIES} ${${LIBRARIES}} ${_blas} ${_threads})
diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake
index 7020a5282..468df1376 100644
--- a/Source/CMakeVersion.cmake
+++ b/Source/CMakeVersion.cmake
@@ -1,7 +1,7 @@
# CMake version number components.
set(CMake_VERSION_MAJOR 3)
set(CMake_VERSION_MINOR 16)
-set(CMake_VERSION_PATCH 1)
+set(CMake_VERSION_PATCH 2)
#set(CMake_VERSION_RC 0)
set(CMake_VERSION_IS_DIRTY 0)
@@ -21,7 +21,7 @@ endif()
if(NOT CMake_VERSION_NO_GIT)
# If this source was exported by 'git archive', use its commit info.
- set(git_info [==[4771c4e447 CMake 3.16.1]==])
+ set(git_info [==[512ab500f0 CMake 3.16.2]==])
# 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]* "
diff --git a/Source/cmGlobalVisualStudioVersionedGenerator.cxx b/Source/cmGlobalVisualStudioVersionedGenerator.cxx
index 1eca1f600..a371633ed 100644
--- a/Source/cmGlobalVisualStudioVersionedGenerator.cxx
+++ b/Source/cmGlobalVisualStudioVersionedGenerator.cxx
@@ -6,6 +6,7 @@
#include "cmDocumentationEntry.h"
#include "cmLocalVisualStudio10Generator.h"
#include "cmMakefile.h"
+#include "cmStringAlgorithms.h"
#include "cmVSSetupHelper.h"
#include "cmake.h"
@@ -388,15 +389,19 @@ std::string cmGlobalVisualStudioVersionedGenerator::GetAuxiliaryToolset() const
if (version) {
std::string instancePath;
GetVSInstance(instancePath);
- std::stringstream path;
- path << instancePath;
- path << "/VC/Auxiliary/Build";
- path << (cmSystemTools::VersionCompareGreaterEq(version, "14.20") ? '.'
- : '/');
- path << version;
- path << "/Microsoft.VCToolsVersion." << version << ".props";
-
- std::string toolsetPath = path.str();
+ std::string toolsetDir = instancePath + "/VC/Auxiliary/Build";
+ char sep = '/';
+ if (cmSystemTools::VersionCompareGreaterEq(version, "14.20")) {
+ std::string toolsetDot =
+ cmStrCat(toolsetDir, '.', version, "/Microsoft.VCToolsVersion.",
+ version, ".props");
+ if (cmSystemTools::PathExists(toolsetDot)) {
+ sep = '.';
+ }
+ }
+ std::string toolsetPath =
+ cmStrCat(toolsetDir, sep, version, "/Microsoft.VCToolsVersion.", version,
+ ".props");
cmSystemTools::ConvertToUnixSlashes(toolsetPath);
return toolsetPath;
}
diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx
index a20f1060f..6b0fc1e93 100644
--- a/Source/cmQtAutoGenInitializer.cxx
+++ b/Source/cmQtAutoGenInitializer.cxx
@@ -764,7 +764,8 @@ bool cmQtAutoGenInitializer::InitScanFiles()
// Register files that will be scanned by moc or uic
if (this->MocOrUicEnabled()) {
- if (cm->IsHeaderExtension(extLower)) {
+ // FIXME: Add a policy to include .hh files.
+ if (cm->IsHeaderExtension(extLower) && extLower != "hh") {
addMUFile(makeMUFile(sf, fullPath, true), true);
} else if (cm->IsSourceExtension(extLower)) {
addMUFile(makeMUFile(sf, fullPath, true), false);
@@ -876,7 +877,8 @@ bool cmQtAutoGenInitializer::InitScanFiles()
std::string const& extLower =
cmSystemTools::LowerCase(sf->GetExtension());
- if (cm->IsHeaderExtension(extLower)) {
+ // FIXME: Add a policy to include .hh files.
+ if (cm->IsHeaderExtension(extLower) && extLower != "hh") {
if (!cmContains(this->AutogenTarget.Headers, sf)) {
auto muf = makeMUFile(sf, fullPath, false);
if (muf->SkipMoc || muf->SkipUic) {
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 5c0b881f6..53fc93cf6 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2399,6 +2399,9 @@ void cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
clOptions.AppendFlag("DisableSpecificWarnings",
"%(DisableSpecificWarnings)");
}
+ if (clOptions.HasFlag("ForcedIncludeFiles")) {
+ clOptions.AppendFlag("ForcedIncludeFiles", "%(ForcedIncludeFiles)");
+ }
if (configDependentDefines) {
clOptions.AddDefines(
genexInterpreter.Evaluate(configDefines, "COMPILE_DEFINITIONS"));
diff --git a/Tests/CMakeLib/testCTestResourceSpec.cxx b/Tests/CMakeLib/testCTestResourceSpec.cxx
index b69003d5a..99bee56c0 100644
--- a/Tests/CMakeLib/testCTestResourceSpec.cxx
+++ b/Tests/CMakeLib/testCTestResourceSpec.cxx
@@ -21,43 +21,42 @@ static const std::vector<ExpectedSpec> expectedResourceSpecs = {
{"threads", {
}},
}}}},
- {"spec2.json", true, {{{
- }}}},
- {"spec3.json", false, {{{}}}},
- {"spec4.json", false, {{{}}}},
- {"spec5.json", false, {{{}}}},
- {"spec6.json", false, {{{}}}},
- {"spec7.json", false, {{{}}}},
- {"spec8.json", false, {{{}}}},
- {"spec9.json", false, {{{}}}},
- {"spec10.json", false, {{{}}}},
- {"spec11.json", false, {{{}}}},
- {"spec12.json", false, {{{}}}},
- {"spec13.json", false, {{{}}}},
- {"spec14.json", true, {{{}}}},
- {"spec15.json", true, {{{}}}},
- {"spec16.json", true, {{{}}}},
- {"spec17.json", false, {{{}}}},
- {"spec18.json", false, {{{}}}},
- {"spec19.json", false, {{{}}}},
- {"spec20.json", true, {{{}}}},
- {"spec21.json", false, {{{}}}},
- {"spec22.json", false, {{{}}}},
- {"spec23.json", false, {{{}}}},
- {"spec24.json", false, {{{}}}},
- {"spec25.json", false, {{{}}}},
- {"spec26.json", false, {{{}}}},
- {"spec27.json", false, {{{}}}},
- {"spec28.json", false, {{{}}}},
- {"spec29.json", false, {{{}}}},
- {"spec30.json", false, {{{}}}},
- {"spec31.json", false, {{{}}}},
- {"spec32.json", false, {{{}}}},
- {"spec33.json", false, {{{}}}},
- {"spec34.json", false, {{{}}}},
- {"spec35.json", false, {{{}}}},
- {"spec36.json", false, {{{}}}},
- {"noexist.json", false, {{{}}}},
+ {"spec2.json", true, {}},
+ {"spec3.json", false, {}},
+ {"spec4.json", false, {}},
+ {"spec5.json", false, {}},
+ {"spec6.json", false, {}},
+ {"spec7.json", false, {}},
+ {"spec8.json", false, {}},
+ {"spec9.json", false, {}},
+ {"spec10.json", false, {}},
+ {"spec11.json", false, {}},
+ {"spec12.json", false, {}},
+ {"spec13.json", false, {}},
+ {"spec14.json", true, {}},
+ {"spec15.json", true, {}},
+ {"spec16.json", true, {}},
+ {"spec17.json", false, {}},
+ {"spec18.json", false, {}},
+ {"spec19.json", false, {}},
+ {"spec20.json", true, {}},
+ {"spec21.json", false, {}},
+ {"spec22.json", false, {}},
+ {"spec23.json", false, {}},
+ {"spec24.json", false, {}},
+ {"spec25.json", false, {}},
+ {"spec26.json", false, {}},
+ {"spec27.json", false, {}},
+ {"spec28.json", false, {}},
+ {"spec29.json", false, {}},
+ {"spec30.json", false, {}},
+ {"spec31.json", false, {}},
+ {"spec32.json", false, {}},
+ {"spec33.json", false, {}},
+ {"spec34.json", false, {}},
+ {"spec35.json", false, {}},
+ {"spec36.json", false, {}},
+ {"noexist.json", false, {}},
/* clang-format on */
};
diff --git a/Tests/QtAutogen/SameName/CMakeLists.txt b/Tests/QtAutogen/SameName/CMakeLists.txt
index 1919cc739..cd29a2a85 100644
--- a/Tests/QtAutogen/SameName/CMakeLists.txt
+++ b/Tests/QtAutogen/SameName/CMakeLists.txt
@@ -18,7 +18,6 @@ add_executable(sameName
ccc/data.qrc
item.cpp
object.h
- object.hh
object.h++
object.hpp
object.hxx
diff --git a/Tests/QtAutogen/SameName/main.cpp b/Tests/QtAutogen/SameName/main.cpp
index 725f4cd7b..19a6f6d1b 100644
--- a/Tests/QtAutogen/SameName/main.cpp
+++ b/Tests/QtAutogen/SameName/main.cpp
@@ -6,7 +6,6 @@
#include "item.hpp"
#include "object.h"
#include "object.h++"
-#include "object.hh"
#include "object.hpp"
#include "object.hxx"
#include "object_upper_ext.H"
@@ -22,7 +21,6 @@ int main(int argv, char** args)
::ccc::Item ccc_item;
// Object instances
::Object_h obj_h;
- ::Object_hh obj_hh;
::Object_hplpl obj_hplpl;
::Object_hpp obj_hpp;
::Object_hxx obj_hxx;
diff --git a/Tests/QtAutogen/SameName/object.hh b/Tests/QtAutogen/SameName/object.hh
deleted file mode 100644
index 3e16f8332..000000000
--- a/Tests/QtAutogen/SameName/object.hh
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef OBJECT_HH
-#define OBJECT_HH
-
-#include <QObject>
-
-class Object_hh : public QObject
-{
- Q_OBJECT
- Q_SLOT
- void go(){};
-};
-
-#endif
diff --git a/Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake b/Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake
index 27842f98e..91cea0ef8 100644
--- a/Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake
+++ b/Tests/RunCMake/VS10Project/VsPrecompileHeaders-check.cmake
@@ -31,7 +31,7 @@ foreach(line IN LISTS tgt_projects_strings)
set(have_pch_header ON)
endif()
- if (line MATCHES "<ForcedIncludeFiles.*>.*${pch_header}</ForcedIncludeFiles>")
+ if (line MATCHES "<ForcedIncludeFiles.*>.*${pch_header}.*</ForcedIncludeFiles>")
set(have_force_pch_header ON)
endif()