Warning, /frameworks/extra-cmake-modules/tests/ECMAddTests/multi_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 "${CMAKE_CURRENT_BINARY_DIR}/test7.txt" 0029 "${CMAKE_CURRENT_BINARY_DIR}/test8.txt" 0030 "${CMAKE_CURRENT_BINARY_DIR}/test9.txt" 0031 ) 0032 file(REMOVE_RECURSE 0033 "${CMAKE_CURRENT_BINARY_DIR}/test1011_dir" 0034 ) 0035 0036 set(exp_target_names "test1;test2;test3") 0037 set(exp_test_names "test1;test2;test3") 0038 ecm_add_tests( 0039 test1.cpp 0040 test2.cpp 0041 test3.cpp 0042 LINK_LIBRARIES testhelper 0043 TARGET_NAMES_VAR target_names 0044 TEST_NAMES_VAR test_names 0045 ) 0046 assert_vars_setequal(target_names exp_target_names) 0047 assert_vars_setequal(test_names exp_test_names) 0048 # check targets exist 0049 get_property(_dummy TARGET test1 PROPERTY TYPE) 0050 get_property(_dummy TARGET test2 PROPERTY TYPE) 0051 get_property(_dummy TARGET test3 PROPERTY TYPE) 0052 # check tests exists 0053 get_property(_dummy TEST test1 PROPERTY TIMEOUT) 0054 get_property(_dummy TEST test2 PROPERTY TIMEOUT) 0055 get_property(_dummy TEST test3 PROPERTY TIMEOUT) 0056 get_property(_is_win32 TARGET test1 PROPERTY WIN32_EXECUTABLE) 0057 if (_is_win32) 0058 message(FATAL_ERROR "test1 is a WIN32 executable when it should not be") 0059 endif() 0060 get_property(_is_bundle TARGET test1 PROPERTY MACOSX_BUNDLE) 0061 if (_is_bundle) 0062 message(FATAL_ERROR "test1 is an OS/X bundle when it should not be") 0063 endif() 0064 get_property(_is_win32 TARGET test2 PROPERTY WIN32_EXECUTABLE) 0065 if (_is_win32) 0066 message(FATAL_ERROR "test2 is a WIN32 executable when it should not be") 0067 endif() 0068 get_property(_is_bundle TARGET test2 PROPERTY MACOSX_BUNDLE) 0069 if (_is_bundle) 0070 message(FATAL_ERROR "test2 is an OS/X bundle when it should not be") 0071 endif() 0072 0073 0074 ecm_add_tests( 0075 test4.cpp 0076 test5.cpp 0077 LINK_LIBRARIES testhelper 0078 NAME_PREFIX pref_ 0079 ) 0080 get_property(_dummy TARGET test4 PROPERTY TYPE) 0081 get_property(_dummy TARGET test5 PROPERTY TYPE) 0082 get_property(_dummy TEST pref_test4 PROPERTY TIMEOUT) 0083 get_property(_dummy TEST pref_test5 PROPERTY TIMEOUT) 0084 get_property(_is_win32 TARGET test4 PROPERTY WIN32_EXECUTABLE) 0085 if (_is_win32) 0086 message(FATAL_ERROR "test4 is a WIN32 executable when it should not be") 0087 endif() 0088 get_property(_is_bundle TARGET test4 PROPERTY MACOSX_BUNDLE) 0089 if (_is_bundle) 0090 message(FATAL_ERROR "test4 is an OS/X bundle when it should not be") 0091 endif() 0092 get_property(_is_win32 TARGET test5 PROPERTY WIN32_EXECUTABLE) 0093 if (_is_win32) 0094 message(FATAL_ERROR "test5 is a WIN32 executable when it should not be") 0095 endif() 0096 get_property(_is_bundle TARGET test5 PROPERTY MACOSX_BUNDLE) 0097 if (_is_bundle) 0098 message(FATAL_ERROR "test5 is an OS/X bundle when it should not be") 0099 endif() 0100 0101 0102 ecm_add_tests( 0103 test6.cpp 0104 test7.cpp 0105 LINK_LIBRARIES testhelper 0106 GUI 0107 ) 0108 get_property(_dummy TARGET test6 PROPERTY TYPE) 0109 get_property(_dummy TARGET test7 PROPERTY TYPE) 0110 get_property(_dummy TEST test6 PROPERTY TIMEOUT) 0111 get_property(_dummy TEST test7 PROPERTY TIMEOUT) 0112 get_property(_is_win32 TARGET test6 PROPERTY WIN32_EXECUTABLE) 0113 if (NOT _is_win32) 0114 message(FATAL_ERROR "test6 is not a WIN32 executable when it should be") 0115 endif() 0116 get_property(_is_bundle TARGET test6 PROPERTY MACOSX_BUNDLE) 0117 if (NOT _is_bundle) 0118 message(FATAL_ERROR "test6 is not an OS/X bundle when it should be") 0119 endif() 0120 get_property(_is_win32 TARGET test7 PROPERTY WIN32_EXECUTABLE) 0121 if (NOT _is_win32) 0122 message(FATAL_ERROR "test7 is not a WIN32 executable when it should be") 0123 endif() 0124 get_property(_is_bundle TARGET test7 PROPERTY MACOSX_BUNDLE) 0125 if (NOT _is_bundle) 0126 message(FATAL_ERROR "test7 is not an OS/X bundle when it should be") 0127 endif() 0128 0129 0130 set(exp_target_names "test8;test9") 0131 set(exp_test_names "p_test8;p_test9") 0132 ecm_add_tests( 0133 test8.cpp 0134 test9.cpp 0135 LINK_LIBRARIES testhelper 0136 NAME_PREFIX p_ 0137 GUI 0138 TARGET_NAMES_VAR target_names 0139 TEST_NAMES_VAR test_names 0140 ) 0141 assert_vars_setequal(target_names exp_target_names) 0142 assert_vars_setequal(test_names exp_test_names) 0143 get_property(_dummy TARGET test8 PROPERTY TYPE) 0144 get_property(_dummy TARGET test9 PROPERTY TYPE) 0145 get_property(_dummy TEST p_test8 PROPERTY TIMEOUT) 0146 get_property(_dummy TEST p_test9 PROPERTY TIMEOUT) 0147 get_property(_is_win32 TARGET test8 PROPERTY WIN32_EXECUTABLE) 0148 if (NOT _is_win32) 0149 message(FATAL_ERROR "test8 is not a WIN32 executable when it should be") 0150 endif() 0151 get_property(_is_bundle TARGET test8 PROPERTY MACOSX_BUNDLE) 0152 if (NOT _is_bundle) 0153 message(FATAL_ERROR "test8 is not an OS/X bundle when it should be") 0154 endif() 0155 get_property(_is_win32 TARGET test9 PROPERTY WIN32_EXECUTABLE) 0156 if (NOT _is_win32) 0157 message(FATAL_ERROR "test9 is not a WIN32 executable when it should be") 0158 endif() 0159 get_property(_is_bundle TARGET test9 PROPERTY MACOSX_BUNDLE) 0160 if (NOT _is_bundle) 0161 message(FATAL_ERROR "test9 is not an OS/X bundle when it should be") 0162 endif() 0163 0164 0165 set(exp_workingdir "${CMAKE_CURRENT_BINARY_DIR}/test1011_dir") 0166 file(MAKE_DIRECTORY "${exp_workingdir}") # cmake does not create that for us, will complain otherwise 0167 ecm_add_tests( 0168 test10.cpp 0169 test11.cpp 0170 LINK_LIBRARIES testhelper 0171 WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/test1011_dir" 0172 ) 0173 get_property(_dummy TARGET test10 PROPERTY TYPE) 0174 get_property(_dummy TARGET test11 PROPERTY TYPE) 0175 get_property(_dummy TEST test10 PROPERTY TIMEOUT) 0176 get_property(_dummy TEST test11 PROPERTY TIMEOUT) 0177 get_property(_working_dir TEST test10 PROPERTY WORKING_DIRECTORY) 0178 assert_vars_setequal(_working_dir exp_workingdir) 0179 get_property(_working_dir TEST test11 PROPERTY WORKING_DIRECTORY) 0180 assert_vars_setequal(_working_dir exp_workingdir) 0181 get_property(_is_win32 TARGET test10 PROPERTY WIN32_EXECUTABLE) 0182 if (_is_win32) 0183 message(FATAL_ERROR "test10 is a WIN32 executable when it should not be") 0184 endif() 0185 get_property(_is_bundle TARGET test10 PROPERTY MACOSX_BUNDLE) 0186 if (_is_bundle) 0187 message(FATAL_ERROR "test10 is an OS/X bundle when it should not be") 0188 endif() 0189 get_property(_is_win32 TARGET test11 PROPERTY WIN32_EXECUTABLE) 0190 if (_is_win32) 0191 message(FATAL_ERROR "test11 is a WIN32 executable when it should not be") 0192 endif() 0193 get_property(_is_bundle TARGET test11 PROPERTY MACOSX_BUNDLE) 0194 if (_is_bundle) 0195 message(FATAL_ERROR "test11 is an OS/X bundle when it should not be") 0196 endif()