mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 21:59:54 -06:00
Tests: add cases for providing Qt5Core_VERSION manually
This commit is contained in:
13
Tests/RunCMake/Autogen/QtInFunction.cmake
Normal file
13
Tests/RunCMake/Autogen/QtInFunction.cmake
Normal file
@@ -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)
|
||||
8
Tests/RunCMake/Autogen/QtInFunctionNested-stderr.txt
Normal file
8
Tests/RunCMake/Autogen/QtInFunctionNested-stderr.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
^CMake Warning \(dev\) in CMakeLists.txt:
|
||||
AUTOGEN: No valid Qt version found for target main. AUTOMOC, AUTOUIC and
|
||||
AUTORCC disabled. Consider adding:
|
||||
|
||||
find_package\(Qt<QTVERSION> COMPONENTS Widgets\)
|
||||
|
||||
to your CMakeLists.txt file.
|
||||
This warning is for project developers. Use -Wno-dev to suppress it.
|
||||
17
Tests/RunCMake/Autogen/QtInFunctionNested.cmake
Normal file
17
Tests/RunCMake/Autogen/QtInFunctionNested.cmake
Normal file
@@ -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)
|
||||
21
Tests/RunCMake/Autogen/QtInFunctionProperty.cmake
Normal file
21
Tests/RunCMake/Autogen/QtInFunctionProperty.cmake
Normal file
@@ -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)
|
||||
@@ -1,3 +1,8 @@
|
||||
include(RunCMake)
|
||||
|
||||
run_cmake(NoQt)
|
||||
if (with_qt5)
|
||||
run_cmake(QtInFunction)
|
||||
run_cmake(QtInFunctionNested)
|
||||
run_cmake(QtInFunctionProperty)
|
||||
endif ()
|
||||
|
||||
@@ -150,7 +150,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)
|
||||
|
||||
Reference in New Issue
Block a user