CMake/Tests/OutDir/CMakeLists.txt
Brad King 28c3d59ed9 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.
2009-10-28 13:35:53 -04:00

36 lines
937 B
CMake

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)