| add_custom_target(SwiftUnitTests) |
| |
| set_target_properties(SwiftUnitTests PROPERTIES FOLDER "Tests") |
| |
| function(add_swift_unittest test_dirname) |
| add_unittest(SwiftUnitTests ${test_dirname} ${ARGN}) |
| |
| if(SWIFT_BUILT_STANDALONE AND NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".") |
| # Replace target references with full paths, so that we use LLVM's |
| # build configuration rather than Swift's. |
| get_target_property(libnames ${test_dirname} LINK_LIBRARIES) |
| |
| set(new_libnames) |
| foreach(dep ${libnames}) |
| if("${dep}" MATCHES "^(LLVM|Clang|gtest)") |
| list(APPEND new_libnames "${LLVM_LIBRARY_OUTPUT_INTDIR}/lib${dep}.a") |
| else() |
| list(APPEND new_libnames "${dep}") |
| endif() |
| endforeach() |
| |
| set_property(TARGET ${test_dirname} PROPERTY LINK_LIBRARIES ${new_libnames}) |
| swift_common_llvm_config(${test_dirname} support) |
| endif() |
| |
| if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") |
| set_property(TARGET "${test_dirname}" APPEND_STRING PROPERTY |
| LINK_FLAGS " -Xlinker -rpath -Xlinker ${SWIFT_LIBRARY_OUTPUT_INTDIR}/swift/macosx") |
| endif() |
| endfunction() |
| |
| if(SWIFT_BUILD_TOOLS) |
| # We can't link C++ unit tests unless we build the tools. |
| |
| add_subdirectory(Availability) |
| add_subdirectory(Basic) |
| add_subdirectory(Driver) |
| add_subdirectory(IDE) |
| add_subdirectory(Parse) |
| add_subdirectory(SwiftDemangle) |
| |
| if(SWIFT_BUILD_SDK_OVERLAY) |
| # Runtime tests depend on symbols in StdlibUnittest. |
| # |
| # FIXME: cross-compile runtime unittests. |
| add_subdirectory(runtime) |
| endif() |
| |
| if(SWIFT_BUILD_SOURCEKIT) |
| add_subdirectory(SourceKit) |
| endif() |
| endif() |
| |