Warning, /frameworks/extra-cmake-modules/tests/ECMAddTests/single_tests/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.5)
0002 project(ECMAddTests)
0003 
0004 set(ECM_MODULE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../modules)
0005 set(CMAKE_MODULE_PATH "${ECM_MODULE_DIR}")
0006 
0007 add_library(testhelper STATIC ../testhelper.cpp)
0008 target_include_directories(testhelper PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/..")
0009 
0010 # Link to QtCore for WinMain on Windows
0011 include(QtVersionOption)
0012 find_package(Qt${QT_MAJOR_VERSION}Core REQUIRED)
0013 target_link_libraries(testhelper PUBLIC Qt${QT_MAJOR_VERSION}::Core)
0014 
0015 enable_testing()
0016 
0017 include(ECMAddTests)
0018 include(../../test_helpers.cmake)
0019 
0020 # clean up to avoid false-positives from check_files.cmake
0021 file(REMOVE
0022     "${CMAKE_CURRENT_BINARY_DIR}/test1.txt"
0023     "${CMAKE_CURRENT_BINARY_DIR}/test2.txt"
0024     "${CMAKE_CURRENT_BINARY_DIR}/test3.txt"
0025     "${CMAKE_CURRENT_BINARY_DIR}/test4.txt"
0026     "${CMAKE_CURRENT_BINARY_DIR}/test5.txt"
0027     "${CMAKE_CURRENT_BINARY_DIR}/test6.txt"
0028     )
0029 file(REMOVE_RECURSE
0030     "${CMAKE_CURRENT_BINARY_DIR}/test7_dir"
0031     )
0032 
0033 ecm_add_test(test1.cpp
0034     LINK_LIBRARIES testhelper
0035     )
0036 # check target exists
0037 get_property(_dummy TARGET test1 PROPERTY TYPE)
0038 # check test exists
0039 get_property(_dummy TEST test1 PROPERTY TIMEOUT)
0040 get_property(_is_win32 TARGET test1 PROPERTY WIN32_EXECUTABLE)
0041 if (_is_win32)
0042     message(FATAL_ERROR "test1 is a WIN32 executable when it should not be")
0043 endif()
0044 get_property(_is_bundle TARGET test1 PROPERTY MACOSX_BUNDLE)
0045 if (_is_bundle)
0046     message(FATAL_ERROR "test1 is an OS/X bundle when it should not be")
0047 endif()
0048 
0049 
0050 ecm_add_test(test2.cpp
0051     LINK_LIBRARIES testhelper
0052     TEST_NAME named_test
0053     )
0054 get_property(_dummy TARGET named_test PROPERTY TYPE)
0055 get_property(_dummy TEST named_test PROPERTY TIMEOUT)
0056 get_property(_is_win32 TARGET named_test PROPERTY WIN32_EXECUTABLE)
0057 if (_is_win32)
0058     message(FATAL_ERROR "named_test is a WIN32 executable when it should not be")
0059 endif()
0060 get_property(_is_bundle TARGET named_test PROPERTY MACOSX_BUNDLE)
0061 if (_is_bundle)
0062     message(FATAL_ERROR "named_test is an OS/X bundle when it should not be")
0063 endif()
0064 
0065 
0066 ecm_add_test(test3.cpp
0067     LINK_LIBRARIES testhelper
0068     NAME_PREFIX prefix_
0069     )
0070 get_property(_dummy TARGET test3 PROPERTY TYPE)
0071 get_property(_dummy TEST prefix_test3 PROPERTY TIMEOUT)
0072 get_property(_is_win32 TARGET test3 PROPERTY WIN32_EXECUTABLE)
0073 if (_is_win32)
0074     message(FATAL_ERROR "test3 is a WIN32 executable when it should not be")
0075 endif()
0076 get_property(_is_bundle TARGET test3 PROPERTY MACOSX_BUNDLE)
0077 if (_is_bundle)
0078     message(FATAL_ERROR "test3 is an OS/X bundle when it should not be")
0079 endif()
0080 
0081 
0082 ecm_add_test(test4.cpp
0083     LINK_LIBRARIES testhelper
0084     GUI
0085     )
0086 get_property(_dummy TARGET test4 PROPERTY TYPE)
0087 get_property(_dummy TEST test4 PROPERTY TIMEOUT)
0088 get_property(_is_win32 TARGET test4 PROPERTY WIN32_EXECUTABLE)
0089 if (NOT _is_win32)
0090     message(FATAL_ERROR "test4 is not a WIN32 executable when it should be")
0091 endif()
0092 get_property(_is_bundle TARGET test4 PROPERTY MACOSX_BUNDLE)
0093 if (NOT _is_bundle)
0094     message(FATAL_ERROR "test4 is not an OS/X bundle when it should be")
0095 endif()
0096 
0097 
0098 ecm_add_test(test5.cpp
0099     LINK_LIBRARIES testhelper
0100     TEST_NAME combined_test
0101     NAME_PREFIX another_prefix_
0102     GUI
0103     )
0104 get_property(_dummy TARGET combined_test PROPERTY TYPE)
0105 get_property(_dummy TEST another_prefix_combined_test PROPERTY TIMEOUT)
0106 get_property(_is_win32 TARGET combined_test PROPERTY WIN32_EXECUTABLE)
0107 if (NOT _is_win32)
0108     message(FATAL_ERROR "combined_test is not a WIN32 executable when it should be")
0109 endif()
0110 get_property(_is_bundle TARGET combined_test PROPERTY MACOSX_BUNDLE)
0111 if (NOT _is_bundle)
0112     message(FATAL_ERROR "combined_test is not an OS/X bundle when it should be")
0113 endif()
0114 
0115 
0116 ecm_add_test(test6.cpp test6body.cpp
0117     LINK_LIBRARIES testhelper
0118     TEST_NAME multifile_test
0119     )
0120 get_property(_dummy TARGET multifile_test PROPERTY TYPE)
0121 get_property(_dummy TEST multifile_test PROPERTY TIMEOUT)
0122 get_property(_is_win32 TARGET multifile_test PROPERTY WIN32_EXECUTABLE)
0123 if (_is_win32)
0124     message(FATAL_ERROR "multifile_test is a WIN32 executable when it should not be")
0125 endif()
0126 get_property(_is_bundle TARGET multifile_test PROPERTY MACOSX_BUNDLE)
0127 if (_is_bundle)
0128     message(FATAL_ERROR "multifile_test is an OS/X bundle when it should not be")
0129 endif()
0130 
0131 
0132 set(exp_workingdir "${CMAKE_CURRENT_BINARY_DIR}/test7_dir")
0133 file(MAKE_DIRECTORY "${exp_workingdir}") # cmake does not create that for us, will complain otherwise
0134 ecm_add_test(test7.cpp
0135     LINK_LIBRARIES testhelper
0136     WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test7_dir"
0137     )
0138 get_property(_dummy TARGET test7 PROPERTY TYPE)
0139 get_property(_dummy TEST test7 PROPERTY TIMEOUT)
0140 get_property(_working_dir TEST test7 PROPERTY WORKING_DIRECTORY)
0141 assert_vars_setequal(_working_dir exp_workingdir)
0142 get_property(_is_win32 TARGET test7 PROPERTY WIN32_EXECUTABLE)
0143 if (_is_win32)
0144     message(FATAL_ERROR "test7 is a WIN32 executable when it should not be")
0145 endif()
0146 get_property(_is_bundle TARGET test7 PROPERTY MACOSX_BUNDLE)
0147 if (_is_bundle)
0148     message(FATAL_ERROR "test7 is an OS/X bundle when it should not be")
0149 endif()