[Cmake-commits] CMake branch, master, updated. v3.9.1-575-g797196c

Kitware Robot kwrobot at kitware.com
Thu Aug 24 09:35:07 EDT 2017


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, master has been updated
       via  797196c8a7d1a21d1551357f244daa23cf7c918f (commit)
       via  65ca67cef19bae85c4fd3582b474e9f95d3c9eb1 (commit)
       via  94299c496d54d037db35575447b011c6c8a35b0a (commit)
       via  061b4f24be8281a1504f6993602d79b61b862d6d (commit)
       via  efd0c013373f99e1e45310e24fced72d439d4adf (commit)
       via  90a34ff79196c90b64ab16066f957e51a78a7375 (commit)
       via  6756b552eedbe3f2185e02638701c11cd5799b86 (commit)
       via  fa114e7d708b76f33878f6f82a6c2a2e50c1c10f (commit)
       via  e66e8e891454b4addcb7dbd57a8bdc5eeaf7bff3 (commit)
      from  fe19fda2aa2595622c463fccaa8b36a91e4521c4 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=797196c8a7d1a21d1551357f244daa23cf7c918f
commit 797196c8a7d1a21d1551357f244daa23cf7c918f
Merge: 65ca67c efd0c01
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Aug 24 13:34:03 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Aug 24 09:34:43 2017 -0400

    Merge topic 'vs-sdk-refs'
    
    efd0c013 VS: Fix VS_SDK_REFERENCES when target is not a Windows 10 app
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1166


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=65ca67cef19bae85c4fd3582b474e9f95d3c9eb1
commit 65ca67cef19bae85c4fd3582b474e9f95d3c9eb1
Merge: 94299c4 fa114e7
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Aug 24 13:33:38 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Aug 24 09:34:22 2017 -0400

    Merge topic 'boost-1.65'
    
    fa114e7d FindBoost: Add Boost 1.65 dependencies
    e66e8e89 BoostScanDeps: Special case python and numpy and variants
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1172


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=94299c496d54d037db35575447b011c6c8a35b0a
commit 94299c496d54d037db35575447b011c6c8a35b0a
Merge: 061b4f2 90a34ff
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Aug 24 13:33:18 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Aug 24 09:33:55 2017 -0400

    Merge topic 'ninja-gfortran-fpreprocessed'
    
    90a34ff7 Ninja: Fix references to source files in gfortran diagnostics
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1146


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=061b4f24be8281a1504f6993602d79b61b862d6d
commit 061b4f24be8281a1504f6993602d79b61b862d6d
Merge: fe19fda 6756b55
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Aug 24 13:32:46 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Aug 24 09:33:24 2017 -0400

    Merge topic 'ipo-test-output'
    
    6756b552 Tests: Print more info on CheckIPOSupported test failure
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1177


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=efd0c013373f99e1e45310e24fced72d439d4adf
commit efd0c013373f99e1e45310e24fced72d439d4adf
Author:     Roc Ramon <rcrmn16 at gmail.com>
AuthorDate: Mon Aug 21 09:08:37 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 23 15:43:46 2017 -0400

    VS: Fix VS_SDK_REFERENCES when target is not a Windows 10 app
    
    Close the `<ItemGroup>` element whenever it is opened.

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index e1a0c83..35b7350 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -3698,10 +3698,10 @@ void cmVisualStudio10TargetGenerator::WriteSDKReferences()
         this->WriteSingleSDKReference("WindowsIoT", iotExtensionsVersion);
       }
     }
+  }
 
-    if (hasWrittenItemGroup) {
-      this->WriteString("</ItemGroup>\n", 1);
-    }
+  if (hasWrittenItemGroup) {
+    this->WriteString("</ItemGroup>\n", 1);
   }
 }
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=90a34ff79196c90b64ab16066f957e51a78a7375
commit 90a34ff79196c90b64ab16066f957e51a78a7375
Author:     Raul Laasner <raullaasner at gmail.com>
AuthorDate: Wed Aug 16 14:12:35 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 23 15:32:44 2017 -0400

    Ninja: Fix references to source files in gfortran diagnostics
    
    The Ninja generator preprocesses and compiles separately for Fortran.
    When compiling, tell gfortran that the source is already preprocessed so
    that it will honor the `# <line>` directives when producing diagnostics
    messages.
    
    Fixes: #17160

diff --git a/Modules/Compiler/GNU-Fortran.cmake b/Modules/Compiler/GNU-Fortran.cmake
index 94dc275..c333d50 100644
--- a/Modules/Compiler/GNU-Fortran.cmake
+++ b/Modules/Compiler/GNU-Fortran.cmake
@@ -7,6 +7,8 @@ set(CMAKE_Fortran_PREPROCESS_SOURCE
 set(CMAKE_Fortran_FORMAT_FIXED_FLAG "-ffixed-form")
 set(CMAKE_Fortran_FORMAT_FREE_FLAG "-ffree-form")
 
+set(CMAKE_Fortran_POSTPROCESS_FLAG "-fpreprocessed")
+
 # No -DNDEBUG for Fortran.
 string(APPEND CMAKE_Fortran_FLAGS_MINSIZEREL_INIT " -Os")
 string(APPEND CMAKE_Fortran_FLAGS_RELEASE_INIT " -O3")
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 7cc6ede..4b16dc7 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -891,9 +891,15 @@ void cmNinjaTargetGenerator::WriteObjectBuildStatement(
     // The actual compilation will now use the preprocessed source.
     explicitDeps.push_back(ppFileName);
 
-    // Preprocessing and compilation use the same flags.
+    // Preprocessing and compilation generally use the same flags.
     ppVars["FLAGS"] = vars["FLAGS"];
 
+    // In case compilation requires flags that are incompatible with
+    // preprocessing, include them here.
+    std::string const postFlag =
+      this->Makefile->GetSafeDefinition("CMAKE_Fortran_POSTPROCESS_FLAG");
+    this->LocalGenerator->AppendFlags(vars["FLAGS"], postFlag);
+
     // Move preprocessor definitions to the preprocessor build statement.
     std::swap(ppVars["DEFINES"], vars["DEFINES"]);
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6756b552eedbe3f2185e02638701c11cd5799b86
commit 6756b552eedbe3f2185e02638701c11cd5799b86
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Aug 23 08:30:32 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Aug 23 08:43:28 2017 -0400

    Tests: Print more info on CheckIPOSupported test failure

diff --git a/Tests/Module/CheckIPOSupported-C/CMakeLists.txt b/Tests/Module/CheckIPOSupported-C/CMakeLists.txt
index 607dcd3..4a41a98 100644
--- a/Tests/Module/CheckIPOSupported-C/CMakeLists.txt
+++ b/Tests/Module/CheckIPOSupported-C/CMakeLists.txt
@@ -4,11 +4,12 @@ project(CheckIPOSupported-C LANGUAGES C)
 cmake_policy(SET CMP0069 NEW)
 
 include(CheckIPOSupported)
-check_ipo_supported(RESULT ipo_supported)
+check_ipo_supported(RESULT ipo_supported OUTPUT ipo_output)
 if(ipo_supported)
   set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
 elseif(CMake_TEST_IPO_WORKS_C)
-  message(FATAL_ERROR "IPO expected to work")
+  string(REPLACE "\n" "\n  " ipo_output "${ipo_output}")
+  message(FATAL_ERROR "IPO expected to work, but the check failed:\n  ${ipo_output}")
 endif()
 
 add_library(foo foo.c)
diff --git a/Tests/Module/CheckIPOSupported-CXX/CMakeLists.txt b/Tests/Module/CheckIPOSupported-CXX/CMakeLists.txt
index 2dede93..1bb2b84 100644
--- a/Tests/Module/CheckIPOSupported-CXX/CMakeLists.txt
+++ b/Tests/Module/CheckIPOSupported-CXX/CMakeLists.txt
@@ -4,11 +4,12 @@ project(CheckIPOSupported-CXX LANGUAGES CXX)
 cmake_policy(SET CMP0069 NEW)
 
 include(CheckIPOSupported)
-check_ipo_supported(RESULT ipo_supported)
+check_ipo_supported(RESULT ipo_supported OUTPUT ipo_output)
 if(ipo_supported)
   set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
 elseif(CMake_TEST_IPO_WORKS_CXX)
-  message(FATAL_ERROR "IPO expected to work")
+  string(REPLACE "\n" "\n  " ipo_output "${ipo_output}")
+  message(FATAL_ERROR "IPO expected to work, but the check failed:\n  ${ipo_output}")
 endif()
 
 add_library(foo foo.cpp)
diff --git a/Tests/Module/CheckIPOSupported-Fortran/CMakeLists.txt b/Tests/Module/CheckIPOSupported-Fortran/CMakeLists.txt
index dee5c25..3872b56 100644
--- a/Tests/Module/CheckIPOSupported-Fortran/CMakeLists.txt
+++ b/Tests/Module/CheckIPOSupported-Fortran/CMakeLists.txt
@@ -4,11 +4,12 @@ project(CheckIPOSupported-Fortran LANGUAGES Fortran)
 cmake_policy(SET CMP0069 NEW)
 
 include(CheckIPOSupported)
-check_ipo_supported(RESULT ipo_supported)
+check_ipo_supported(RESULT ipo_supported OUTPUT ipo_output)
 if(ipo_supported)
   set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
 elseif(CMake_TEST_IPO_WORKS_Fortran)
-  message(FATAL_ERROR "IPO expected to work")
+  string(REPLACE "\n" "\n  " ipo_output "${ipo_output}")
+  message(FATAL_ERROR "IPO expected to work, but the check failed:\n  ${ipo_output}")
 endif()
 
 add_library(foo foo.f)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fa114e7d708b76f33878f6f82a6c2a2e50c1c10f
commit fa114e7d708b76f33878f6f82a6c2a2e50c1c10f
Author:     Roger Leigh <rleigh at dundee.ac.uk>
AuthorDate: Tue Aug 22 16:09:06 2017 +0100
Commit:     Roger Leigh <rleigh at dundee.ac.uk>
CommitDate: Tue Aug 22 17:03:36 2017 +0100

    FindBoost: Add Boost 1.65 dependencies

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index b4abf75..b28f2b8 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -554,7 +554,10 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
   # The addition of a new release should only require it to be run
   # against the new release.
   set(_Boost_IMPORTED_TARGETS TRUE)
-  if(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500)
+  if(Boost_VERSION VERSION_LESS 103300)
+    message(WARNING "Imported targets and dependency information not available for Boost version ${Boost_VERSION} (all versions older than 1.33)")
+    set(_Boost_IMPORTED_TARGETS FALSE)
+  elseif(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500)
     set(_Boost_IOSTREAMS_DEPENDENCIES regex thread)
     set(_Boost_REGEX_DEPENDENCIES thread)
     set(_Boost_WAVE_DEPENDENCIES filesystem thread)
@@ -768,8 +771,27 @@ function(_Boost_COMPONENT_DEPENDENCIES component _ret)
     set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
     set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
   else()
-    message(WARNING "Imported targets not available for Boost version ${Boost_VERSION}")
-    set(_Boost_IMPORTED_TARGETS FALSE)
+    if(NOT Boost_VERSION VERSION_LESS 106500)
+      set(_Boost_CHRONO_DEPENDENCIES system)
+      set(_Boost_CONTEXT_DEPENDENCIES thread chrono system date_time)
+      set(_Boost_COROUTINE_DEPENDENCIES context system)
+      set(_Boost_FIBER_DEPENDENCIES context thread chrono system date_time)
+      set(_Boost_FILESYSTEM_DEPENDENCIES system)
+      set(_Boost_IOSTREAMS_DEPENDENCIES regex)
+      set(_Boost_LOG_DEPENDENCIES date_time log_setup system filesystem thread regex chrono atomic)
+      set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
+      set(_Boost_MPI_DEPENDENCIES serialization)
+      set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
+      set(_Boost_NUMPY_DEPENDENCIES python)
+      set(_Boost_RANDOM_DEPENDENCIES system)
+      set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
+      set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
+      set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
+    endif()
+    if(NOT Boost_VERSION VERSION_LESS 106600)
+      message(WARNING "New Boost version may have incorrect or missing dependencies and imported targets")
+      set(_Boost_IMPORTED_TARGETS FALSE)
+    endif()
   endif()
 
   string(TOUPPER ${component} uppercomponent)
@@ -819,6 +841,7 @@ function(_Boost_COMPONENT_HEADERS component _hdrs)
   set(_Boost_MATH_TR1L_HEADERS           "boost/math/tr1.hpp")
   set(_Boost_MPI_HEADERS                 "boost/mpi.hpp")
   set(_Boost_MPI_PYTHON_HEADERS          "boost/mpi/python/config.hpp")
+  set(_Boost_NUMPY_HEADERS               "boost/python/numpy.hpp")
   set(_Boost_PRG_EXEC_MONITOR_HEADERS    "boost/test/prg_exec_monitor.hpp")
   set(_Boost_PROGRAM_OPTIONS_HEADERS     "boost/program_options.hpp")
   set(_Boost_PYTHON_HEADERS              "boost/python.hpp")
@@ -1000,6 +1023,7 @@ else()
   # _Boost_COMPONENT_HEADERS.  See the instructions at the top of
   # _Boost_COMPONENT_DEPENDENCIES.
   set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
+    "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"
     "1.54.0" "1.54" "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e66e8e891454b4addcb7dbd57a8bdc5eeaf7bff3
commit e66e8e891454b4addcb7dbd57a8bdc5eeaf7bff3
Author:     Roger Leigh <rleigh at dundee.ac.uk>
AuthorDate: Tue Aug 22 15:11:22 2017 +0100
Commit:     Roger Leigh <rleigh at dundee.ac.uk>
CommitDate: Tue Aug 22 17:03:35 2017 +0100

    BoostScanDeps: Special case python and numpy and variants

diff --git a/Utilities/Scripts/BoostScanDeps.cmake b/Utilities/Scripts/BoostScanDeps.cmake
index 2fd8f86..bd2e6a8 100644
--- a/Utilities/Scripts/BoostScanDeps.cmake
+++ b/Utilities/Scripts/BoostScanDeps.cmake
@@ -39,29 +39,40 @@ function(_Boost_FIND_COMPONENT_DEPENDENCIES component includedir _ret_libs)
 
   # Start by finding all headers for the component; header
   # dependencies via #include will be solved by future passes
+  file(GLOB_RECURSE _boost_mpi_python_headers
+    RELATIVE "${includedir}"
+    "${includedir}/boost/mpi/python/*")
+  list(INSERT _boost_mpi_python_headers 0 "boost/mpi/python.hpp")
+
+  file(GLOB_RECURSE _boost_python_numpy_headers
+    RELATIVE "${includedir}"
+    "${includedir}/boost/python/numpy/*")
+  list(INSERT _boost_python_numpy_headers 0 "boost/python/numpy.hpp")
 
   # Special-case since it is part of mpi; look only in boost/mpi/python*
   if(component STREQUAL "mpi_python")
     set(_boost_DEPS "python")
     set(library_component TRUE)
-    file(GLOB_RECURSE _boost_unprocessed_headers
-         RELATIVE "${includedir}"
-         "${includedir}/boost/mpi/python/*")
-    list(INSERT _boost_unprocessed_headers 0 "${includedir}/boost/mpi/python.hpp")
+    set(_boost_unprocessed_headers ${_boost_mpi_python_headers})
+  # Special-case since it is part of python; look only in boost/python/numpy*
+  elseif(component STREQUAL "numpy")
+    set(_boost_DEPS "python")
+    set(library_component TRUE)
+    set(_boost_unprocessed_headers ${_boost_python_numpy_headers})
   # Special-case since it is a serialization variant; look in boost/serialization
   elseif(component STREQUAL "wserialization")
     set(library_component TRUE)
     file(GLOB_RECURSE _boost_unprocessed_headers
          RELATIVE "${includedir}"
          "${includedir}/boost/serialization/*")
-    list(INSERT _boost_unprocessed_headers 0 "${includedir}/boost/serialization.hpp")
+    list(INSERT _boost_unprocessed_headers 0 "boost/serialization.hpp")
   # Not really a library in its own right, but treat it as one
   elseif(component STREQUAL "math")
     set(library_component TRUE)
     file(GLOB_RECURSE _boost_unprocessed_headers
          RELATIVE "${includedir}"
          "${includedir}/boost/math/*")
-    list(INSERT _boost_unprocessed_headers 0 "${includedir}/boost/math.hpp")
+    list(INSERT _boost_unprocessed_headers 0 "boost/math.hpp")
   # Single test header
   elseif(component STREQUAL "unit_test_framework")
     set(library_component TRUE)
@@ -79,7 +90,8 @@ function(_Boost_FIND_COMPONENT_DEPENDENCIES component includedir _ret_libs)
     file(GLOB_RECURSE _boost_unprocessed_headers
          RELATIVE "${includedir}"
          "${includedir}/boost/${component}/*")
-    list(INSERT _boost_unprocessed_headers 0 "${includedir}/boost/${component}.hpp")
+    list(INSERT _boost_unprocessed_headers 0 "boost/${component}.hpp")
+    list(REMOVE_ITEM _boost_unprocessed_headers ${_boost_mpi_python_headers} ${_boost_python_numpy_headers})
   endif()
 
   while(_boost_unprocessed_headers)
@@ -102,6 +114,8 @@ function(_Boost_FIND_COMPONENT_DEPENDENCIES component includedir _ret_libs)
 
         foreach(line ${_boost_header_deps})
           string(REGEX REPLACE "^[ \t]*#[ \t]*define[ \t][ \t]*BOOST_LIB_NAME[ \t][ \t]*boost_([^ \t][^ \t]*).*" "\\1" _boost_component_match "${line}")
+          string(REPLACE "python3" "python" _boost_component_match "${_boost_component_match}")
+          string(REPLACE "numpy3" "numpy" _boost_component_match "${_boost_component_match}")
           list(FIND _boost_DEPS "${_boost_component_match}" _boost_dep_found)
           if(_boost_component_match STREQUAL "bzip2" OR
              _boost_component_match STREQUAL "zlib")
@@ -119,6 +133,12 @@ function(_Boost_FIND_COMPONENT_DEPENDENCIES component includedir _ret_libs)
             # hard dependency (handle as special-case for mpi_python).
             continue()
           endif()
+          if(component STREQUAL "python" AND
+             boost_component_match STREQUAL "numpy")
+            # Optional python dependency; skip to avoid making it a
+            # hard dependency (handle as special-case for numpy).
+            continue()
+          endif()
           if (_boost_dep_found EQUAL -1 AND
               NOT "${_boost_component_match}" STREQUAL "${component}")
             list(APPEND _boost_DEPS "${_boost_component_match}")
@@ -168,6 +188,11 @@ if(IS_DIRECTORY "${BOOST_DIR}/boost/mpi" AND
    IS_DIRECTORY "${BOOST_DIR}/boost/python")
  list(APPEND boost_components "mpi_python")
 endif()
+# Special-case numpy, since it's a part of python
+if(IS_DIRECTORY "${BOOST_DIR}/boost/python" AND
+   IS_DIRECTORY "${BOOST_DIR}/boost/python/numpy")
+ list(APPEND boost_components "numpy")
+endif()
 # Special-case wserialization, which is a variant of serialization
 if(IS_DIRECTORY "${BOOST_DIR}/boost/serialization")
  list(APPEND boost_components "wserialization")

-----------------------------------------------------------------------

Summary of changes:
 Modules/Compiler/GNU-Fortran.cmake                 |    2 +
 Modules/FindBoost.cmake                            |   30 +++++++++++++--
 Source/cmNinjaTargetGenerator.cxx                  |    8 +++-
 Source/cmVisualStudio10TargetGenerator.cxx         |    6 +--
 Tests/Module/CheckIPOSupported-C/CMakeLists.txt    |    5 ++-
 Tests/Module/CheckIPOSupported-CXX/CMakeLists.txt  |    5 ++-
 .../CheckIPOSupported-Fortran/CMakeLists.txt       |    5 ++-
 Utilities/Scripts/BoostScanDeps.cmake              |   39 ++++++++++++++++----
 8 files changed, 80 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list