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  6fdba8b8beb6d971a3c2efe8973cdee970dfd40a (commit)
       via  058217669fdb089f652c68b9eb0a3231a7172c91 (commit)
       via  707283981fd455bf0bf3ec62a669cf1c0a2e1edb (commit)
       via  8ca1b262863d8a5cbb8306a52873101c2e940f78 (commit)
       via  37da6af17d0d2cc8b499dc58f74866351e06c288 (commit)
      from  d724060459f6adb5e7d99efde08c8fbacc4fdb5d (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=6fdba8b8beb6d971a3c2efe8973cdee970dfd40a
commit 6fdba8b8beb6d971a3c2efe8973cdee970dfd40a
Merge: 0582176 7072839
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Apr 3 18:06:38 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Apr 3 14:07:11 2019 -0400

    Merge topic 'refactor-lang-flags'
    
    707283981f VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* 
lookup
    8ca1b26286 cmLocalGenerator: Factor IPO logic out of AddLanguageFlags
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3177


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=058217669fdb089f652c68b9eb0a3231a7172c91
commit 058217669fdb089f652c68b9eb0a3231a7172c91
Merge: d724060 37da6af
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Apr 3 18:05:32 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Wed Apr 3 14:05:57 2019 -0400

    Merge topic 'find-dependency-fix-17583'
    
    37da6af17d find_dependency: Always search dependencies
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3161


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=707283981fd455bf0bf3ec62a669cf1c0a2e1edb
commit 707283981fd455bf0bf3ec62a669cf1c0a2e1edb
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Apr 1 13:38:55 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Apr 2 14:23:46 2019 -0400

    VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* lookup

diff --git a/Source/cmLocalVisualStudio7Generator.cxx 
b/Source/cmLocalVisualStudio7Generator.cxx
index e519d78..7ba3471 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -662,14 +662,7 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(
     langForClCompile = linkLanguage;
     if (langForClCompile == "C" || langForClCompile == "CXX" ||
         langForClCompile == "Fortran") {
-      std::string baseFlagVar = "CMAKE_";
-      baseFlagVar += langForClCompile;
-      baseFlagVar += "_FLAGS";
-      flags = this->Makefile->GetRequiredDefinition(baseFlagVar);
-      std::string flagVar =
-        baseFlagVar + std::string("_") + cmSystemTools::UpperCase(configName);
-      flags += " ";
-      flags += this->Makefile->GetRequiredDefinition(flagVar);
+      this->AddLanguageFlags(flags, target, langForClCompile, configName);
     }
     // set the correct language
     if (linkLanguage == "C") {
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx 
b/Source/cmVisualStudio10TargetGenerator.cxx
index 8804e6c..5195957 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2540,14 +2540,8 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
   }
   this->LangForClCompile = langForClCompile;
   if (!langForClCompile.empty()) {
-    std::string baseFlagVar = "CMAKE_";
-    baseFlagVar += langForClCompile;
-    baseFlagVar += "_FLAGS";
-    flags = this->Makefile->GetRequiredDefinition(baseFlagVar);
-    std::string flagVar =
-      baseFlagVar + "_" + cmSystemTools::UpperCase(configName);
-    flags += " ";
-    flags += this->Makefile->GetRequiredDefinition(flagVar);
+    this->LocalGenerator->AddLanguageFlags(flags, this->GeneratorTarget,
+                                           langForClCompile, configName);
     this->LocalGenerator->AddCompileOptions(flags, this->GeneratorTarget,
                                             langForClCompile, configName);
   }

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8ca1b262863d8a5cbb8306a52873101c2e940f78
commit 8ca1b262863d8a5cbb8306a52873101c2e940f78
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Apr 1 13:37:02 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Apr 2 14:23:32 2019 -0400

    cmLocalGenerator: Factor IPO logic out of AddLanguageFlags
    
    The IPO flag logic was added to `AddLanguageFlags` based on my advice.
    However, this method should really only be about `CMAKE_<LANG>_FLAGS*`
    variables.  Move the IPO logic out to its call sites.

diff --git a/Source/cmGlobalXCodeGenerator.cxx 
b/Source/cmGlobalXCodeGenerator.cxx
index af165f6..2fc6121 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -1800,6 +1800,10 @@ void 
cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt,
     this->CurrentLocalGenerator->AddLanguageFlags(flags, gtgt, lang,
                                                   configName);
 
+    if (gtgt->IsIPOEnabled(lang, configName)) {
+      this->CurrentLocalGenerator->AppendFeatureOptions(flags, lang, "IPO");
+    }
+
     // Add shared-library flags if needed.
     this->CurrentLocalGenerator->AddCMP0018Flags(flags, gtgt, lang,
                                                  configName);
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 40b8e19..6337f07 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1258,6 +1258,10 @@ void 
cmLocalGenerator::GetTargetCompileFlags(cmGeneratorTarget* target,
   // Add language-specific flags.
   this->AddLanguageFlags(flags, target, lang, config);
 
+  if (target->IsIPOEnabled(lang, config)) {
+    this->AppendFeatureOptions(flags, lang, "IPO");
+  }
+
   this->AddArchitectureFlags(flags, target, lang, config);
 
   if (lang == "Fortran") {
@@ -1515,9 +1519,8 @@ void cmLocalGenerator::AddLanguageFlags(std::string& 
flags,
   flagsVar += "_FLAGS";
   this->AddConfigVariableFlags(flags, flagsVar, config);
 
-  if (target->IsIPOEnabled(lang, config)) {
-    this->AppendFeatureOptions(flags, lang, "IPO");
-  }
+  // Placeholder for possible future per-target flags.
+  static_cast<void>(target);
 }
 
 void cmLocalGenerator::AddLanguageFlagsForLinking(
@@ -1534,6 +1537,10 @@ void cmLocalGenerator::AddLanguageFlagsForLinking(
   }
 
   this->AddLanguageFlags(flags, target, lang, config);
+
+  if (target->IsIPOEnabled(lang, config)) {
+    this->AppendFeatureOptions(flags, lang, "IPO");
+  }
 }
 
 cmGeneratorTarget* cmLocalGenerator::FindGeneratorTargetToUse(

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=37da6af17d0d2cc8b499dc58f74866351e06c288
commit 37da6af17d0d2cc8b499dc58f74866351e06c288
Author:     Damien R <9464-damie...@users.noreply.gitlab.kitware.com>
AuthorDate: Fri Mar 29 00:47:23 2019 +0100
Commit:     Damien R <9464-damie...@users.noreply.gitlab.kitware.com>
CommitDate: Fri Mar 29 22:03:21 2019 +0100

    find_dependency: Always search dependencies
    
    When a dependency was already found, find_dependency did not search it
    again. While this works in basic case, it does not when there are
    components as the check does not take components into account.
    
    Given the fact that there is no documentation about this optimization and
    that the correct implementation is not trivial as it would require
    changes in find_package to have the list of components already found we
    always search dependencies.
    
    Fix #17583.

diff --git a/Modules/CMakeFindDependencyMacro.cmake 
b/Modules/CMakeFindDependencyMacro.cmake
index ab22701..bcdfbeb 100644
--- a/Modules/CMakeFindDependencyMacro.cmake
+++ b/Modules/CMakeFindDependencyMacro.cmake
@@ -31,35 +31,33 @@ CMakeFindDependencyMacro
 #]=======================================================================]
 
 macro(find_dependency dep)
-  if (NOT ${dep}_FOUND)
-    set(cmake_fd_quiet_arg)
-    if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
-      set(cmake_fd_quiet_arg QUIET)
-    endif()
-    set(cmake_fd_required_arg)
-    if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
-      set(cmake_fd_required_arg REQUIRED)
-    endif()
+  set(cmake_fd_quiet_arg)
+  if(${CMAKE_FIND_PACKAGE_NAME}_FIND_QUIETLY)
+    set(cmake_fd_quiet_arg QUIET)
+  endif()
+  set(cmake_fd_required_arg)
+  if(${CMAKE_FIND_PACKAGE_NAME}_FIND_REQUIRED)
+    set(cmake_fd_required_arg REQUIRED)
+  endif()
 
-    get_property(cmake_fd_alreadyTransitive GLOBAL PROPERTY
-      _CMAKE_${dep}_TRANSITIVE_DEPENDENCY
-    )
+  get_property(cmake_fd_alreadyTransitive GLOBAL PROPERTY
+    _CMAKE_${dep}_TRANSITIVE_DEPENDENCY
+  )
 
-    find_package(${dep} ${ARGN}
-      ${cmake_fd_quiet_arg}
-      ${cmake_fd_required_arg}
-    )
+  find_package(${dep} ${ARGN}
+    ${cmake_fd_quiet_arg}
+    ${cmake_fd_required_arg}
+  )
 
-    if(NOT DEFINED cmake_fd_alreadyTransitive OR cmake_fd_alreadyTransitive)
-      set_property(GLOBAL PROPERTY _CMAKE_${dep}_TRANSITIVE_DEPENDENCY TRUE)
-    endif()
+  if(NOT DEFINED cmake_fd_alreadyTransitive OR cmake_fd_alreadyTransitive)
+    set_property(GLOBAL PROPERTY _CMAKE_${dep}_TRANSITIVE_DEPENDENCY TRUE)
+  endif()
 
-    if (NOT ${dep}_FOUND)
-      set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE 
"${CMAKE_FIND_PACKAGE_NAME} could not be found because dependency ${dep} could 
not be found.")
-      set(${CMAKE_FIND_PACKAGE_NAME}_FOUND False)
-      return()
-    endif()
-    set(cmake_fd_required_arg)
-    set(cmake_fd_quiet_arg)
+  if (NOT ${dep}_FOUND)
+    set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE 
"${CMAKE_FIND_PACKAGE_NAME} could not be found because dependency ${dep} could 
not be found.")
+    set(${CMAKE_FIND_PACKAGE_NAME}_FOUND False)
+    return()
   endif()
+  set(cmake_fd_required_arg)
+  set(cmake_fd_quiet_arg)
 endmacro()
diff --git a/Tests/Module/FindDependency/CMakeLists.txt 
b/Tests/Module/FindDependency/CMakeLists.txt
index dcb998a..06d7dce 100644
--- a/Tests/Module/FindDependency/CMakeLists.txt
+++ b/Tests/Module/FindDependency/CMakeLists.txt
@@ -6,6 +6,8 @@ set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/packages")
 
 find_package(Pack1 REQUIRED)
 find_package(Pack4 4.3 EXACT REQUIRED)
+find_package(Pack7 REQUIRED)
+find_package(Pack8 REQUIRED)
 
 add_executable(FindDependency main.cpp)
-target_link_libraries(FindDependency Pack1::Lib Pack4::Lib)
+target_link_libraries(FindDependency Pack1::Lib Pack4::Lib Pack8::Lib)
diff --git a/Tests/Module/FindDependency/main.cpp 
b/Tests/Module/FindDependency/main.cpp
index 1df4cb5..4ee460f 100644
--- a/Tests/Module/FindDependency/main.cpp
+++ b/Tests/Module/FindDependency/main.cpp
@@ -23,6 +23,18 @@
 #  error Expected HAVE_PACK6
 #endif
 
+#ifndef HAVE_PACK7
+#  error Expected HAVE_PACK7
+#endif
+
+#ifndef HAVE_PACK7_COMP1
+#  error Expected HAVE_PACK7_COMP1
+#endif
+
+#ifndef HAVE_PACK8
+#  error Expected HAVE_PACK8
+#endif
+
 int main(int argc, char** argv)
 {
   return 0;
diff --git a/Tests/Module/FindDependency/packages/Pack7/Pack7Config.cmake 
b/Tests/Module/FindDependency/packages/Pack7/Pack7Config.cmake
new file mode 100644
index 0000000..9df1345
--- /dev/null
+++ b/Tests/Module/FindDependency/packages/Pack7/Pack7Config.cmake
@@ -0,0 +1,14 @@
+if(NOT Pack7_FOUND)
+  set(Pack7_FOUND 1)
+  add_library(Pack7::Pack7 INTERFACE IMPORTED)
+  set_property(TARGET Pack7::Pack7 PROPERTY INTERFACE_COMPILE_DEFINITIONS 
HAVE_PACK7)
+endif()
+
+foreach(module ${Pack7_FIND_COMPONENTS})
+  if(module STREQUAL "Comp1")
+    add_library(Pack7::Comp1 INTERFACE IMPORTED)
+    set_property(TARGET Pack7::Comp1 PROPERTY INTERFACE_COMPILE_DEFINITIONS 
HAVE_PACK7_COMP1)
+    set_property(TARGET Pack7::Comp1 PROPERTY INTERFACE_LINK_LIBRARIES 
Pack7::Pack7)
+    set(Pack7_Comp1_FOUND 1)
+  endif()
+endforeach()
diff --git a/Tests/Module/FindDependency/packages/Pack8/Pack8Config.cmake 
b/Tests/Module/FindDependency/packages/Pack8/Pack8Config.cmake
new file mode 100644
index 0000000..d7ca054
--- /dev/null
+++ b/Tests/Module/FindDependency/packages/Pack8/Pack8Config.cmake
@@ -0,0 +1,7 @@
+include(CMakeFindDependencyMacro)
+
+find_dependency(Pack7 REQUIRED COMPONENTS Comp1)
+
+add_library(Pack8::Lib INTERFACE IMPORTED)
+set_property(TARGET Pack8::Lib PROPERTY INTERFACE_COMPILE_DEFINITIONS 
HAVE_PACK8)
+set_property(TARGET Pack8::Lib PROPERTY INTERFACE_LINK_LIBRARIES Pack7::Comp1)

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

Summary of changes:
 Modules/CMakeFindDependencyMacro.cmake             | 50 +++++++++++-----------
 Source/cmGlobalXCodeGenerator.cxx                  |  4 ++
 Source/cmLocalGenerator.cxx                        | 13 ++++--
 Source/cmLocalVisualStudio7Generator.cxx           |  9 +---
 Source/cmVisualStudio10TargetGenerator.cxx         | 10 +----
 Tests/Module/FindDependency/CMakeLists.txt         |  4 +-
 Tests/Module/FindDependency/main.cpp               | 12 ++++++
 .../packages/Pack7/Pack7Config.cmake               | 14 ++++++
 .../packages/Pack8/Pack8Config.cmake               |  7 +++
 9 files changed, 77 insertions(+), 46 deletions(-)
 create mode 100644 Tests/Module/FindDependency/packages/Pack7/Pack7Config.cmake
 create mode 100644 Tests/Module/FindDependency/packages/Pack8/Pack8Config.cmake


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
https://cmake.org/mailman/listinfo/cmake-commits

Reply via email to