summaryrefslogtreecommitdiffstats
path: root/src/corelib/Qt5CTestMacros.cmake
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2019-06-14 12:59:07 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2019-06-14 16:31:09 +0200
commitfe3bd212fc85b6c3a64bb8bd5beca4ff4d3493a1 (patch)
treeb96dd84abfb6ac25b26539999bf2d7d427f347dd /src/corelib/Qt5CTestMacros.cmake
parent72066a3a585b4f4fed499c64464ca5ad2ba9f71d (diff)
parentae97d11589dd03edeea0475163e6110869143b35 (diff)
Merge remote-tracking branch 'origin/wip/qt6' into wip/cmake
This changes many different CMake places to mention Qt6 instead of Qt5. Note that some old qt5 cmake config files in corelib are probably not needed anymore, but I still renamed and kept them for now. Change-Id: Ie69e81540386a5af153f76c0242e18d48211bec4
Diffstat (limited to 'src/corelib/Qt5CTestMacros.cmake')
-rw-r--r--src/corelib/Qt5CTestMacros.cmake243
1 files changed, 0 insertions, 243 deletions
diff --git a/src/corelib/Qt5CTestMacros.cmake b/src/corelib/Qt5CTestMacros.cmake
deleted file mode 100644
index 962d49d6b2..0000000000
--- a/src/corelib/Qt5CTestMacros.cmake
+++ /dev/null
@@ -1,243 +0,0 @@
-#
-# W A R N I N G
-# -------------
-#
-# This file is not part of the Qt API. It exists purely as an
-# implementation detail. This file, and its contents may change from version to
-# version without notice, or even be removed.
-#
-# We mean it.
-
-message("CMAKE_VERSION: ${CMAKE_VERSION}")
-message("CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
-message("CMAKE_MODULES_UNDER_TEST: ${CMAKE_MODULES_UNDER_TEST}")
-foreach(_mod ${CMAKE_MODULES_UNDER_TEST})
- message("CMAKE_${_mod}_MODULE_MAJOR_VERSION: ${CMAKE_${_mod}_MODULE_MAJOR_VERSION}")
- message("CMAKE_${_mod}_MODULE_MINOR_VERSION: ${CMAKE_${_mod}_MODULE_MINOR_VERSION}")
- message("CMAKE_${_mod}_MODULE_PATCH_VERSION: ${CMAKE_${_mod}_MODULE_PATCH_VERSION}")
-endforeach()
-
-set(BUILD_OPTIONS_LIST)
-
-if (CMAKE_C_COMPILER)
- list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}")
-endif()
-
-if (CMAKE_CXX_COMPILER)
- list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
-endif()
-
-if (CMAKE_BUILD_TYPE)
- list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
-endif()
-
-if (CMAKE_TOOLCHAIN_FILE)
- list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}")
-endif()
-
-if (CMAKE_VERBOSE_MAKEFILE)
- list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_VERBOSE_MAKEFILE=1")
-endif()
-
-if (NO_GUI)
- list(APPEND BUILD_OPTIONS_LIST "-DNO_GUI=True")
-endif()
-if (NO_WIDGETS)
- list(APPEND BUILD_OPTIONS_LIST "-DNO_WIDGETS=True")
-endif()
-if (NO_DBUS)
- list(APPEND BUILD_OPTIONS_LIST "-DNO_DBUS=True")
-endif()
-
-# Qt requires C++11 features in header files, which means
-# the buildsystem needs to add a -std flag for certain compilers
-# CMake adds the flag automatically in most cases, but notably not
-# on Windows prior to CMake 3.3
-if (CMAKE_VERSION VERSION_LESS 3.3)
- if (CMAKE_CXX_COMPILER_ID STREQUAL AppleClang
- OR (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang))
- list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_CXX_FLAGS=-std=gnu++0x -stdlib=libc++")
- elseif (CMAKE_CXX_COMPILER_ID STREQUAL GNU
- OR CMAKE_CXX_COMPILER_ID STREQUAL Clang)
- list(APPEND BUILD_OPTIONS_LIST "-DCMAKE_CXX_FLAGS=-std=gnu++0x")
- endif()
-endif()
-
-foreach(module ${CMAKE_MODULES_UNDER_TEST})
- list(APPEND BUILD_OPTIONS_LIST
- "-DCMAKE_${module}_MODULE_MAJOR_VERSION=${CMAKE_${module}_MODULE_MAJOR_VERSION}"
- "-DCMAKE_${module}_MODULE_MINOR_VERSION=${CMAKE_${module}_MODULE_MINOR_VERSION}"
- "-DCMAKE_${module}_MODULE_PATCH_VERSION=${CMAKE_${module}_MODULE_PATCH_VERSION}"
- )
-endforeach()
-
-macro(expect_pass _dir)
- cmake_parse_arguments(_ARGS "" "BINARY" "" ${ARGN})
- string(REPLACE "(" "_" testname "${_dir}")
- string(REPLACE ")" "_" testname "${testname}")
- add_test(${testname} ${CMAKE_CTEST_COMMAND}
- --build-and-test
- "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}"
- "${CMAKE_CURRENT_BINARY_DIR}/${_dir}"
- --build-config "${CMAKE_BUILD_TYPE}"
- --build-generator ${CMAKE_GENERATOR}
- --build-makeprogram ${CMAKE_MAKE_PROGRAM}
- --build-project ${_dir}
- --build-options "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ${BUILD_OPTIONS_LIST}
- --test-command ${_ARGS_BINARY}
- )
-endmacro()
-
-macro(expect_fail _dir)
- string(REPLACE "(" "_" testname "${_dir}")
- string(REPLACE ")" "_" testname "${testname}")
- file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
- file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/${_dir}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
-
- file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/${_dir}/FindPackageHints.cmake" "set(Qt5Tests_PREFIX_PATH \"${CMAKE_PREFIX_PATH}\")")
-
- file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/CMakeLists.txt"
- "
- cmake_minimum_required(VERSION 2.8)
- project(${_dir})
-
- try_compile(Result \${CMAKE_CURRENT_BINARY_DIR}/${_dir}
- \${CMAKE_CURRENT_SOURCE_DIR}/${_dir}
- ${_dir}
- OUTPUT_VARIABLE Out
- )
- message(\"\${Out}\")
- if (Result)
- message(SEND_ERROR \"Succeeded build which should fail\")
- endif()
- "
- )
- add_test(${testname} ${CMAKE_CTEST_COMMAND}
- --build-and-test
- "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}"
- "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}/build"
- --build-config "${CMAKE_BUILD_TYPE}"
- --build-generator ${CMAKE_GENERATOR}
- --build-makeprogram ${CMAKE_MAKE_PROGRAM}
- --build-project ${_dir}
- --build-options "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ${BUILD_OPTIONS_LIST}
- )
-endmacro()
-
-function(test_module_includes)
-
- set(all_args ${ARGN})
- set(packages_string "")
- set(libraries_string "")
-
- foreach(_package ${Qt5_MODULE_TEST_DEPENDS})
- set(packages_string
- "
- ${packages_string}
- find_package(Qt5${_package} 5.0.0 REQUIRED)
- "
- )
- endforeach()
-
- while(all_args)
- list(GET all_args 0 qtmodule)
- list(REMOVE_AT all_args 0 1)
-
- set(CMAKE_MODULE_VERSION ${CMAKE_${qtmodule}_MODULE_MAJOR_VERSION}.${CMAKE_${qtmodule}_MODULE_MINOR_VERSION}.${CMAKE_${qtmodule}_MODULE_PATCH_VERSION} )
-
- set(packages_string
- "${packages_string}
- find_package(Qt5${qtmodule} 5.0.0 REQUIRED)
- include_directories(\${Qt5${qtmodule}_INCLUDE_DIRS})
- add_definitions(\${Qt5${qtmodule}_DEFINITIONS})\n")
-
- list(FIND CMAKE_MODULES_UNDER_TEST ${qtmodule} _findIndex)
- if (NOT _findIndex STREQUAL -1)
- set(packages_string
- "${packages_string}
- if(NOT \"\${Qt5${qtmodule}_VERSION}\" VERSION_EQUAL ${CMAKE_MODULE_VERSION})
- message(SEND_ERROR \"Qt5${qtmodule}_VERSION variable was not ${CMAKE_MODULE_VERSION}. Got \${Qt5${qtmodule}_VERSION} instead.\")
- endif()
- if(NOT \"\${Qt5${qtmodule}_VERSION_MAJOR}\" VERSION_EQUAL ${CMAKE_${qtmodule}_MODULE_MAJOR_VERSION})
- message(SEND_ERROR \"Qt5${qtmodule}_VERSION_MAJOR variable was not ${CMAKE_${qtmodule}_MODULE_MAJOR_VERSION}. Got \${Qt5${qtmodule}_VERSION_MAJOR} instead.\")
- endif()
- if(NOT \"\${Qt5${qtmodule}_VERSION_MINOR}\" VERSION_EQUAL ${CMAKE_${qtmodule}_MODULE_MINOR_VERSION})
- message(SEND_ERROR \"Qt5${qtmodule}_VERSION_MINOR variable was not ${CMAKE_${qtmodule}_MODULE_MINOR_VERSION}. Got \${Qt5${qtmodule}_VERSION_MINOR} instead.\")
- endif()
- if(NOT \"\${Qt5${qtmodule}_VERSION_PATCH}\" VERSION_EQUAL ${CMAKE_${qtmodule}_MODULE_PATCH_VERSION})
- message(SEND_ERROR \"Qt5${qtmodule}_VERSION_PATCH variable was not ${CMAKE_${qtmodule}_MODULE_PATCH_VERSION}. Got \${Qt5${qtmodule}_VERSION_PATCH} instead.\")
- endif()
- if(NOT \"\${Qt5${qtmodule}_VERSION_STRING}\" VERSION_EQUAL ${CMAKE_MODULE_VERSION})
- message(SEND_ERROR \"Qt5${qtmodule}_VERSION_STRING variable was not ${CMAKE_MODULE_VERSION}. Got \${Qt5${qtmodule}_VERSION_STRING} instead.\")
- endif()\n"
- )
- endif()
- set(libraries_string "${libraries_string} Qt5::${qtmodule}")
- endwhile()
-
- file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/module_includes/CMakeLists.txt"
- "
- cmake_minimum_required(VERSION 2.8)
- project(module_includes)
-
- ${packages_string}
-
- set(CMAKE_CXX_FLAGS \"\${CMAKE_CXX_FLAGS} \${Qt5Core_EXECUTABLE_COMPILE_FLAGS}\")
- if (CMAKE_VERSION VERSION_LESS 3.3)
- if (CMAKE_CXX_COMPILER_ID STREQUAL AppleClang
- OR (APPLE AND CMAKE_CXX_COMPILER_ID STREQUAL Clang))
- set(CMAKE_CXX_FLAGS \"\${CMAKE_CXX_FLAGS} -std=gnu++0x -stdlib=libc++\")
- elseif (CMAKE_CXX_COMPILER_ID STREQUAL GNU
- OR CMAKE_CXX_COMPILER_ID STREQUAL Clang)
- set(CMAKE_CXX_FLAGS \"\${CMAKE_CXX_FLAGS} -std=gnu++0x\")
- endif()
- endif()
-
- add_executable(module_includes_exe \"\${CMAKE_CURRENT_SOURCE_DIR}/main.cpp\")
- target_link_libraries(module_includes_exe ${libraries_string})\n"
- )
-
- set(all_args ${ARGN})
- set(includes_string "")
- set(instances_string "")
- while(all_args)
- list(GET all_args 0 qtmodule)
- list(GET all_args 1 qtclass)
- if (${qtclass}_NAMESPACE)
- set(qtinstancetype ${${qtclass}_NAMESPACE}::${qtclass})
- else()
- set(qtinstancetype ${qtclass})
- endif()
- list(REMOVE_AT all_args 0 1)
- set(includes_string
- "${includes_string}
- #include <${qtclass}>
- #include <Qt${qtmodule}/${qtclass}>
- #include <Qt${qtmodule}>
- #include <Qt${qtmodule}/Qt${qtmodule}>"
- )
- set(instances_string
- "${instances_string}
- ${qtinstancetype} local${qtclass};
- ")
- endwhile()
-
- file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/module_includes/main.cpp"
- "
-
- ${includes_string}
-
- int main(int, char **) { ${instances_string} return 0; }\n"
- )
-
- add_test(module_includes ${CMAKE_CTEST_COMMAND}
- --build-and-test
- "${CMAKE_CURRENT_BINARY_DIR}/module_includes/"
- "${CMAKE_CURRENT_BINARY_DIR}/module_includes/build"
- --build-config "${CMAKE_BUILD_TYPE}"
- --build-generator ${CMAKE_GENERATOR}
- --build-makeprogram ${CMAKE_MAKE_PROGRAM}
- --build-project module_includes
- --build-options "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" ${BUILD_OPTIONS_LIST}
- )
-endfunction()