]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: enable CMP0051 21662/head
authorKefu Chai <kchai@redhat.com>
Thu, 26 Apr 2018 08:46:57 +0000 (16:46 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 26 Apr 2018 08:47:54 +0000 (16:47 +0800)
the new behavior of get_target_property(<var> <target> SOURCES) will be
enforced in future versions of cmake, so let ready for this change now
by removing the generator expressions from the returned source file
list.

Signed-off-by: Kefu Chai <kchai@redhat.com>
CMakeLists.txt
cmake/modules/BuildBoost.cmake

index a037c510268453f44d30602754c5957eebed8f5c..0edada58891d79db4064bb89b7a9d2ceadacaf6d 100644 (file)
@@ -19,13 +19,7 @@ if(POLICY CMP0065)
   cmake_policy(SET CMP0065 NEW)
 endif()
 if(POLICY CMP0051)
-  # cmake 3.1 and higher include generator expressions in SOURCES property.
-  # in BuildBoost.cmake, get_target_property(<var> <target> SOURCES) is used
-  # to retrieve the source files of a target. in that case, we are only
-  # interested in the *source* files. and i don't want to bother stripping off
-  # the TARGET_OBJECTS elements from the returned SOURCES. so let's stick with
-  # the old behavior now.
-  cmake_policy(SET CMP0051 OLD)
+  cmake_policy(SET CMP0051 NEW)
 endif()
 list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
 
index 819a9b74471362366730eae047b59d433b0b05ff..d6572115a47a1fcfa927bc9ed61709d8ae652d4e 100644 (file)
@@ -254,6 +254,9 @@ function(maybe_add_boost_dep target)
     return()
   endif()
   get_target_property(sources ${target} SOURCES)
+  if(NOT CMAKE_VERSION VERSION_LESS 3.1)
+    string(GENEX_STRIP "${sources}" sources)
+  endif()
   foreach(src ${sources})
     get_filename_component(ext ${src} EXT)
     # assuming all cxx source files include boost header(s)