[Cmake-commits] CMake branch, next, updated. v3.0.2-2081-g05ba09f

Stephen Kelly steveire at gmail.com
Wed Oct 15 17:39:40 EDT 2014


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  05ba09fc6e695dcbca39289c756f15c7b02f3e5b (commit)
       via  28fedb192175668668e02e0bfd47fde337b83899 (commit)
      from  9dbd3a493b0161893d04737cc3dad30fb8677ab5 (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=05ba09fc6e695dcbca39289c756f15c7b02f3e5b
commit 05ba09fc6e695dcbca39289c756f15c7b02f3e5b
Merge: 9dbd3a4 28fedb1
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Oct 15 17:39:40 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Oct 15 17:39:40 2014 -0400

    Merge topic 'fix-file-GENERATE-source-files' into next
    
    28fedb19 file(GENERATE): Evaluate early to allow generating source files


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=28fedb192175668668e02e0bfd47fde337b83899
commit 28fedb192175668668e02e0bfd47fde337b83899
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Wed Oct 15 23:26:00 2014 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Wed Oct 15 23:39:18 2014 +0200

    file(GENERATE): Evaluate early to allow generating source files
    
    The evaluation files must be present before TraceDependencies
    attempts to find them.

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index ae0e807..7e46f05 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1253,6 +1253,8 @@ void cmGlobalGenerator::Generate()
   // Create per-target generator information.
   this->CreateGeneratorTargets();
 
+  this->ProcessEvaluationFiles();
+
   this->ForceLinkerLanguages();
 
 #ifdef CMAKE_BUILD_WITH_CMAKE
@@ -1276,8 +1278,6 @@ void cmGlobalGenerator::Generate()
     this->LocalGenerators[i]->GenerateTargetManifest();
     }
 
-  this->ProcessEvaluationFiles();
-
   // Compute the inter-target dependencies.
   if(!this->ComputeTargetDepends())
     {
diff --git a/Tests/RunCMake/File_Generate/GenerateSource-result.txt b/Tests/RunCMake/File_Generate/GenerateSource-result.txt
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/Tests/RunCMake/File_Generate/GenerateSource-result.txt
@@ -0,0 +1 @@
+0
diff --git a/Tests/RunCMake/File_Generate/GenerateSource-stderr.txt b/Tests/RunCMake/File_Generate/GenerateSource-stderr.txt
new file mode 100644
index 0000000..10f3293
--- /dev/null
+++ b/Tests/RunCMake/File_Generate/GenerateSource-stderr.txt
@@ -0,0 +1 @@
+^$
diff --git a/Tests/RunCMake/File_Generate/GenerateSource.cmake b/Tests/RunCMake/File_Generate/GenerateSource.cmake
new file mode 100644
index 0000000..8a419ce
--- /dev/null
+++ b/Tests/RunCMake/File_Generate/GenerateSource.cmake
@@ -0,0 +1,14 @@
+
+cmake_minimum_required(VERSION 3.0)
+
+project(cmaketest)
+
+# Ensure re-generation
+file(REMOVE "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
+
+file(GENERATE
+  OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/main.cpp"
+  CONTENT "int main() { return 0; }\n"
+)
+
+add_executable(mn "${CMAKE_CURRENT_BINARY_DIR}/main.cpp")
diff --git a/Tests/RunCMake/File_Generate/RunCMakeTest.cmake b/Tests/RunCMake/File_Generate/RunCMakeTest.cmake
index dee0692..fb0e917 100644
--- a/Tests/RunCMake/File_Generate/RunCMakeTest.cmake
+++ b/Tests/RunCMake/File_Generate/RunCMakeTest.cmake
@@ -8,6 +8,7 @@ run_cmake(EmptyCondition1)
 run_cmake(EmptyCondition2)
 run_cmake(BadCondition)
 run_cmake(DebugEvaluate)
+run_cmake(GenerateSource)
 
 set(timeformat "%Y%j%H%M%S")
 

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

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list