diff options
author | Brad King <brad.king@kitware.com> | 2009-12-09 10:56:30 -0500 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-12-09 10:56:30 -0500 |
commit | 9478ad0945d76fc24eba1c3e88ef001ed22f160f (patch) | |
tree | c7b178f7f41e709ed8ba0279fac83c31cd67f8b9 /Tests/CMakeLib/CMakeLists.txt | |
parent | 02a8eee3aa72916349a986376d7e7f9fa5e882e7 (diff) | |
download | cmake-9478ad0945d76fc24eba1c3e88ef001ed22f160f.tar.gz |
Create CMakeLibTests output dir for Xcode
Xcode 2.x forgets to create the target output directory before linking
the individual architecture pieces of a universal binary for the target
CMakeLibTests. Then it passes the directory to -L and -F options when
linking the and warns that the directory does not exist. We work around
the problem by using a pre-build rule on the target to create the output
directory.
Diffstat (limited to 'Tests/CMakeLib/CMakeLists.txt')
-rw-r--r-- | Tests/CMakeLib/CMakeLists.txt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Tests/CMakeLib/CMakeLists.txt b/Tests/CMakeLib/CMakeLists.txt index 90bc04efbe..bda2fa5f8e 100644 --- a/Tests/CMakeLib/CMakeLists.txt +++ b/Tests/CMakeLib/CMakeLists.txt @@ -17,6 +17,16 @@ create_test_sourcelist(CMakeLib_TEST_SRCS CMakeLibTests.cxx ${CMakeLib_TESTS}) add_executable(CMakeLibTests ${CMakeLib_TEST_SRCS}) target_link_libraries(CMakeLibTests CMakeLib) +# Xcode 2.x forgets to create the output directory before linking +# the individual architectures. +if(CMAKE_OSX_ARCHITECTURES AND XCODE + AND NOT "${XCODE_VERSION}" MATCHES "^[^12]") + add_custom_command( + TARGET CMakeLibTests + PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CFG_INTDIR}" + ) +endif() + foreach(test ${CMakeLib_TESTS}) add_test(CMakeLib.${test} CMakeLibTests ${test}) endforeach() |