[CMake] Set policy CMP0051 to OLD globally.
authorZachary Turner <zturner@google.com>
Tue, 24 Feb 2015 23:32:47 +0000 (23:32 +0000)
committerZachary Turner <zturner@google.com>
Tue, 24 Feb 2015 23:32:47 +0000 (23:32 +0000)
When you use generator expressions in a library sources list,
and then later access the SOURCES property, the OLD behavior
(CMake 3.0 and earlier) would not include these expressions in
the SOURCES property.  The NEW behavior (starting in CMake 3.1)
is that they do include the generator expressions in the SOURCES
property.

Differential Revision: http://reviews.llvm.org/D7870
Reviewed By: Chris Bieneman

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230396 91177308-0d34-0410-b5e6-96231b3b80d8

CMakeLists.txt

index 27784c4489216691e1f761b66dca63dd7f8c3ba9..ed7aeb026f5df99d3889db3956d8c421d9d395e3 100644 (file)
@@ -21,6 +21,15 @@ else()
   endif()
 endif()
 
+if (POLICY CMP0051)
+  # CMake 3.1 and higher include generator expressions of the form
+  # $<TARGETLIB:obj> in the SOURCES property.  These need to be
+  # stripped everywhere that access the SOURCES property, so we just
+  # defer to the OLD behavior of not including generator expressions
+  # in the output for now.
+  cmake_policy(SET CMP0051 OLD)
+endif()
+
 if(CMAKE_VERSION VERSION_LESS 3.1.20141117)
   set(cmake_3_2_USES_TERMINAL)
 else()