diff options
Diffstat (limited to 'share/cmake-3.6/Modules/FindXCTest.cmake')
-rw-r--r-- | share/cmake-3.6/Modules/FindXCTest.cmake | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/share/cmake-3.6/Modules/FindXCTest.cmake b/share/cmake-3.6/Modules/FindXCTest.cmake deleted file mode 100644 index 805a58c..0000000 --- a/share/cmake-3.6/Modules/FindXCTest.cmake +++ /dev/null @@ -1,200 +0,0 @@ -#[=======================================================================[.rst: -FindXCTest ----------- - -Functions to help creating and executing XCTest bundles. - -An XCTest bundle is a CFBundle with a special product-type -and bundle extension. The Mac Developer Library provides more -information in the `Testing with Xcode`_ document. - -.. _Testing with Xcode: http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/testing_with_xcode/ - -Module Functions -^^^^^^^^^^^^^^^^ - -.. command:: xctest_add_bundle - - The ``xctest_add_bundle`` function creates a XCTest bundle named - <target> which will test the target <testee>. Supported target types - for testee are Frameworks and App Bundles:: - - xctest_add_bundle( - <target> # Name of the XCTest bundle - <testee> # Target name of the testee - ) - -.. command:: xctest_add_test - - The ``xctest_add_test`` function adds an XCTest bundle to the - project to be run by :manual:`ctest(1)`. The test will be named - <name> and tests <bundle>:: - - xctest_add_test( - <name> # Test name - <bundle> # Target name of XCTest bundle - ) - -Module Variables -^^^^^^^^^^^^^^^^ - -The following variables are set by including this module: - -.. variable:: XCTest_FOUND - - True if the XCTest Framework and executable were found. - -.. variable:: XCTest_EXECUTABLE - - The path to the xctest command line tool used to execute XCTest bundles. - -.. variable:: XCTest_INCLUDE_DIRS - - The directory containing the XCTest Framework headers. - -.. variable:: XCTest_LIBRARIES - - The location of the XCTest Framework. - -#]=======================================================================] - -#============================================================================= -# Copyright 2015 Gregor Jasny -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -find_path(XCTest_INCLUDE_DIR - NAMES "XCTest/XCTest.h" - DOC "XCTest include directory") -mark_as_advanced(XCTest_INCLUDE_DIR) - -find_library(XCTest_LIBRARY - NAMES XCTest - DOC "XCTest Framework library") -mark_as_advanced(XCTest_LIBRARY) - -execute_process( - COMMAND xcrun --find xctest - OUTPUT_VARIABLE _xcrun_out OUTPUT_STRIP_TRAILING_WHITESPACE - ERROR_VARIABLE _xcrun_err) -if(_xcrun_out) - set(XCTest_EXECUTABLE "${_xcrun_out}" CACHE FILEPATH "XCTest executable") - mark_as_advanced(XCTest_EXECUTABLE) -endif() - -include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake) -find_package_handle_standard_args(XCTest - FOUND_VAR XCTest_FOUND - REQUIRED_VARS XCTest_LIBRARY XCTest_INCLUDE_DIR XCTest_EXECUTABLE) - -if(XCTest_FOUND) - set(XCTest_INCLUDE_DIRS "${XCTest_INCLUDE_DIR}") - set(XCTest_LIBRARIES "${XCTest_LIBRARY}") -endif(XCTest_FOUND) - - -function(xctest_add_bundle target testee) - if(NOT XCTest_FOUND) - message(FATAL_ERROR "XCTest is required to create a XCTest Bundle.") - endif(NOT XCTest_FOUND) - - if(NOT CMAKE_OSX_SYSROOT) - message(FATAL_ERROR "Adding XCTest bundles requires CMAKE_OSX_SYSROOT to be set.") - endif() - - add_library(${target} MODULE ${ARGN}) - - set_target_properties(${target} PROPERTIES - BUNDLE TRUE - XCTEST TRUE - XCTEST_TESTEE ${testee}) - - target_link_libraries(${target} PRIVATE "-framework Foundation") - target_link_libraries(${target} PRIVATE ${XCTest_LIBRARIES}) - target_include_directories(${target} PRIVATE ${XCTest_INCLUDE_DIRS}) - - # retrieve testee target type - if(NOT TARGET ${testee}) - message(FATAL_ERROR "${testee} is not a target.") - endif() - get_property(_testee_type TARGET ${testee} PROPERTY TYPE) - get_property(_testee_framework TARGET ${testee} PROPERTY FRAMEWORK) - get_property(_testee_macosx_bundle TARGET ${testee} PROPERTY MACOSX_BUNDLE) - - if(_testee_type STREQUAL "SHARED_LIBRARY" AND _testee_framework) - # testee is a Framework - target_link_libraries(${target} PRIVATE ${testee}) - - elseif(_testee_type STREQUAL "EXECUTABLE" AND _testee_macosx_bundle) - # testee is an App Bundle - add_dependencies(${target} ${testee}) - if(XCODE) - set_target_properties(${target} PROPERTIES - XCODE_ATTRIBUTE_BUNDLE_LOADER "$(TEST_HOST)" - XCODE_ATTRIBUTE_TEST_HOST "$<TARGET_FILE:${testee}>") - if(NOT XCODE_VERSION VERSION_LESS 7.3) - set_target_properties(${target} PROPERTIES - LIBRARY_OUTPUT_DIRECTORY "$<TARGET_FILE_DIR:${testee}>/../PlugIns") - endif() - else(XCODE) - target_link_libraries(${target} - PRIVATE -bundle_loader $<TARGET_FILE:${testee}>) - endif(XCODE) - - else() - message(FATAL_ERROR "Testee ${testee} is of unsupported type.") - endif() -endfunction(xctest_add_bundle) - - -function(xctest_add_test name bundle) - if(NOT XCTest_EXECUTABLE) - message(FATAL_ERROR "XCTest executable is required to register a test.") - endif() - - # check that bundle is a XCTest Bundle - - if(NOT TARGET ${bundle}) - message(FATAL_ERROR "${bundle} is not a target.") - endif(NOT TARGET ${bundle}) - - get_property(_test_type TARGET ${bundle} PROPERTY TYPE) - get_property(_test_bundle TARGET ${bundle} PROPERTY BUNDLE) - get_property(_test_xctest TARGET ${bundle} PROPERTY XCTEST) - - if(NOT _test_type STREQUAL "MODULE_LIBRARY" - OR NOT _test_xctest OR NOT _test_bundle) - message(FATAL_ERROR "Test ${bundle} is not an XCTest Bundle") - endif() - - # get and check testee properties - - get_property(_testee TARGET ${bundle} PROPERTY XCTEST_TESTEE) - if(NOT TARGET ${_testee}) - message(FATAL_ERROR "${_testee} is not a target.") - endif() - - get_property(_testee_type TARGET ${_testee} PROPERTY TYPE) - get_property(_testee_framework TARGET ${_testee} PROPERTY FRAMEWORK) - - # register test - - add_test( - NAME ${name} - COMMAND ${XCTest_EXECUTABLE} $<TARGET_LINKER_FILE_DIR:${bundle}>/../..) - - # point loader to testee in case rpath is disabled - - if(_testee_type STREQUAL "SHARED_LIBRARY" AND _testee_framework) - set_property(TEST ${name} APPEND PROPERTY - ENVIRONMENT DYLD_FRAMEWORK_PATH=$<TARGET_LINKER_FILE_DIR:${_testee}>/..) - endif() -endfunction(xctest_add_test) |