[Cmake-commits] CMake branch, master, updated. v3.13.3-1231-g591899b
Kitware Robot
kwrobot at kitware.com
Thu Jan 31 11:03:03 EST 2019
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, master has been updated
via 591899bc9643881610f665ac2e8787774a6b78b0 (commit)
via cba5b22db34c73c32653894d39888b44b9f25558 (commit)
via 6f5e4a53bca7ce5c15b1d030ef99bb2b3a1b0d2e (commit)
via 9eaa6aa599ebc4f380fbc36e352fd5ad25c5bcd7 (commit)
via bb735025dea634285a43b32b98af7ac25c5f8e76 (commit)
via 91d98542d26318d8f51c434e689ccf6cddc2d3d0 (commit)
via 062d21c36a57ad9c7528ea3f490595492853f1f8 (commit)
via 17ac7c4024147386bd059523eff12951f3c0ef7d (commit)
via 2df6d69014c8f8c0191dbf30d8c406225edbef3e (commit)
via b598dfb65edd75e0da763d36dcdc3d19016a8d27 (commit)
from 5107a84d46ad245221843adbef092118649e6dc7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=591899bc9643881610f665ac2e8787774a6b78b0
commit 591899bc9643881610f665ac2e8787774a6b78b0
Merge: 9eaa6aa cba5b22
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 31 16:01:35 2019 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Jan 31 11:01:41 2019 -0500
Merge topic 'FindLAPACK-typo'
cba5b22db3 Merge branch 'backport-FindLAPACK-typo'
6f5e4a53bc FindLAPACK: Distinguish check result variable name from FindBLAS
bb735025de Find{BLAS,LAPACK}: Drop unnecessary mark_as_advanced calls
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !2897
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cba5b22db34c73c32653894d39888b44b9f25558
commit cba5b22db34c73c32653894d39888b44b9f25558
Merge: bb73502 6f5e4a5
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 31 09:17:30 2019 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Thu Jan 31 10:59:53 2019 -0500
Merge branch 'backport-FindLAPACK-typo'
Use the `-s ours` merge strategy to avoid conflicts. Our side was
already fixed by commit 8b63265ea5 (FindLAPACK: Unify internal variables
related to MKL, 2018-11-18) as part of other work.
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6f5e4a53bca7ce5c15b1d030ef99bb2b3a1b0d2e
commit 6f5e4a53bca7ce5c15b1d030ef99bb2b3a1b0d2e
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 31 08:59:37 2019 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Thu Jan 31 10:59:25 2019 -0500
FindLAPACK: Distinguish check result variable name from FindBLAS
Since commit 192a9182f8 (FindLAPACK: MKL clean up and fix for windows,
2013-10-08, v3.0.0-rc1~538^2), FindLAPACK accidentally used FindBLAS's
`BLAS_` prefix for some of its check results.
Since commit 5b8f69ebe9 (FindBLAS: Detect implicitly linked BLAS
library, 2018-08-28, v3.13.0-rc1~150^2~2), FindBLAS stores a check
result in a plain `BLAS_WORKS` variable. The typo in FindLAPACK happens
to cause a collision with that name.
The typo was already fixed in post-3.13 development as part of other
work in commit 8b63265ea5 (FindLAPACK: Unify internal variables related
to MKL, 2018-11-18). Fix the typo in the 3.13 version of FindLAPACK to
avoid the collision. Otherwise it could cause FindLAPACK to incorrectly
determine that a certain library combination does not work (or
incrrectly that it works).
Fixes: #18860
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index 2c6145a..dc94079 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -316,7 +316,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
if (NOT ${_LIBRARIES})
check_lapack_libraries(
${_LIBRARIES}
- BLAS
+ LAPACK
${LAPACK_mkl_SEARCH_SYMBOL}
""
""
@@ -329,7 +329,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
if (NOT ${_LIBRARIES})
check_lapack_libraries(
${_LIBRARIES}
- BLAS
+ LAPACK
${LAPACK_mkl_SEARCH_SYMBOL}
""
"${IT}"
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9eaa6aa599ebc4f380fbc36e352fd5ad25c5bcd7
commit 9eaa6aa599ebc4f380fbc36e352fd5ad25c5bcd7
Merge: 5107a84 91d9854
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 31 15:58:15 2019 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Jan 31 10:58:23 2019 -0500
Merge topic 'autogen-qt-version-from-dirprops'
91d98542d2 Merge branch 'autogen-qt-version-from-dirprops-release' into autogen-qt-version-from-dirprops-master
062d21c36a Autogen: Read the Qt version from directory properties as well
17ac7c4024 Tests: add cases for providing Qt5Core_VERSION manually
2df6d69014 AutoGen: query Qt5 version from directory properties
b598dfb65e Tests: add cases for providing Qt5Core_VERSION manually
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !2883
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bb735025dea634285a43b32b98af7ac25c5f8e76
commit bb735025dea634285a43b32b98af7ac25c5f8e76
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 31 08:58:47 2019 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Thu Jan 31 09:11:03 2019 -0500
Find{BLAS,LAPACK}: Drop unnecessary mark_as_advanced calls
Cache entries created by `try_compile` are already `INTERNAL`.
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index b6348fd..33cc024 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -167,7 +167,6 @@ macro(Check_Fortran_Libraries LIBRARIES _prefix _name _flags _list _thread)
check_function_exists("${_name}_" ${_prefix}${_combined_name}_WORKS)
endif()
set(CMAKE_REQUIRED_LIBRARIES)
- mark_as_advanced(${_prefix}${_combined_name}_WORKS)
set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
endif()
if(_libraries_work)
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index 7619664..7b5f527 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -142,7 +142,6 @@ if(_libraries_work)
check_fortran_function_exists(${_name} ${_prefix}${_combined_name}_WORKS)
endif ()
set(CMAKE_REQUIRED_LIBRARIES)
- mark_as_advanced(${_prefix}${_combined_name}_WORKS)
set(_libraries_work ${${_prefix}${_combined_name}_WORKS})
#message("DEBUG: ${LIBRARIES} = ${${LIBRARIES}}")
endif()
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=91d98542d26318d8f51c434e689ccf6cddc2d3d0
commit 91d98542d26318d8f51c434e689ccf6cddc2d3d0
Merge: 062d21c 2df6d69
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Wed Jan 30 11:30:26 2019 -0500
Commit: Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Wed Jan 30 11:30:26 2019 -0500
Merge branch 'autogen-qt-version-from-dirprops-release' into autogen-qt-version-from-dirprops-master
* autogen-qt-version-from-dirprops-release:
AutoGen: query Qt5 version from directory properties
Tests: add cases for providing Qt5Core_VERSION manually
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=062d21c36a57ad9c7528ea3f490595492853f1f8
commit 062d21c36a57ad9c7528ea3f490595492853f1f8
Author: Sebastian Holtermann <sebholt at xwmw.org>
AuthorDate: Wed Jan 30 17:01:02 2019 +0100
Commit: Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Wed Jan 30 11:30:18 2019 -0500
Autogen: Read the Qt version from directory properties as well
This lets AUTOGEN read the Qt version from directory properties as a fallback
when the Qt version variables are empty or unset.
diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx
index 1d7f6d1..caeed15 100644
--- a/Source/cmQtAutoGenInitializer.cxx
+++ b/Source/cmQtAutoGenInitializer.cxx
@@ -1370,7 +1370,7 @@ void cmQtAutoGenInitializer::AddGeneratedSource(std::string const& filename,
this->Target->AddSource(filename, prepend);
}
-static unsigned int CharPtrToInt(const char* const input)
+static unsigned int CharPtrToUInt(const char* const input)
{
unsigned long tmp = 0;
if (input != nullptr && cmSystemTools::StringToULong(input, &tmp)) {
@@ -1379,36 +1379,43 @@ static unsigned int CharPtrToInt(const char* const input)
return 0;
}
-static unsigned int StringToInt(const std::string& input)
-{
- return input.empty() ? 0 : CharPtrToInt(input.c_str());
-}
-
-static std::vector<cmQtAutoGenInitializer::IntegerVersion> GetKnownQtVersions(
+static std::vector<cmQtAutoGen::IntegerVersion> GetKnownQtVersions(
cmGeneratorTarget const* target)
{
cmMakefile* makefile = target->Target->GetMakefile();
-
- std::vector<cmQtAutoGenInitializer::IntegerVersion> result;
- for (const std::string& prefix :
- std::vector<std::string>({ "Qt6Core", "Qt5Core", "QT" })) {
- auto tmp = cmQtAutoGenInitializer::IntegerVersion(
- StringToInt(makefile->GetSafeDefinition(prefix + "_VERSION_MAJOR")),
- StringToInt(makefile->GetSafeDefinition(prefix + "_VERSION_MINOR")));
- if (tmp.Major != 0) {
- result.push_back(tmp);
+ std::vector<cmQtAutoGen::IntegerVersion> result;
+ // Adds a version to the result (nullptr safe)
+ auto addVersion = [&result](const char* major, const char* minor) {
+ cmQtAutoGen::IntegerVersion ver(CharPtrToUInt(major),
+ CharPtrToUInt(minor));
+ if (ver.Major != 0) {
+ result.emplace_back(ver);
}
+ };
+ // Qt version variable prefixes
+ std::array<std::string, 3> const prefixes{ { "Qt6Core", "Qt5Core", "QT" } };
+
+ // Read versions from variables
+ for (const std::string& prefix : prefixes) {
+ addVersion(makefile->GetDefinition(prefix + "_VERSION_MAJOR"),
+ makefile->GetDefinition(prefix + "_VERSION_MINOR"));
+ }
+
+ // Read versions from directory properties
+ for (const std::string& prefix : prefixes) {
+ addVersion(makefile->GetProperty(prefix + "_VERSION_MAJOR"),
+ makefile->GetProperty(prefix + "_VERSION_MINOR"));
}
return result;
}
-std::pair<cmQtAutoGenInitializer::IntegerVersion, unsigned int>
+std::pair<cmQtAutoGen::IntegerVersion, unsigned int>
cmQtAutoGenInitializer::GetQtVersion(cmGeneratorTarget const* target)
{
std::pair<IntegerVersion, unsigned int> res(
IntegerVersion(),
- CharPtrToInt(target->GetLinkInterfaceDependentStringProperty(
+ CharPtrToUInt(target->GetLinkInterfaceDependentStringProperty(
"QT_MAJOR_VERSION", "")));
auto knownQtVersions = GetKnownQtVersions(target);
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=17ac7c4024147386bd059523eff12951f3c0ef7d
commit 17ac7c4024147386bd059523eff12951f3c0ef7d
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Wed Jan 30 10:45:41 2019 -0500
Commit: Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Wed Jan 30 11:30:18 2019 -0500
Tests: add cases for providing Qt5Core_VERSION manually
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..1c6660a
--- /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 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.
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 2de90e7..1f3e5c3 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -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)
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2df6d69014c8f8c0191dbf30d8c406225edbef3e
commit 2df6d69014c8f8c0191dbf30d8c406225edbef3e
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Wed Jan 30 09:16:40 2019 -0500
Commit: Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Wed Jan 30 10:46:40 2019 -0500
AutoGen: query Qt5 version from directory properties
This allows functions which enable AutoGen to make the version variables
available at generate time.
See: #18732
diff --git a/Source/cmQtAutoGenInitializer.cxx b/Source/cmQtAutoGenInitializer.cxx
index f9c8c7f..9011180 100644
--- a/Source/cmQtAutoGenInitializer.cxx
+++ b/Source/cmQtAutoGenInitializer.cxx
@@ -1281,6 +1281,12 @@ cmQtAutoGenInitializer::IntegerVersion cmQtAutoGenInitializer::GetQtVersion(
if (qtMajor.empty()) {
qtMajor = makefile->GetSafeDefinition("Qt5Core_VERSION_MAJOR");
}
+ if (qtMajor.empty()) {
+ const char* dirprop = makefile->GetProperty("Qt5Core_VERSION_MAJOR");
+ if (dirprop) {
+ qtMajor = dirprop;
+ }
+ }
{
const char* targetQtVersion =
target->GetLinkInterfaceDependentStringProperty("QT_MAJOR_VERSION", "");
@@ -1294,6 +1300,12 @@ cmQtAutoGenInitializer::IntegerVersion cmQtAutoGenInitializer::GetQtVersion(
if (!qtMajor.empty()) {
if (qtMajor == "5") {
qtMinor = makefile->GetSafeDefinition("Qt5Core_VERSION_MINOR");
+ if (qtMinor.empty()) {
+ const char* dirprop = makefile->GetProperty("Qt5Core_VERSION_MINOR");
+ if (dirprop) {
+ qtMinor = dirprop;
+ }
+ }
}
if (qtMinor.empty()) {
qtMinor = makefile->GetSafeDefinition("QT_VERSION_MINOR");
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b598dfb65edd75e0da763d36dcdc3d19016a8d27
commit b598dfb65edd75e0da763d36dcdc3d19016a8d27
Author: Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Wed Jan 30 10:45:41 2019 -0500
Commit: Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Wed Jan 30 10:46:40 2019 -0500
Tests: add cases for providing Qt5Core_VERSION manually
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)
-----------------------------------------------------------------------
Summary of changes:
Modules/FindBLAS.cmake | 1 -
Modules/FindLAPACK.cmake | 1 -
Source/cmQtAutoGenInitializer.cxx | 43 +++++++++++++---------
Tests/RunCMake/Autogen/QtInFunction.cmake | 13 +++++++
...Qt-stderr.txt => QtInFunctionNested-stderr.txt} | 0
Tests/RunCMake/Autogen/QtInFunctionNested.cmake | 17 +++++++++
Tests/RunCMake/Autogen/QtInFunctionProperty.cmake | 21 +++++++++++
Tests/RunCMake/Autogen/RunCMakeTest.cmake | 5 +++
Tests/RunCMake/CMakeLists.txt | 9 ++++-
9 files changed, 89 insertions(+), 21 deletions(-)
create mode 100644 Tests/RunCMake/Autogen/QtInFunction.cmake
copy Tests/RunCMake/Autogen/{NoQt-stderr.txt => QtInFunctionNested-stderr.txt} (100%)
create mode 100644 Tests/RunCMake/Autogen/QtInFunctionNested.cmake
create mode 100644 Tests/RunCMake/Autogen/QtInFunctionProperty.cmake
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list