summaryrefslogtreecommitdiffstats
path: root/Tests/ExternalProjectUpdate
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-09-14 19:05:33 (GMT)
committerBrad King <brad.king@kitware.com>2020-09-18 17:46:45 (GMT)
commitb8ecd4df5f9259f102d82011693eca6282be5ae6 (patch)
tree435d7ae8fc75a2ca97b4b1d5fc7404fbe92a4045 /Tests/ExternalProjectUpdate
parentfe258f638276c879bbdd2ac165ac4caba0efc921 (diff)
downloadCMake-b8ecd4df5f9259f102d82011693eca6282be5ae6.zip
CMake-b8ecd4df5f9259f102d82011693eca6282be5ae6.tar.gz
CMake-b8ecd4df5f9259f102d82011693eca6282be5ae6.tar.bz2
ExternalProject: Use CMP0114 NEW behavior with Xcode "new build system"
The ExternalProject module cannot be implemented in the Xcode "new build system" without using CMP0114's NEW behavior. When configuring for that build system, warn if the policy is not set to NEW and use NEW behavior anyway.
Diffstat (limited to 'Tests/ExternalProjectUpdate')
-rw-r--r--Tests/ExternalProjectUpdate/CMakeLists.txt19
1 files changed, 16 insertions, 3 deletions
diff --git a/Tests/ExternalProjectUpdate/CMakeLists.txt b/Tests/ExternalProjectUpdate/CMakeLists.txt
index 9dddae2..563a6cf 100644
--- a/Tests/ExternalProjectUpdate/CMakeLists.txt
+++ b/Tests/ExternalProjectUpdate/CMakeLists.txt
@@ -1,5 +1,9 @@
cmake_minimum_required(VERSION 2.8)
project(ExternalProjectUpdateTest NONE)
+if(CMAKE_XCODE_BUILD_SYSTEM VERSION_GREATER_EQUAL 12)
+ cmake_policy(SET CMP0114 NEW)
+endif()
+cmake_policy(GET CMP0114 cmp0114)
include(ExternalProject)
@@ -18,8 +22,16 @@ set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER
set(base "${CMAKE_BINARY_DIR}/CMakeExternals")
set(binary_base "${base}/Build")
set_property(DIRECTORY PROPERTY EP_BASE ${base})
-set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test)
-set_property(DIRECTORY PROPERTY EP_INDEPENDENT_STEP_TARGETS update)
+if(cmp0114 STREQUAL "NEW")
+ set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test update)
+ set(TestUpdateCommand_STEP_TARGETS STEP_TARGETS update)
+ set(TestUpdateCommand_INDEPENDENT_STEP_TARGETS)
+else()
+ set_property(DIRECTORY PROPERTY EP_STEP_TARGETS configure build test)
+ set_property(DIRECTORY PROPERTY EP_INDEPENDENT_STEP_TARGETS update)
+ set(TestUpdateCommand_STEP_TARGETS)
+ set(TestUpdateCommand_INDEPENDENT_STEP_TARGETS INDEPENDENT_STEP_TARGETS update)
+endif()
ExternalProject_Add(TestUpdateCommand
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}
@@ -28,7 +40,8 @@ ExternalProject_Add(TestUpdateCommand
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
- INDEPENDENT_STEP_TARGETS update
+ ${TestUpdateCommand_STEP_TARGETS}
+ ${TestUpdateCommand_INDEPENDENT_STEP_TARGETS}
)
add_custom_target(TestUpdateCommandDriver ALL)
add_dependencies(TestUpdateCommandDriver TestUpdateCommand-update)