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