Imported Upstream version 3.14.3 upstream/3.14.3
authorDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 8 Oct 2021 00:13:54 +0000 (09:13 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Fri, 8 Oct 2021 00:13:54 +0000 (09:13 +0900)
19 files changed:
Help/generator/Visual Studio 16 2019.rst
Help/manual/cmake-variables.7.rst
Help/release/3.14.rst
Help/variable/CMAKE_VS_PLATFORM_NAME.rst
Help/variable/CMAKE_VS_PLATFORM_NAME_DEFAULT.rst [new file with mode: 0644]
Modules/FindBoost.cmake
Modules/FindOpenGL.cmake
Modules/FindQt3.cmake
Modules/InstallRequiredSystemLibraries.cmake
Source/CMakeVersion.cmake
Source/cmGlobalVisualStudio7Generator.cxx
Source/cmGlobalVisualStudioGenerator.cxx
Source/cmGlobalVisualStudioGenerator.h
Tests/FindBoost/CMakeLists.txt
Tests/FindBoost/TestPython/CMakeLists.txt [new file with mode: 0644]
Tests/RunCMake/CTestCommandLine/show_only_json_check.pyc
Tests/RunCMake/FileAPI/check_index.pyc
Tests/RunCMake/GeneratorPlatform/TestPlatform-toolchain.cmake
Tests/RunCMake/GeneratorPlatform/TestPlatformToolchain-stderr.txt

index b456554..4aec7f7 100644 (file)
@@ -28,7 +28,8 @@ by default.
 Platform Selection
 ^^^^^^^^^^^^^^^^^^
 
-The default target platform name (architecture) is that of the host.
+The default target platform name (architecture) is that of the host
+and is provided in the :variable:`CMAKE_VS_PLATFORM_NAME_DEFAULT` variable.
 
 The :variable:`CMAKE_GENERATOR_PLATFORM` variable may be set, perhaps
 via the :manual:`cmake(1)` ``-A`` option, to specify a target platform
index 6bb30cb..5c494b8 100644 (file)
@@ -105,6 +105,7 @@ Variables that Provide Information
    /variable/CMAKE_VS_MSBUILD_COMMAND
    /variable/CMAKE_VS_NsightTegra_VERSION
    /variable/CMAKE_VS_PLATFORM_NAME
+   /variable/CMAKE_VS_PLATFORM_NAME_DEFAULT
    /variable/CMAKE_VS_PLATFORM_TOOLSET
    /variable/CMAKE_VS_PLATFORM_TOOLSET_CUDA
    /variable/CMAKE_VS_PLATFORM_TOOLSET_HOST_ARCHITECTURE
index f2a91c6..c208304 100644 (file)
@@ -137,6 +137,10 @@ Variables
   relocatable and reproducible builds that are invariant of the build
   directory.
 
+* A :variable:`CMAKE_VS_PLATFORM_NAME_DEFAULT` variable was added for
+  :ref:`Visual Studio Generators` to report their default platform used
+  when :variable:`CMAKE_GENERATOR_PLATFORM` is not set explicitly.
+
 Properties
 ----------
 
@@ -391,3 +395,10 @@ Changes made since CMake 3.14.0 include the following.
   our conventions.  3.14.1 revises the module to use ``Fontconfig_*``
   variable names.  This is incompatible with 3.14.0 but since the
   module is new in the 3.14 series usage should not yet be widespread.
+
+3.14.3
+------
+
+* The :variable:`CMAKE_VS_PLATFORM_NAME_DEFAULT` variable was added
+  to help toolchain files work with the :generator:`Visual Studio 16 2019`
+  generator where the default platform now depends on the host platform.
index a532743..7a4642a 100644 (file)
@@ -1,8 +1,10 @@
 CMAKE_VS_PLATFORM_NAME
 ----------------------
 
-Visual Studio target platform name.
+Visual Studio target platform name used by the current generator.
 
 VS 8 and above allow project files to specify a target platform.
 CMake provides the name of the chosen platform in this variable.
 See the :variable:`CMAKE_GENERATOR_PLATFORM` variable for details.
+
+See also the :variable:`CMAKE_VS_PLATFORM_NAME_DEFAULT` variable.
diff --git a/Help/variable/CMAKE_VS_PLATFORM_NAME_DEFAULT.rst b/Help/variable/CMAKE_VS_PLATFORM_NAME_DEFAULT.rst
new file mode 100644 (file)
index 0000000..c18e6fd
--- /dev/null
@@ -0,0 +1,9 @@
+CMAKE_VS_PLATFORM_NAME_DEFAULT
+------------------------------
+
+Default for the Visual Studio target platform name for the current generator
+without considering the value of the :variable:`CMAKE_GENERATOR_PLATFORM`
+variable.  For :ref:`Visual Studio Generators` for VS 2017 and below this is
+always ``Win32``.  For VS 2019 and above this is based on the host platform.
+
+See also the :variable:`CMAKE_VS_PLATFORM_NAME` variable.
index 7882c4b..b5cc4cf 100644 (file)
@@ -466,8 +466,17 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
   elseif (GHSMULTI)
     set(_boost_COMPILER "-ghs")
   elseif("x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
-    if(MSVC_TOOLSET_VERSION GREATER_EQUAL 141)
-      set(_boost_COMPILER "-vc141;-vc140")
+    if(MSVC_TOOLSET_VERSION GREATER_EQUAL 150)
+      # Not yet known.
+      set(_boost_COMPILER "")
+    elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 140)
+      # MSVC toolset 14.x versions are forward compatible.
+      set(_boost_COMPILER "")
+      foreach(v 9 8 7 6 5 4 3 2 1 0)
+        if(MSVC_TOOLSET_VERSION GREATER_EQUAL 14${v})
+          list(APPEND _boost_COMPILER "-vc14${v}")
+        endif()
+      endforeach()
     elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 80)
       set(_boost_COMPILER "-vc${MSVC_TOOLSET_VERSION}")
     elseif(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 13.10)
@@ -1077,9 +1086,15 @@ function(_Boost_UPDATE_WINDOWS_LIBRARY_SEARCH_DIRS_WITH_PREBUILT_PATHS component
     else()
       set(_arch_suffix 32)
     endif()
-    if(MSVC_TOOLSET_VERSION GREATER_EQUAL 141)
-      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.1)
-      list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.0)
+    if(MSVC_TOOLSET_VERSION GREATER_EQUAL 150)
+      # Not yet known.
+    elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 140)
+      # MSVC toolset 14.x versions are forward compatible.
+      foreach(v 9 8 7 6 5 4 3 2 1 0)
+        if(MSVC_TOOLSET_VERSION GREATER_EQUAL 14${v})
+          list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-14.${v})
+        endif()
+      endforeach()
     elseif(MSVC_TOOLSET_VERSION GREATER_EQUAL 80)
       math(EXPR _toolset_major_version "${MSVC_TOOLSET_VERSION} / 10")
       list(APPEND ${componentlibvar} ${basedir}/lib${_arch_suffix}-msvc-${_toolset_major_version}.0)
@@ -1756,7 +1771,7 @@ foreach(COMPONENT ${Boost_FIND_COMPONENTS})
     list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}${COMPONENT_PYTHON_VERSION_MAJOR}-py${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
     list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-py${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
     # Gentoo
-    list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
+    list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}.${COMPONENT_PYTHON_VERSION_MINOR}")
     # RPMs
     list(APPEND _Boost_FIND_LIBRARY_HINTS_FOR_COMPONENT_NAME "${COMPONENT_UNVERSIONED}-${COMPONENT_PYTHON_VERSION_MAJOR}${COMPONENT_PYTHON_VERSION_MINOR}")
   endif()
index 832dca2..00db033 100644 (file)
@@ -205,11 +205,13 @@ else()
   find_library(OPENGL_glx_LIBRARY
     NAMES GLX
     PATHS ${_OPENGL_LIB_PATH}
+    PATH_SUFFIXES libglvnd
   )
 
   find_library(OPENGL_egl_LIBRARY
     NAMES EGL
     PATHS ${_OPENGL_LIB_PATH}
+    PATH_SUFFIXES libglvnd
   )
 
   find_library(OPENGL_glu_LIBRARY
@@ -264,6 +266,7 @@ else()
             /usr/openwin/lib
             /usr/shlib
             ${_OPENGL_LIB_PATH}
+      PATH_SUFFIXES libglvnd
       )
   endif()
 
index 4a8e28b..563ed46 100644 (file)
@@ -101,7 +101,7 @@ if (QT_MT_REQUIRED)
       /usr/share/qt3
       C:/Progra~1/qt
     PATH_SUFFIXES
-      lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
+      lib lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
     )
 
 else ()
@@ -119,7 +119,7 @@ else ()
       /usr/share/qt3
       C:/Progra~1/qt/lib
     PATH_SUFFIXES
-      lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
+      lib lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
     )
 endif ()
 
@@ -135,7 +135,7 @@ find_library(QT_QASSISTANTCLIENT_LIBRARY
     /usr/share/qt3
     C:/Progra~1/qt
   PATH_SUFFIXES
-    lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
+    lib lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
   )
 
 # Qt 3 should prefer QTDIR over the PATH
@@ -151,7 +151,7 @@ find_program(QT_MOC_EXECUTABLE
     /usr/share/qt3
     C:/Progra~1/qt
   PATH_SUFFIXES
-    lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
+    bin lib/qt lib/qt3 qt qt3 qt/bin qt3/bin lib/qt/bin lib/qt3/bin
   )
 
 if(QT_MOC_EXECUTABLE)
@@ -171,7 +171,7 @@ find_program(QT_UIC_EXECUTABLE
     /usr/share/qt3
     C:/Progra~1/qt
   PATH_SUFFIXES
-    lib/qt lib/qt3 qt qt3 qt/lib qt3/lib
+    bin lib/qt lib/qt3 qt qt3 qt/bin qt3/bin lib/qt/bin lib/qt3/bin
   )
 
 if(QT_UIC_EXECUTABLE)
@@ -188,6 +188,8 @@ if (WIN32)
     PATHS
       "$ENV{ProgramFiles}/qt"
       "C:/Program Files/qt"
+    PATH_SUFFIXES
+      lib
     DOC "This Library is only needed by and included with Qt3 on MSWindows. It should be NOTFOUND, undefined or IGNORE otherwise."
     )
 endif ()
index 2f34a7a..0a98895 100644 (file)
@@ -213,10 +213,13 @@ if(MSVC)
   elseif(MSVC_VERSION_VERSION GREATER_EQUAL 143)
     message(WARNING "MSVC toolset v${MSVC_VERSION_VERSION} not yet supported.")
   elseif(MSVC_TOOLSET_VERSION EQUAL 142)
-    # FIXME: VS 2019 RC 4 uses VC141 but an update will fix it to be VC142.
-    set(MSVC_REDIST_NAME VC141)
+    set(MSVC_REDIST_NAME VC142)
     set(_MSVC_DLL_VERSION 140)
     set(_MSVC_IDE_VERSION 16)
+    if(MSVC_VERSION EQUAL 1920)
+      # VS2019 named this differently prior to update 1.
+      set(MSVC_REDIST_NAME VC141)
+    endif()
   elseif(MSVC_TOOLSET_VERSION EQUAL 141)
     set(MSVC_REDIST_NAME VC141)
     set(_MSVC_DLL_VERSION 140)
index 3beb8af..d774345 100644 (file)
@@ -1,5 +1,5 @@
 # CMake version number components.
 set(CMake_VERSION_MAJOR 3)
 set(CMake_VERSION_MINOR 14)
-set(CMake_VERSION_PATCH 2)
+set(CMake_VERSION_PATCH 3)
 #set(CMake_VERSION_RC 0)
index d457f60..d138c1e 100644 (file)
@@ -101,7 +101,7 @@ void cmGlobalVisualStudio7Generator::EnableLanguage(
   }
 
   // Create list of configurations requested by user's cache, if any.
-  this->cmGlobalGenerator::EnableLanguage(lang, mf, optional);
+  this->cmGlobalVisualStudioGenerator::EnableLanguage(lang, mf, optional);
 
   // if this environment variable is set, then copy it to
   // a static cache entry.  It will be used by
index 639dc22..f3ed76b 100644 (file)
@@ -52,6 +52,14 @@ void cmGlobalVisualStudioGenerator::SetVersion(VSVersion v)
   this->Version = v;
 }
 
+void cmGlobalVisualStudioGenerator::EnableLanguage(
+  std::vector<std::string> const& lang, cmMakefile* mf, bool optional)
+{
+  mf->AddDefinition("CMAKE_VS_PLATFORM_NAME_DEFAULT",
+                    this->DefaultPlatformName.c_str());
+  this->cmGlobalGenerator::EnableLanguage(lang, mf, optional);
+}
+
 bool cmGlobalVisualStudioGenerator::SetGeneratorPlatform(std::string const& p,
                                                          cmMakefile* mf)
 {
index 039191c..cbab329 100644 (file)
@@ -50,6 +50,9 @@ public:
   /** Is the installed VS an Express edition?  */
   bool IsExpressEdition() const { return this->ExpressEdition; }
 
+  void EnableLanguage(std::vector<std::string> const& languages, cmMakefile*,
+                      bool optional) override;
+
   bool SetGeneratorPlatform(std::string const& p, cmMakefile* mf) override;
 
   /**
index 17a8ec7..58d795b 100644 (file)
@@ -33,3 +33,16 @@ add_test(NAME FindBoost.TestHeaders COMMAND
   --build-options ${build_options}
   --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
   )
+
+if (CMake_TEST_FindBoost_Python)
+  add_test(NAME FindBoost.TestPython COMMAND
+    ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
+    --build-and-test
+    "${CMake_SOURCE_DIR}/Tests/FindBoost/TestPython"
+    "${CMake_BINARY_DIR}/Tests/FindBoost/TestPython"
+    ${build_generator_args}
+    --build-project TestFindBoostPython
+    --build-options ${build_options}
+    --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
+    )
+endif ()
diff --git a/Tests/FindBoost/TestPython/CMakeLists.txt b/Tests/FindBoost/TestPython/CMakeLists.txt
new file mode 100644 (file)
index 0000000..4d137ca
--- /dev/null
@@ -0,0 +1,17 @@
+cmake_minimum_required(VERSION 3.14)
+project(TestFindBoostPython CXX)
+include(CTest)
+
+find_package(Boost OPTIONAL_COMPONENTS python27 python34 python35 python36 python37)
+
+set(FAILTEST TRUE)
+foreach (v IN ITEMS 27 34 35 36 37)
+  if (Boost_PYTHON${v}_FOUND)
+    set(FAILTEST FALSE)
+    break()
+  endif ()
+endforeach ()
+
+if (FAILTEST)
+  message(FATAL_ERROR "No Boost Python module found")
+endif ()
index 5c7865a..7a75704 100644 (file)
Binary files a/Tests/RunCMake/CTestCommandLine/show_only_json_check.pyc and b/Tests/RunCMake/CTestCommandLine/show_only_json_check.pyc differ
index 95f7018..6c069b7 100644 (file)
Binary files a/Tests/RunCMake/FileAPI/check_index.pyc and b/Tests/RunCMake/FileAPI/check_index.pyc differ
index 763478c..d8138b8 100644 (file)
@@ -1 +1,2 @@
+message("CMAKE_VS_PLATFORM_NAME_DEFAULT is \"${CMAKE_VS_PLATFORM_NAME_DEFAULT}\"")
 set(CMAKE_GENERATOR_PLATFORM "Test Platform")
index b9bb3b2..6867790 100644 (file)
@@ -1,3 +1,4 @@
+CMAKE_VS_PLATFORM_NAME_DEFAULT is "[^"]+"
 CMake Error at TestPlatformToolchain.cmake:[0-9]+ \(message\):
   CMAKE_GENERATOR_PLATFORM is "Test Platform" as expected.
 Call Stack \(most recent call first\):