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.
This commit is contained in:
parent
02a8eee3aa
commit
9478ad0945
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue