diff options
author | Brad King <brad.king@kitware.com> | 2019-01-30 16:34:24 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2019-01-30 16:34:24 (GMT) |
commit | 1faebf33f46cdd09d5ba1768f2f0879df23563a8 (patch) | |
tree | c694cf0f509e1246f1982eed8c4c38b168a6b843 /Tests | |
parent | 17b1d7995efb14e14b15926dbb5fc530b71ed149 (diff) | |
parent | 2df6d69014c8f8c0191dbf30d8c406225edbef3e (diff) | |
download | CMake-1faebf33f46cdd09d5ba1768f2f0879df23563a8.zip CMake-1faebf33f46cdd09d5ba1768f2f0879df23563a8.tar.gz CMake-1faebf33f46cdd09d5ba1768f2f0879df23563a8.tar.bz2 |
Merge branch 'backport-autogen-qt-version-from-dirprops' into release-3.13
Merge-request: !2883
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/Autogen/QtInFunction.cmake | 13 | ||||
-rw-r--r-- | Tests/RunCMake/Autogen/QtInFunctionNested-stderr.txt | 8 | ||||
-rw-r--r-- | Tests/RunCMake/Autogen/QtInFunctionNested.cmake | 17 | ||||
-rw-r--r-- | Tests/RunCMake/Autogen/QtInFunctionProperty.cmake | 21 | ||||
-rw-r--r-- | Tests/RunCMake/Autogen/RunCMakeTest.cmake | 5 | ||||
-rw-r--r-- | Tests/RunCMake/CMakeLists.txt | 9 |
6 files changed, 72 insertions, 1 deletions
diff --git a/Tests/RunCMake/Autogen/QtInFunction.cmake b/Tests/RunCMake/Autogen/QtInFunction.cmake new file mode 100644 index 0000000..a44bc5a --- /dev/null +++ b/Tests/RunCMake/Autogen/QtInFunction.cmake @@ -0,0 +1,13 @@ +enable_language(CXX) + +function (use_autogen target) + find_package(Qt5 REQUIRED COMPONENTS Core Widgets) + set(Qt5Core_VERSION_MAJOR "${Qt5Core_VERSION_MAJOR}" PARENT_SCOPE) + set(Qt5Core_VERSION_MINOR "${Qt5Core_VERSION_MINOR}" PARENT_SCOPE) + set_property(TARGET "${target}" PROPERTY AUTOMOC 1) + set_property(TARGET "${target}" PROPERTY AUTORCC 1) + set_property(TARGET "${target}" PROPERTY AUTOUIC 1) +endfunction () + +add_executable(main empty.cpp) +use_autogen(main) diff --git a/Tests/RunCMake/Autogen/QtInFunctionNested-stderr.txt b/Tests/RunCMake/Autogen/QtInFunctionNested-stderr.txt new file mode 100644 index 0000000..6b4a933 --- /dev/null +++ b/Tests/RunCMake/Autogen/QtInFunctionNested-stderr.txt @@ -0,0 +1,8 @@ +^CMake Warning \(dev\) in CMakeLists.txt: + AUTOGEN: No valid Qt version found for target main. AUTOMOC, AUTOUIC, + AUTORCC disabled. Consider adding: + + find_package\(Qt5 COMPONENTS Widgets\) + + to your CMakeLists.txt file. +This warning is for project developers. Use -Wno-dev to suppress it. diff --git a/Tests/RunCMake/Autogen/QtInFunctionNested.cmake b/Tests/RunCMake/Autogen/QtInFunctionNested.cmake new file mode 100644 index 0000000..5421ba0 --- /dev/null +++ b/Tests/RunCMake/Autogen/QtInFunctionNested.cmake @@ -0,0 +1,17 @@ +enable_language(CXX) + +function (use_autogen target) + find_package(Qt5 REQUIRED COMPONENTS Core Widgets) + set(Qt5Core_VERSION_MAJOR "${Qt5Core_VERSION_MAJOR}" PARENT_SCOPE) + set(Qt5Core_VERSION_MINOR "${Qt5Core_VERSION_MINOR}" PARENT_SCOPE) + set_property(TARGET "${target}" PROPERTY AUTOMOC 1) + set_property(TARGET "${target}" PROPERTY AUTORCC 1) + set_property(TARGET "${target}" PROPERTY AUTOUIC 1) +endfunction () + +function (wrap_autogen target) + use_autogen("${target}") +endfunction () + +add_executable(main empty.cpp) +wrap_autogen(main) diff --git a/Tests/RunCMake/Autogen/QtInFunctionProperty.cmake b/Tests/RunCMake/Autogen/QtInFunctionProperty.cmake new file mode 100644 index 0000000..35f1cd1 --- /dev/null +++ b/Tests/RunCMake/Autogen/QtInFunctionProperty.cmake @@ -0,0 +1,21 @@ +enable_language(CXX) + +function (use_autogen target) + find_package(Qt5 REQUIRED COMPONENTS Core Widgets) + set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + PROPERTY + Qt5Core_VERSION_MAJOR "${Qt5Core_VERSION_MAJOR}") + set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + PROPERTY + Qt5Core_VERSION_MINOR "${Qt5Core_VERSION_MINOR}") + set_property(TARGET "${target}" PROPERTY AUTOMOC 1) + set_property(TARGET "${target}" PROPERTY AUTORCC 1) + set_property(TARGET "${target}" PROPERTY AUTOUIC 1) +endfunction () + +function (wrap_autogen target) + use_autogen("${target}") +endfunction () + +add_executable(main empty.cpp) +wrap_autogen(main) diff --git a/Tests/RunCMake/Autogen/RunCMakeTest.cmake b/Tests/RunCMake/Autogen/RunCMakeTest.cmake index e52f28d..a31b67c 100644 --- a/Tests/RunCMake/Autogen/RunCMakeTest.cmake +++ b/Tests/RunCMake/Autogen/RunCMakeTest.cmake @@ -1,3 +1,8 @@ include(RunCMake) run_cmake(NoQt) +if (with_qt5) + run_cmake(QtInFunction) + run_cmake(QtInFunctionNested) + run_cmake(QtInFunctionProperty) +endif () diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index 89102dd..27413dd 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -142,7 +142,14 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE) endif() add_RunCMake_test(AndroidTestUtilities) -add_RunCMake_test(Autogen) +set(autogen_with_qt5 FALSE) +if(CMake_TEST_Qt5) + find_package(Qt5Widgets QUIET NO_MODULE) +endif() +if(CMake_TEST_Qt5 AND Qt5Widgets_FOUND) + set(autogen_with_qt5 TRUE) +endif () +add_RunCMake_test(Autogen -Dwith_qt5=${autogen_with_qt5}) add_RunCMake_test(BuildDepends) if(UNIX AND "${CMAKE_GENERATOR}" MATCHES "Unix Makefiles|Ninja") add_RunCMake_test(Byproducts) |