diff options
author | Brad King <brad.king@kitware.com> | 2009-10-28 17:35:53 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-10-28 17:35:53 (GMT) |
commit | 28c3d59ed930976fd5ac4b5ea4f595632ef54758 (patch) | |
tree | cf3067e1271c86c4470085f3e76ab3767f0c2144 /Tests/OutDir/CMakeLists.txt | |
parent | 74c59a748df858aa474342f3ad53e36cf877f9c1 (diff) | |
download | CMake-28c3d59ed930976fd5ac4b5ea4f595632ef54758.zip CMake-28c3d59ed930976fd5ac4b5ea4f595632ef54758.tar.gz CMake-28c3d59ed930976fd5ac4b5ea4f595632ef54758.tar.bz2 |
Test per-config OUTPUT_DIRECTORY properties
We test (ARCHIVE|LIBRARY|RUNTIME)_OUTPUT_DIRECTORY_<CONFIG> properties
by building COnly as a subdirectory and setting the properties to put
its files in specific locations. We build an executable that verifies
the targets actually appear where expected.
Diffstat (limited to 'Tests/OutDir/CMakeLists.txt')
-rw-r--r-- | Tests/OutDir/CMakeLists.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Tests/OutDir/CMakeLists.txt b/Tests/OutDir/CMakeLists.txt new file mode 100644 index 0000000..88468c3 --- /dev/null +++ b/Tests/OutDir/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 2.8) +project(OutDir C) + +if(CMAKE_CONFIGURATION_TYPES) + foreach(config ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER "${config}" CONFIG) + list(APPEND configs "${CONFIG}") + endforeach() + set(CMAKE_BUILD_TYPE) +elseif(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Debug) +endif() + +if(CMAKE_BUILD_TYPE) + string(TOUPPER "${CMAKE_BUILD_TYPE}" configs) +endif() + +set(top "${OutDir_BINARY_DIR}") +foreach(config ${configs}) + foreach(type archive runtime library) + string(TOUPPER "${type}" TYPE) + set(CMAKE_${TYPE}_OUTPUT_DIRECTORY_${config} "${top}/${type}") + file(REMOVE_RECURSE "${top}/${type}") + endforeach() +endforeach() + +add_subdirectory(../COnly COnly) + +add_custom_command( + OUTPUT OutDir.h + COMMAND ${CMAKE_COMMAND} -Dtop=${top} -P ${OutDir_SOURCE_DIR}/OutDir.cmake + DEPENDS COnly ${OutDir_SOURCE_DIR}/OutDir.cmake + ) +include_directories(${top}) +add_executable(OutDir OutDir.c OutDir.h) |