CMake/Tests/MacRuntimePath/CMakeLists.txt
Brad King fd6076d075 Tests: Pass CMAKE_MAKE_PROGRAM instead of --build-makeprogram
Pass the CMAKE_TEST_MAKEPROGRAM, if any, to each test at CMake time in
the CMAKE_MAKE_PROGRAM cache entry.  Pass the CMAKE_TEST_MAKEPROGRAM
into the ExportImport, Fortran, and MacRuntimePath tests so that they
may do the same for the nested project configurations.

Now "ctest --build-and-test" can get the make program from the test
build tree cache, so drop the explicit --build-makeprogram.
2013-11-18 11:30:50 -05:00

71 lines
2.2 KiB
CMake

cmake_minimum_required (VERSION 2.8)
project(MacRuntimePath)
# Wipe out the install tree to make sure the exporter works.
add_custom_command(
OUTPUT ${MacRuntimePath_BINARY_DIR}/CleanupProject
COMMAND ${CMAKE_COMMAND} -E remove_directory ${MacRuntimePath_BINARY_DIR}/Root
)
add_custom_target(CleanupTarget ALL DEPENDS ${MacRuntimePath_BINARY_DIR}/CleanupProject)
set_property(
SOURCE ${MacRuntimePath_BINARY_DIR}/CleanupProject
PROPERTY SYMBOLIC 1
)
configure_file(${MacRuntimePath_SOURCE_DIR}/InitialCache.cmake.in
${MacRuntimePath_BINARY_DIR}/InitialCache.cmake @ONLY)
if(CMAKE_CONFIGURATION_TYPES)
set(NESTED_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
else()
if(CMAKE_BUILD_TYPE)
set(NESTED_CONFIG_TYPE -C "${CMAKE_BUILD_TYPE}")
else()
set(NESTED_CONFIG_TYPE)
endif()
endif()
# Build and install the exporter.
add_custom_command(
OUTPUT ${MacRuntimePath_BINARY_DIR}/ExportProject
COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_CONFIG_TYPE}
--build-and-test
${MacRuntimePath_SOURCE_DIR}/A
${MacRuntimePath_BINARY_DIR}/A
--build-noclean
--build-project MacRuntimePath_A
--build-target install
--build-generator ${CMAKE_GENERATOR}
--build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
--build-options -C${MacRuntimePath_BINARY_DIR}/InitialCache.cmake
VERBATIM
)
add_custom_target(ExportTarget ALL DEPENDS ${MacRuntimePath_BINARY_DIR}/ExportProject)
add_dependencies(ExportTarget CleanupTarget)
set_property(
SOURCE ${MacRuntimePath_BINARY_DIR}/ExportProject
PROPERTY SYMBOLIC 1
)
# Build the importer.
add_custom_command(
OUTPUT ${MacRuntimePath_BINARY_DIR}/ImportProject
COMMAND ${CMAKE_CTEST_COMMAND} ${NESTED_CONFIG_TYPE}
--build-and-test
${MacRuntimePath_SOURCE_DIR}/B
${MacRuntimePath_BINARY_DIR}/B
--build-noclean
--build-project MacRuntimePath_B
--build-generator ${CMAKE_GENERATOR}
--build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
--build-options -C${MacRuntimePath_BINARY_DIR}/InitialCache.cmake
VERBATIM
)
add_custom_target(ImportTarget ALL DEPENDS ${MacRuntimePath_BINARY_DIR}/ImportProject)
add_dependencies(ImportTarget ExportTarget)
set_property(
SOURCE ${MacRuntimePath_BINARY_DIR}/ImportProject
PROPERTY SYMBOLIC 1
)