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()