Browse Source

KWIML: Create test 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
KWIML_test.  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.
Brad King 14 years ago
parent
commit
a8f6159f69
1 changed files with 10 additions and 0 deletions
  1. 10 0
      test/CMakeLists.txt

+ 10 - 0
test/CMakeLists.txt

@@ -56,3 +56,13 @@ set_property(TARGET ${KWIML}_test PROPERTY
   RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
 add_test(${KWIML}.test ${CMAKE_CURRENT_BINARY_DIR}/${KWIML}_test)
 set_property(TEST ${KWIML}.test PROPERTY LABELS ${KWIML_LABELS_TEST})
+
+# 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 ${KWIML}_test
+    PRE_BUILD COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CFG_INTDIR}"
+    )
+endif()