Tests: Add case to cover ExternalProject with subdirectories

Add an ExternalProjectSubdir test directory with a minimal test showing
use of ExternalProject_Add for a source tree in a subdirectory.  This
will allow us to easily add test external projects that cover specific
behavior where the client project must check results.
This commit is contained in:
Brad King 2015-04-21 10:38:17 -04:00
parent 5a5ef00106
commit 1cf43dcf7c
3 changed files with 32 additions and 0 deletions

View File

@ -1326,6 +1326,18 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
set_tests_properties(ExternalProject PROPERTIES
TIMEOUT ${CMAKE_LONG_TEST_TIMEOUT})
add_test(NAME ExternalProjectSubdir
COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ExternalProjectSubdir"
"${CMake_BINARY_DIR}/Tests/ExternalProjectSubdir"
${build_generator_args}
--build-project ExternalProjectSubdir
--force-new-ctest-process
--build-options ${build_options}
)
list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/ExternalProjectSubdir")
add_test(ExternalProjectLocal ${CMAKE_CTEST_COMMAND}
--build-and-test
"${CMake_SOURCE_DIR}/Tests/ExternalProjectLocal"

View File

@ -0,0 +1,14 @@
cmake_minimum_required(VERSION 3.2)
project(ExternalProjectSubdir NONE)
include(ExternalProject)
ExternalProject_Add(Subdir1
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Subdir1
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/Subdir1
CMAKE_ARGS -DNORMAL_VAR=NORMAL_VALUE
LOG_CONFIGURE 1
BUILD_COMMAND ""
INSTALL_COMMAND ""
)

View File

@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 3.2)
project(Subdir1 NONE)
if(NOT "${NORMAL_VAR}" STREQUAL "NORMAL_VALUE")
message(SEND_ERROR "NORMAL_VAR != 'NORMAL_VALUE'")
endif()