summaryrefslogtreecommitdiff
path: root/Tests/CMakeLib/CMakeLists.txt
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-12-09 10:56:30 -0500
committerBrad King <brad.king@kitware.com>2009-12-09 10:56:30 -0500
commit9478ad0945d76fc24eba1c3e88ef001ed22f160f (patch)
treec7b178f7f41e709ed8ba0279fac83c31cd67f8b9 /Tests/CMakeLib/CMakeLists.txt
parent02a8eee3aa72916349a986376d7e7f9fa5e882e7 (diff)
downloadcmake-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.txt10
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()