summaryrefslogtreecommitdiffstats
path: root/Tests/ExternalProjectSubdir/CMakeLists.txt
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2015-04-21 15:32:22 (GMT)
committerBrad King <brad.king@kitware.com>2015-04-22 12:48:52 (GMT)
commite1c6df392bae4f807bbc56f2c4320de412f48721 (patch)
tree6ef9578dcdbdd01d6ee5059374c56a590a326392 /Tests/ExternalProjectSubdir/CMakeLists.txt
parentc0502faa4b6c0a3c33d1b0dd346801ff8d4f8b0d (diff)
downloadCMake-e1c6df392bae4f807bbc56f2c4320de412f48721.zip
CMake-e1c6df392bae4f807bbc56f2c4320de412f48721.tar.gz
CMake-e1c6df392bae4f807bbc56f2c4320de412f48721.tar.bz2
ExternalProject: Allow dependencies on INTERFACE libraries
Respect INTERFACE library property whitelist. Check that a target has type "UTILITY" before querying other properties.
Diffstat (limited to 'Tests/ExternalProjectSubdir/CMakeLists.txt')
-rw-r--r--Tests/ExternalProjectSubdir/CMakeLists.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/Tests/ExternalProjectSubdir/CMakeLists.txt b/Tests/ExternalProjectSubdir/CMakeLists.txt
index 013b418..e65087a 100644
--- a/Tests/ExternalProjectSubdir/CMakeLists.txt
+++ b/Tests/ExternalProjectSubdir/CMakeLists.txt
@@ -2,6 +2,19 @@ cmake_minimum_required(VERSION 3.2)
project(ExternalProjectSubdir NONE)
include(ExternalProject)
+# Remove the custom target output to be sure it runs in an
+# incremental test. Skip this on VS 6 because it sometimes
+# re-runs CMake after the custom command runs.
+if(NOT CMAKE_GENERATOR STREQUAL "Visual Studio 6")
+ file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/PreSubdir1.txt)
+endif()
+
+add_custom_target(PreSubdir1
+ COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/PreSubdir1.txt
+ )
+add_library(PreSubdir1Interface INTERFACE)
+add_dependencies(PreSubdir1Interface PreSubdir1)
+
ExternalProject_Add(Subdir1
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Subdir1
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/Subdir1
@@ -11,4 +24,6 @@ ExternalProject_Add(Subdir1
BUILD_COMMAND ""
INSTALL_COMMAND ""
+
+ DEPENDS PreSubdir1Interface
)