CMake/Tests/ExternalProjectSubdir/CMakeLists.txt

30 lines
876 B
CMake

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
CMAKE_ARGS -DNORMAL_VAR=NORMAL_VALUE -DGENEX_VAR=$<1:GENEX_VALUE>
LOG_CONFIGURE 1
BUILD_COMMAND ""
INSTALL_COMMAND ""
DEPENDS PreSubdir1Interface
)