[Cmake-commits] CMake branch, next, updated. v3.0.0-rc4-2823-g716cf7d

Stephen Kelly steveire at gmail.com
Tue May 6 15:08:07 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  716cf7dca8e12e4692f5a78727e0cb393388df2b (commit)
       via  d648c4766ff56907bc17287077eeebcc9e40b184 (commit)
      from  4c1560ce1caab2bab72a0fca7ef73177b45327d3 (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=716cf7dca8e12e4692f5a78727e0cb393388df2b
commit 716cf7dca8e12e4692f5a78727e0cb393388df2b
Merge: 4c1560c d648c47
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue May 6 15:08:06 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue May 6 15:08:06 2014 -0400

    Merge topic 'no-assert-missing-objlib' into next
    
    d648c476 cmTarget: Don't assert on object libraries for configure-time location.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d648c4766ff56907bc17287077eeebcc9e40b184
commit d648c4766ff56907bc17287077eeebcc9e40b184
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue May 6 13:16:23 2014 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Tue May 6 21:07:40 2014 +0200

    cmTarget: Don't assert on object libraries for configure-time location.
    
    Commit b8af2011 (cmTarget: Fix listing of source files at
    configure-time., 2014-04-13) refactored a GetObjectLibrariesCMP0026
    method out of GetLanguages.  In flight, a conditional use of a target
    if available was changed to an assert-available.
    
    This code is only used to read the LOCATION property at configure
    time, when the link information is incomplete, and not all targets
    are defined, so the assert is inappropriate, even though it can lead
    to incorrect information being generated.  CMP0026 warns about the
    potentially incorrect information anyway.

diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 6a87342..9d96fd9 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -5406,8 +5406,10 @@ cmTarget::GetObjectLibrariesCMP0026(std::vector<cmTarget*>& objlibs) const
           continue;
           }
         cmTarget *objLib = this->Makefile->FindTargetToUse(objLibName.c_str());
-        assert(objLib);
-        objlibs.push_back(objLib);
+        if(objLib)
+          {
+          objlibs.push_back(objLib);
+          }
         }
       }
     }
diff --git a/Tests/RunCMake/CMP0026/ObjlibNotDefined-result.txt b/Tests/RunCMake/CMP0026/ObjlibNotDefined-result.txt
new file mode 100644
index 0000000..573541a
--- /dev/null
+++ b/Tests/RunCMake/CMP0026/ObjlibNotDefined-result.txt
@@ -0,0 +1 @@
+0
diff --git a/Tests/RunCMake/CMP0026/ObjlibNotDefined-stderr.txt b/Tests/RunCMake/CMP0026/ObjlibNotDefined-stderr.txt
new file mode 100644
index 0000000..87d198d
--- /dev/null
+++ b/Tests/RunCMake/CMP0026/ObjlibNotDefined-stderr.txt
@@ -0,0 +1,12 @@
+CMake Warning \(dev\) at ObjlibNotDefined.cmake:[0-9]+ \(get_target_property\):
+  Policy CMP0026 is not set: Disallow use of the LOCATION target property.
+  Run "cmake --help-policy CMP0026" for policy details.  Use the cmake_policy
+  command to set the policy and suppress this warning.
+
+  The LOCATION property should not be read from target "objlibuser".  Use the
+  target name directly with add_custom_command, or use the generator
+  expression \$<TARGET_FILE>, as appropriate.
+
+Call Stack \(most recent call first\):
+  CMakeLists.txt:3 \(include\)
+This warning is for project developers.  Use -Wno-dev to suppress it.
diff --git a/Tests/RunCMake/CMP0026/ObjlibNotDefined.cmake b/Tests/RunCMake/CMP0026/ObjlibNotDefined.cmake
new file mode 100644
index 0000000..194760c
--- /dev/null
+++ b/Tests/RunCMake/CMP0026/ObjlibNotDefined.cmake
@@ -0,0 +1,13 @@
+
+enable_language(CXX)
+
+add_executable(objlibuser
+    empty.cpp
+    $<TARGET_OBJECTS:bar>
+)
+
+get_target_property(_location objlibuser LOCATION)
+
+add_library(bar OBJECT
+    empty.cpp
+)
diff --git a/Tests/RunCMake/CMP0026/RunCMakeTest.cmake b/Tests/RunCMake/CMP0026/RunCMakeTest.cmake
index 1824cc6..7c2582f 100644
--- a/Tests/RunCMake/CMP0026/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CMP0026/RunCMakeTest.cmake
@@ -9,3 +9,4 @@ run_cmake(CMP0026-CONFIG-LOCATION-WARN)
 run_cmake(CMP0026-LOCATION-CONFIG-NEW)
 run_cmake(CMP0026-LOCATION-CONFIG-OLD)
 run_cmake(CMP0026-LOCATION-CONFIG-WARN)
+run_cmake(ObjlibNotDefined)

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

Summary of changes:


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list