[Cmake-commits] CMake branch, next, updated. v3.3.2-3093-g1ed2b02

Stephen Kelly steveire at gmail.com
Fri Sep 18 14:10:57 EDT 2015


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, next has been updated
       via  1ed2b02276428ade4664e755ae53ebaae6383c7a (commit)
       via  d02c5b6e4dda77812f4de5410283aaeba5c0488e (commit)
       via  aacc182c0deda1dc8f98767737dd14afc2b2f78b (commit)
       via  b5de2bd9dea2d1b7bd2c128e0b1dff0f3bbda02b (commit)
      from  bb263cf5190cc181944ad126fafbfb4b3cd9ffdf (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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1ed2b02276428ade4664e755ae53ebaae6383c7a
commit 1ed2b02276428ade4664e755ae53ebaae6383c7a
Merge: bb263cf d02c5b6
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Sep 18 14:10:55 2015 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Sep 18 14:10:55 2015 -0400

    Merge topic 'fix-compatibility-mode-LOCATION' into next
    
    d02c5b6e CMP0026: Use compatibility codepath until configure is finished (#15748)
    aacc182c cmGlobalGenerator: Add API for the configure step being finished.
    b5de2bd9 cmLocalGenerator: Simplify condition.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d02c5b6e4dda77812f4de5410283aaeba5c0488e
commit d02c5b6e4dda77812f4de5410283aaeba5c0488e
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Sep 18 01:34:46 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Sep 18 20:05:52 2015 +0200

    CMP0026: Use compatibility codepath until configure is finished (#15748)
    
    Use it instead of the similar cmMakefile API.  It is necessary to
    know that the Configure step is completely done, not just that one
    particular cmMakefile is finished configuring.
    
    Prior to commit 611220f7 (cmTarget: Use reliable test for CMP0024 and CMP0026
    OLD., 2015-07-25), this was determined by checking whether cmGeneratorTargets
    exist yet, which happens after the Configure step.

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index fb5805b..555c437 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -2218,7 +2218,7 @@ cmGeneratorTarget::GetIncludeDirectories(const std::string& config,
                                  "INCLUDE_DIRECTORIES")
                         != debugProperties.end();
 
-  if (this->Makefile->IsConfigured())
+  if (this->GlobalGenerator->GetConfigureDoneCMP0026())
     {
     this->DebugIncludesDone = true;
     }
@@ -2365,7 +2365,7 @@ void cmGeneratorTarget::GetCompileOptions(std::vector<std::string> &result,
                                  "COMPILE_OPTIONS")
                         != debugProperties.end();
 
-  if (this->Makefile->IsConfigured())
+  if (this->GlobalGenerator->GetConfigureDoneCMP0026())
     {
     this->DebugCompileOptionsDone = true;
     }
@@ -2435,7 +2435,7 @@ void cmGeneratorTarget::GetCompileFeatures(std::vector<std::string> &result,
                                  "COMPILE_FEATURES")
                         != debugProperties.end();
 
-  if (this->Makefile->IsConfigured())
+  if (this->GlobalGenerator->GetConfigureDoneCMP0026())
     {
     this->DebugCompileFeaturesDone = true;
     }
@@ -2503,7 +2503,7 @@ void cmGeneratorTarget::GetCompileDefinitions(std::vector<std::string> &list,
                                 "COMPILE_DEFINITIONS")
                         != debugProperties.end();
 
-  if (this->Makefile->IsConfigured())
+  if (this->GlobalGenerator->GetConfigureDoneCMP0026())
     {
     this->DebugCompileDefinitionsDone = true;
     }
@@ -3937,7 +3937,7 @@ cmGeneratorTarget::ReportPropertyOrigin(const std::string &p,
                                  p)
                         != debugProperties.end();
 
-  if (this->Target->GetMakefile()->IsConfigured())
+  if (this->GlobalGenerator->GetConfigureDoneCMP0026())
     {
     this->DebugCompatiblePropertiesDone[p] = true;
     }
@@ -4504,7 +4504,7 @@ void cmGeneratorTarget::GetLanguages(std::set<std::string>& languages,
 
   std::vector<cmGeneratorTarget*> objectLibraries;
   std::vector<cmSourceFile const*> externalObjects;
-  if (!this->Makefile->IsConfigured())
+  if (!this->GlobalGenerator->GetConfigureDoneCMP0026())
     {
     std::vector<cmTarget*> objectTargets;
     this->Target->GetObjectLibrariesCMP0026(objectTargets);
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 2dfa19c..13e0d7e 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -636,7 +636,7 @@ void cmTarget::GetSourceFiles(std::vector<std::string> &files,
 {
   assert(this->GetType() != INTERFACE_LIBRARY);
 
-  if (!this->Makefile->IsConfigured())
+  if (!this->GetMakefile()->GetGlobalGenerator()->GetConfigureDoneCMP0026())
     {
     // At configure-time, this method can be called as part of getting the
     // LOCATION property or to export() a file to be include()d.  However
@@ -682,7 +682,7 @@ void cmTarget::GetSourceFiles(std::vector<std::string> &files,
                                  "SOURCES")
                         != debugProperties.end();
 
-  if (this->Makefile->IsConfigured())
+  if (this->GetMakefile()->GetGlobalGenerator()->GetConfigureDoneCMP0026())
     {
     this->DebugSourcesDone = true;
     }
diff --git a/Tests/RunCMake/CMP0026/RunCMakeTest.cmake b/Tests/RunCMake/CMP0026/RunCMakeTest.cmake
index fc58ea5..6331717 100644
--- a/Tests/RunCMake/CMP0026/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CMP0026/RunCMakeTest.cmake
@@ -11,3 +11,4 @@ run_cmake(CMP0026-LOCATION-CONFIG-OLD)
 run_cmake(CMP0026-LOCATION-CONFIG-WARN)
 run_cmake(ObjlibNotDefined)
 run_cmake(LOCATION-and-TARGET_OBJECTS)
+run_cmake(clear-cached-information)
diff --git a/Tests/RunCMake/CMP0026/clear-cached-information-dir/CMakeLists.txt b/Tests/RunCMake/CMP0026/clear-cached-information-dir/CMakeLists.txt
new file mode 100644
index 0000000..c51e883
--- /dev/null
+++ b/Tests/RunCMake/CMP0026/clear-cached-information-dir/CMakeLists.txt
@@ -0,0 +1,2 @@
+
+add_executable(Hello ${CMAKE_CURRENT_BINARY_DIR}/main.c)
diff --git a/Tests/RunCMake/CMP0026/clear-cached-information.cmake b/Tests/RunCMake/CMP0026/clear-cached-information.cmake
new file mode 100644
index 0000000..dd2dd72
--- /dev/null
+++ b/Tests/RunCMake/CMP0026/clear-cached-information.cmake
@@ -0,0 +1,14 @@
+
+enable_language(C)
+
+cmake_policy(SET CMP0026 OLD)
+
+add_subdirectory(clear-cached-information-dir)
+
+# Critical: this needs to happen in root CMakeLists.txt and not inside
+# the subdir.
+get_target_property(mypath Hello LOCATION)
+# Now we create the file later, so you can see, ultimately no error should
+# happen e.g. during generate phase:
+file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/clear-cached-information-dir/main.c)
+set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/clear-cached-information-dir/main.c PROPERTIES GENERATED TRUE)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=aacc182c0deda1dc8f98767737dd14afc2b2f78b
commit aacc182c0deda1dc8f98767737dd14afc2b2f78b
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Sep 18 01:34:46 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Sep 18 19:47:43 2015 +0200

    cmGlobalGenerator: Add API for the configure step being finished.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 33b04ac..b4ae618 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -72,6 +72,8 @@ cmGlobalGenerator::cmGlobalGenerator(cmake* cm)
   this->ExtraGenerator = 0;
   this->CurrentMakefile = 0;
   this->TryCompileOuterMakefile = 0;
+
+  this->ConfigureDoneCMP0026 = false;
 }
 
 cmGlobalGenerator::~cmGlobalGenerator()
@@ -1113,6 +1115,8 @@ void cmGlobalGenerator::Configure()
   dirMf->Configure();
   dirMf->EnforceDirectoryLevelRules();
 
+  this->ConfigureDoneCMP0026 = false;
+
   // Put a copy of each global target in every directory.
   cmTargets globalTargets;
   this->CreateDefaultGlobalTargets(&globalTargets);
diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h
index 9fc2d45..40f98dc 100644
--- a/Source/cmGlobalGenerator.h
+++ b/Source/cmGlobalGenerator.h
@@ -363,6 +363,8 @@ public:
   cmFileLockPool& GetFileLockPool() { return FileLockPool; }
 #endif
 
+  bool GetConfigureDoneCMP0026() const { return this->ConfigureDoneCMP0026; }
+
   std::string MakeSilentFlag;
 protected:
   typedef std::vector<cmLocalGenerator*> GeneratorVector;
@@ -520,6 +522,7 @@ protected:
   bool ForceUnixPaths;
   bool ToolSupportsColor;
   bool InstallTargetEnabled;
+  bool ConfigureDoneCMP0026;
 };
 
 #endif

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b5de2bd9dea2d1b7bd2c128e0b1dff0f3bbda02b
commit b5de2bd9dea2d1b7bd2c128e0b1dff0f3bbda02b
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Fri Sep 18 01:42:45 2015 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Fri Sep 18 19:41:47 2015 +0200

    cmLocalGenerator: Simplify condition.
    
    This API is only called after configure-time.

diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 97a9f1e..4418ead 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -2850,7 +2850,7 @@ cmIML_INT_uint64_t cmLocalGenerator::GetBackwardsCompatibility()
         }
       }
     this->BackwardsCompatibility = CMake_VERSION_ENCODE(major, minor, patch);
-    this->BackwardsCompatibilityFinal = this->Makefile->IsConfigured();
+    this->BackwardsCompatibilityFinal = true;
     }
 
   return this->BackwardsCompatibility;

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

Summary of changes:
 Source/cmGeneratorTarget.cxx                             |   12 ++++++------
 Source/cmGlobalGenerator.cxx                             |    4 ++++
 Source/cmGlobalGenerator.h                               |    3 +++
 Source/cmLocalGenerator.cxx                              |    2 +-
 Source/cmTarget.cxx                                      |    4 ++--
 Tests/RunCMake/CMP0026/RunCMakeTest.cmake                |    1 +
 .../CMP0026/clear-cached-information-dir/CMakeLists.txt  |    2 ++
 Tests/RunCMake/CMP0026/clear-cached-information.cmake    |   14 ++++++++++++++
 8 files changed, 33 insertions(+), 9 deletions(-)
 create mode 100644 Tests/RunCMake/CMP0026/clear-cached-information-dir/CMakeLists.txt
 create mode 100644 Tests/RunCMake/CMP0026/clear-cached-information.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list