30 lines
876 B
CMake
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
|
|
)
|