| 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 |
| ) |