From 6086ff01f566c700bd87a2cbea2dd4a53dd1eb6c Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 25 Jun 2013 11:22:09 -0700 Subject: Replace win32-icc/qplatformdefs.h with the MSVC one There have been fixes done to the MSVC qplatformdefs.h that aren't reflected in the ICC one -- specially the inclusion of windows.h. Since ICC is never tested, simply defer to the MSVC one and hope it's enough. Task-number: QTBUG-30839 Change-Id: I3c22638cc7fac3399d3606b1583608e95208df6e Reviewed-by: Oswald Buddenhagen --- mkspecs/win32-icc/qplatformdefs.h | 108 +------------------------------------- 1 file changed, 1 insertion(+), 107 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/win32-icc/qplatformdefs.h b/mkspecs/win32-icc/qplatformdefs.h index b1950cd71f..e03bce8e6c 100644 --- a/mkspecs/win32-icc/qplatformdefs.h +++ b/mkspecs/win32-icc/qplatformdefs.h @@ -39,110 +39,4 @@ ** ****************************************************************************/ -#ifndef QPLATFORMDEFS_H -#define QPLATFORMDEFS_H - -#ifdef UNICODE -#ifndef _UNICODE -#define _UNICODE -#endif -#endif - -// Get Qt defines/settings - -#include "qglobal.h" - -#define _POSIX_ -#include -#undef _POSIX_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef QT_LARGEFILE_SUPPORT -#define QT_STATBUF struct _stati64 // non-ANSI defs -#define QT_STATBUF4TSTAT struct _stati64 // non-ANSI defs -#define QT_STAT ::_stati64 -#define QT_FSTAT ::_fstati64 -#else -#define QT_STATBUF struct _stat // non-ANSI defs -#define QT_STATBUF4TSTAT struct _stat // non-ANSI defs -#define QT_STAT ::_stat -#define QT_FSTAT ::_fstat -#endif -#define QT_STAT_REG _S_IFREG -#define QT_STAT_DIR _S_IFDIR -#define QT_STAT_MASK _S_IFMT -#if defined(_S_IFLNK) -# define QT_STAT_LNK _S_IFLNK -#endif -#define QT_FILENO _fileno -#define QT_OPEN ::_open -#define QT_CLOSE ::_close -#ifdef QT_LARGEFILE_SUPPORT -#define QT_LSEEK ::_lseeki64 -#define QT_TSTAT ::_tstati64 -#else -#define QT_LSEEK ::_lseek -#define QT_TSTAT ::_tstat -#endif -#define QT_READ ::_read -#define QT_WRITE ::_write -#define QT_ACCESS ::_access -#define QT_GETCWD ::_getcwd -#define QT_CHDIR ::_chdir -#define QT_MKDIR ::_mkdir -#define QT_RMDIR ::_rmdir -#define QT_OPEN_LARGEFILE 0 -#define QT_OPEN_RDONLY _O_RDONLY -#define QT_OPEN_WRONLY _O_WRONLY -#define QT_OPEN_RDWR _O_RDWR -#define QT_OPEN_CREAT _O_CREAT -#define QT_OPEN_TRUNC _O_TRUNC -#define QT_OPEN_APPEND _O_APPEND -#if defined(O_TEXT) -# define QT_OPEN_TEXT _O_TEXT -# define QT_OPEN_BINARY _O_BINARY -#endif - -#include "../common/c89/qplatformdefs.h" - -#if defined(QT_LARGEFILE_SUPPORT) && _MSC_VER > 1310 -#undef QT_FSEEK -#undef QT_FTELL - -#define QT_FSEEK ::_fseeki64 -#define QT_FTELL ::_ftelli64 -#endif - -#if defined(QT_LARGEFILE_SUPPORT) -#undef QT_OFF_T -#define QT_OFF_T __int64 -#endif - -#define QT_SIGNAL_ARGS int - -#if _MSC_VER>=1400 -# define QT_VSNPRINTF(buffer, count, format, arg) \ - ::vsnprintf_s(buffer, count, count-1, format, arg) -#else -# define QT_VSNPRINTF ::_vsnprintf -#endif -#define QT_SNPRINTF ::_snprintf - -# define F_OK 0 -# define X_OK 1 -# define W_OK 2 -# define R_OK 4 - -typedef int mode_t; - - -#endif // QPLATFORMDEFS_H +#include "../win32-msvc2005/qplatformdefs.h" -- cgit v1.2.3 From 505617b171ece4cef57fa64512801199178dde7a Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 26 Jun 2013 17:12:44 +0200 Subject: mac frameworks: don't create bogus symlinks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit the entry for the normal headers already ensures that there is the correct version symlink. having an entry for the private headers as well is pointless, and in fact clobbered the symlink for the actual library. Change-Id: I2403761bf006b7bfa490ce85c7b0e46d5ef203c0 Reviewed-by: Stephen Kelly Reviewed-by: Tor Arne Vestbø --- mkspecs/features/qt_module.prf | 1 - 1 file changed, 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 46f8e56ad5..36cdffb5b4 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -96,7 +96,6 @@ mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { FRAMEWORK_HEADERS.version = Versions FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES FRAMEWORK_HEADERS.path = Headers - FRAMEWORK_PRIVATE_HEADERS.version = Versions FRAMEWORK_PRIVATE_HEADERS.files = $$SYNCQT.PRIVATE_HEADER_FILES FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS FRAMEWORK_PRIVATE_HEADERS -- cgit v1.2.3 From f7a7859a7ec533f768b58fd7eff6aa6516242878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Mon, 24 Jun 2013 13:51:23 +0200 Subject: Deprecate Mac libc++ mkspecs We handle C++11 and libc++ through c++11.prf now, so separate mkspecs are not needed. Deprecating them allows us to remove them in a later release. Change-Id: I4e525f445aeab88c926fa62cedef6aa9b32a7f55 Reviewed-by: Oswald Buddenhagen Reviewed-by: Erik Verbruggen Reviewed-by: Thiago Macieira --- mkspecs/macx-clang-libc++-32/qmake.conf | 2 ++ mkspecs/macx-clang-libc++/qmake.conf | 2 ++ 2 files changed, 4 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/macx-clang-libc++-32/qmake.conf b/mkspecs/macx-clang-libc++-32/qmake.conf index aea19a4bc3..3f7342da0b 100644 --- a/mkspecs/macx-clang-libc++-32/qmake.conf +++ b/mkspecs/macx-clang-libc++-32/qmake.conf @@ -2,6 +2,8 @@ # qmake configuration for 32-bit Clang on OS X # +warning("QMakespec macx-clang-libc++-32 is deprecated. Use macx-clang-32 instead.") + MAKEFILE_GENERATOR = UNIX CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname QMAKE_INCREMENTAL_STYLE = sublib diff --git a/mkspecs/macx-clang-libc++/qmake.conf b/mkspecs/macx-clang-libc++/qmake.conf index 94cc0036d2..7f4151e81b 100644 --- a/mkspecs/macx-clang-libc++/qmake.conf +++ b/mkspecs/macx-clang-libc++/qmake.conf @@ -2,6 +2,8 @@ # qmake configuration for Clang on OS X # +warning("QMakespec macx-clang-libc++ is deprecated. Use macx-clang instead.") + MAKEFILE_GENERATOR = UNIX CONFIG += app_bundle incremental global_init_link_order lib_version_first plugin_no_soname QMAKE_INCREMENTAL_STYLE = sublib -- cgit v1.2.3 From a3feba69856af788dd5b13a3e86ae0ef59f0aeff Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 28 Jun 2013 10:48:31 +0200 Subject: fix location of private headers in mac bundles Change-Id: I2d9f117d4b25df878abc525499748ed1df9b9c18 Reviewed-by: Kai Koehne Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_module.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 36cdffb5b4..4f36b3f67f 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -97,7 +97,7 @@ mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES FRAMEWORK_HEADERS.path = Headers FRAMEWORK_PRIVATE_HEADERS.files = $$SYNCQT.PRIVATE_HEADER_FILES - FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME + FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/private QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS FRAMEWORK_PRIVATE_HEADERS } } -- cgit v1.2.3 From 933ae0a0874f754e73fb8093fbad21382e526ca9 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 28 Jun 2013 11:07:44 +0200 Subject: install qpa headers into frameworks as well they are a somewhat different kind of private headers, but follow generally the same logic. Change-Id: Ic6f42ed7061dde2ffd0e32b1d713354b58a20970 Reviewed-by: Joerg Bornemann Reviewed-by: Kai Koehne --- mkspecs/features/qt_module.prf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 4f36b3f67f..238843942a 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -98,7 +98,9 @@ mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { FRAMEWORK_HEADERS.path = Headers FRAMEWORK_PRIVATE_HEADERS.files = $$SYNCQT.PRIVATE_HEADER_FILES FRAMEWORK_PRIVATE_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/private - QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS FRAMEWORK_PRIVATE_HEADERS + FRAMEWORK_QPA_HEADERS.files = $$SYNCQT.QPA_HEADER_FILES + FRAMEWORK_QPA_HEADERS.path = Headers/$$VERSION/$$MODULE_INCNAME/qpa + QMAKE_BUNDLE_DATA += FRAMEWORK_HEADERS FRAMEWORK_PRIVATE_HEADERS FRAMEWORK_QPA_HEADERS } } -- cgit v1.2.3 From cb79be2076e3ba02b603f4ab65ca12cd99fa2eba Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 24 Jun 2013 20:30:12 +0200 Subject: remove qt_no_framework_direct_includes from qt build only the include statements found in public headers are constrained to work with this flag. our own c++ files and private headers can use other styles, which this flag breaks. Change-Id: Icb1ced17dc438083731049788ac28349c87ba7ef Reviewed-by: Joerg Bornemann Reviewed-by: Kai Koehne Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qt_module.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 238843942a..da4de5fa1e 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -90,7 +90,7 @@ else: \ #mac frameworks mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { #QMAKE_FRAMEWORK_VERSION = 4.0 - CONFIG += lib_bundle qt_no_framework_direct_includes qt_framework + CONFIG += lib_bundle qt_framework CONFIG -= qt_install_headers #no need to install these as well !debug_and_release|if(build_all:CONFIG(release, debug|release)) { FRAMEWORK_HEADERS.version = Versions -- cgit v1.2.3 From 215f137e29ad9176fa1a5d4c446115379f5dbc0d Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 1 Jul 2013 07:57:04 -0700 Subject: Restore header installation on Mac to always install to $includedir We haven't fully agreed on whether headers should be in $includedir or not for builds with frameworks, since frameworks carry their headers inside. However, this change came too late for Qt 5.1 for us to assess the potential impacts -- it's known to break at least the cmake files we ship. So restore the build to the way it was. This is a partial revert of 6d61dfdbb74a2055438b999c6962f89cc3388eea. Partial because the old behavior was partially broken: it did not install headers for release builds. Now we always install (and in debug-and-release mode, we might do it twice). Task-number: QTBUG-32134 Change-Id: Ib84879c5a148d3717d16a7a90b2f5735fb5d80be Reviewed-by: Sean Harmer Reviewed-by: Oswald Buddenhagen Reviewed-by: Lars Knoll --- mkspecs/features/qt_module.prf | 1 - 1 file changed, 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index da4de5fa1e..53a5499545 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -91,7 +91,6 @@ else: \ mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { #QMAKE_FRAMEWORK_VERSION = 4.0 CONFIG += lib_bundle qt_framework - CONFIG -= qt_install_headers #no need to install these as well !debug_and_release|if(build_all:CONFIG(release, debug|release)) { FRAMEWORK_HEADERS.version = Versions FRAMEWORK_HEADERS.files = $$SYNCQT.HEADER_FILES $$SYNCQT.HEADER_CLASSES -- cgit v1.2.3 From efb592503afb38073bb005850272af03c8500d3f Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 2 Jul 2013 13:59:04 +0200 Subject: Add a unit test for testing Qt in its install location. The Qt CI system runs the unit tests after installation, but with the qmake in the build directory. This means that the installed content is not unit tested. Add an additional cmake unit test to test the files in the install location. The new test is marked insignificant for now until the true effect on the CI system is known. Task-number: QTBUG-27315 Change-Id: If9f12e88cfc741946cfabc25dbf789a11a2af4b8 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/ctest_testcase.prf | 97 ++------------------------- mkspecs/features/ctest_testcase_common.prf | 91 +++++++++++++++++++++++++ mkspecs/features/ctest_testcase_installed.prf | 8 +++ 3 files changed, 104 insertions(+), 92 deletions(-) create mode 100644 mkspecs/features/ctest_testcase_common.prf create mode 100644 mkspecs/features/ctest_testcase_installed.prf (limited to 'mkspecs') diff --git a/mkspecs/features/ctest_testcase.prf b/mkspecs/features/ctest_testcase.prf index 8eb6f3263e..2011b57cbd 100644 --- a/mkspecs/features/ctest_testcase.prf +++ b/mkspecs/features/ctest_testcase.prf @@ -1,96 +1,9 @@ -win32 { - CMAKE_VERSION = $$system(cmake --version 2>NUL) -} else { - CMAKE_VERSION = $$system(cmake --version 2>/dev/null) -} - - -check.commands = -isEmpty(CMAKE_VERSION) { - message("cmake executable not found. Not running CMake unit tests") -} else { - CTEST_VERSION = $$system(ctest --version) - isEmpty(CTEST_VERSION) { - message("ctest executable not found. Not running CMake unit tests") - } else { - CMAKE_VERSION = $$last(CMAKE_VERSION) - CMAKE_VERSION_MAJOR = $$section(CMAKE_VERSION, ., 0, 0) - CMAKE_VERSION_MINOR = $$section(CMAKE_VERSION, ., 1, 1) - CMAKE_VERSION_PATCH = $$section(CMAKE_VERSION, ., 2, 2) - # CMake can report versions like 2.8.11-rc1, so strip off the rc part. - CMAKE_VERSION_PATCH ~= s,-.*,, - - VERSION_OK = - greaterThan(CMAKE_VERSION_MAJOR, 2) { - VERSION_OK = 1 - } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 8) { - VERSION_OK = 1 - } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 7):greaterThan(CMAKE_VERSION_PATCH, 2) { - VERSION_OK = 1 - } - - isEmpty(VERSION_OK) { - message("cmake $$CMAKE_VERSION is too old for this test.") - } else { - load(cmake_functions) - - CMAKE_BUILD_TYPE = Debug - CONFIG(release, debug|release):CMAKE_BUILD_TYPE = Release - win32-g++*:isEmpty(CROSS_COMPILE):CMAKE_GENERATOR = -G \"MinGW Makefiles\" - win32:equals(QT_ARCH, x86_64) { - win32-msvc2010:CMAKE_GENERATOR = -G \"Visual Studio 10 Win64\" - win32-msvc2012:CMAKE_GENERATOR = -G \"Visual Studio 11 Win64\" - } - - BUILD_DIR = $$replace($$list($$OUT_PWD/build), /, $$QMAKE_DIR_SEP) - - for(d, $$list($$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR))) { - CMAKE_PREFIX_PATH *= $$dirname(d) - } - CMAKE_PREFIX_PATH=\"$$join(CMAKE_PREFIX_PATH, ;)\" - - !qtHaveModule(widgets): CMAKE_MODULE_DEFINES += -DNO_WIDGETS=True - !qtHaveModule(dbus): CMAKE_MODULE_DEFINES += -DNO_DBUS=True - - dependentmodules = $$resolve_depends(CMAKE_QT_MODULES_UNDER_TEST, "QT.") - dependentmodules -= $$CMAKE_QT_MODULES_UNDER_TEST - dependentmodules = $$cmakeModuleList($$dependentmodules) - - contains(QT_CONFIG, angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True - !contains(QT_CONFIG, egl): CMAKE_GL_DEFINES += -DNO_EGL=True - - CMAKE_MODULE_VERSIONS = - CMAKE_MODULES_UNDER_TEST = - for (MODULE_UNDER_TEST, CMAKE_QT_MODULES_UNDER_TEST) { - CMAKE_NAME = $$cmakeModuleName($$MODULE_UNDER_TEST) - CMAKE_MODULE_VERSIONS += \ - -DCMAKE_$${CMAKE_NAME}_MODULE_MAJOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MAJOR_VERSION) \ - -DCMAKE_$${CMAKE_NAME}_MODULE_MINOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MINOR_VERSION) \ - -DCMAKE_$${CMAKE_NAME}_MODULE_PATCH_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.PATCH_VERSION) - CMAKE_MODULES_UNDER_TEST += $$CMAKE_NAME - } - CMAKE_MODULES_UNDER_TEST = $$join(CMAKE_MODULES_UNDER_TEST, ;) - - check.commands = \ - $(MKDIR) $$BUILD_DIR && cd $$BUILD_DIR && \ - cmake $$_PRO_FILE_PWD_ $$CMAKE_GENERATOR \ - -DCMAKE_VERBOSE_MAKEFILE=1 \ - $$CMAKE_MODULE_DEFINES \ - $$CMAKE_GL_DEFINES \ - -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} \ - -DCMAKE_PREFIX_PATH=$$CMAKE_PREFIX_PATH \ - -DQt5_MODULE_TEST_DEPENDS=\"$${dependentmodules}\" \ - $${CMAKE_MODULE_VERSIONS} \ - -DCMAKE_MODULES_UNDER_TEST=\"$$CMAKE_MODULES_UNDER_TEST\" && \ - $(TESTRUNNER) ctest --output-on-failure - - } - } -} +CMAKE_TEST_LOCATION = $$_PRO_FILE_PWD_ -insignificant_test:!isEmpty(check.commands) { - check.commands = -$${check.commands} +for(d, $$list($$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR))) { + CMAKE_PREFIX_PATH *= $$dirname(d) } +CMAKE_PREFIX_PATH=\"$$join(CMAKE_PREFIX_PATH, ;)\" -QMAKE_EXTRA_TARGETS *= check +include(ctest_testcase_common.prf) diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf new file mode 100644 index 0000000000..efe9b80bd0 --- /dev/null +++ b/mkspecs/features/ctest_testcase_common.prf @@ -0,0 +1,91 @@ + +win32 { + CMAKE_VERSION = $$system(cmake --version 2>NUL) +} else { + CMAKE_VERSION = $$system(cmake --version 2>/dev/null) +} + + +check.commands = +isEmpty(CMAKE_VERSION) { + message("cmake executable not found. Not running CMake unit tests") +} else { + CTEST_VERSION = $$system(ctest --version) + isEmpty(CTEST_VERSION) { + message("ctest executable not found. Not running CMake unit tests") + } else { + CMAKE_VERSION = $$last(CMAKE_VERSION) + CMAKE_VERSION_MAJOR = $$section(CMAKE_VERSION, ., 0, 0) + CMAKE_VERSION_MINOR = $$section(CMAKE_VERSION, ., 1, 1) + CMAKE_VERSION_PATCH = $$section(CMAKE_VERSION, ., 2, 2) + # CMake can report versions like 2.8.11-rc1, so strip off the rc part. + CMAKE_VERSION_PATCH ~= s,-.*,, + + VERSION_OK = + greaterThan(CMAKE_VERSION_MAJOR, 2) { + VERSION_OK = 1 + } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 8) { + VERSION_OK = 1 + } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 7):greaterThan(CMAKE_VERSION_PATCH, 2) { + VERSION_OK = 1 + } + + isEmpty(VERSION_OK) { + message("cmake $$CMAKE_VERSION is too old for this test.") + } else { + load(cmake_functions) + + CMAKE_BUILD_TYPE = Debug + CONFIG(release, debug|release):CMAKE_BUILD_TYPE = Release + win32-g++*:isEmpty(CROSS_COMPILE):CMAKE_GENERATOR = -G \"MinGW Makefiles\" + win32:equals(QT_ARCH, x86_64) { + win32-msvc2010:CMAKE_GENERATOR = -G \"Visual Studio 10 Win64\" + win32-msvc2012:CMAKE_GENERATOR = -G \"Visual Studio 11 Win64\" + } + + BUILD_DIR = $$replace($$list($$OUT_PWD/build), /, $$QMAKE_DIR_SEP) + + !qtHaveModule(widgets): CMAKE_MODULE_DEFINES += -DNO_WIDGETS=True + !qtHaveModule(dbus): CMAKE_MODULE_DEFINES += -DNO_DBUS=True + + dependentmodules = $$resolve_depends(CMAKE_QT_MODULES_UNDER_TEST, "QT.") + dependentmodules -= $$CMAKE_QT_MODULES_UNDER_TEST + dependentmodules = $$cmakeModuleList($$dependentmodules) + + contains(QT_CONFIG, angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True + !contains(QT_CONFIG, egl): CMAKE_GL_DEFINES += -DNO_EGL=True + + CMAKE_MODULE_VERSIONS = + CMAKE_MODULES_UNDER_TEST = + for (MODULE_UNDER_TEST, CMAKE_QT_MODULES_UNDER_TEST) { + CMAKE_NAME = $$cmakeModuleName($$MODULE_UNDER_TEST) + CMAKE_MODULE_VERSIONS += \ + -DCMAKE_$${CMAKE_NAME}_MODULE_MAJOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MAJOR_VERSION) \ + -DCMAKE_$${CMAKE_NAME}_MODULE_MINOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MINOR_VERSION) \ + -DCMAKE_$${CMAKE_NAME}_MODULE_PATCH_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.PATCH_VERSION) + CMAKE_MODULES_UNDER_TEST += $$CMAKE_NAME + } + CMAKE_MODULES_UNDER_TEST = $$join(CMAKE_MODULES_UNDER_TEST, ;) + + check.commands = \ + $(MKDIR) $$BUILD_DIR && cd $$BUILD_DIR && \ + cmake $$CMAKE_TEST_LOCATION $$CMAKE_GENERATOR \ + -DCMAKE_VERBOSE_MAKEFILE=1 \ + $$CMAKE_MODULE_DEFINES \ + $$CMAKE_GL_DEFINES \ + -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} \ + -DCMAKE_PREFIX_PATH=$$CMAKE_PREFIX_PATH \ + -DQt5_MODULE_TEST_DEPENDS=\"$${dependentmodules}\" \ + $${CMAKE_MODULE_VERSIONS} \ + -DCMAKE_MODULES_UNDER_TEST=\"$$CMAKE_MODULES_UNDER_TEST\" && \ + $(TESTRUNNER) ctest --output-on-failure + + } + } +} + +insignificant_test:!isEmpty(check.commands) { + check.commands = -$${check.commands} +} + +QMAKE_EXTRA_TARGETS *= check diff --git a/mkspecs/features/ctest_testcase_installed.prf b/mkspecs/features/ctest_testcase_installed.prf new file mode 100644 index 0000000000..be741b4a0b --- /dev/null +++ b/mkspecs/features/ctest_testcase_installed.prf @@ -0,0 +1,8 @@ + +CMAKE_TEST_LOCATION = $$_PRO_FILE_PWD_/../cmake + +CMAKE_PREFIX_PATH = $$[QT_INSTALL_PREFIX] + +CONFIG += insignificant_test + +include(ctest_testcase_common.prf) -- cgit v1.2.3 From 494c81e78ae703d68cf9cd1828abd50ce01fe685 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 2 Jul 2013 23:07:24 +0200 Subject: Add some return() to remove indentation levels. Change-Id: I48dc013fece0f4758ad54342f97ed51b33a9c2ff Reviewed-by: Oswald Buddenhagen --- mkspecs/features/ctest_testcase_common.prf | 155 +++++++++++++++-------------- 1 file changed, 80 insertions(+), 75 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf index efe9b80bd0..f033553d3f 100644 --- a/mkspecs/features/ctest_testcase_common.prf +++ b/mkspecs/features/ctest_testcase_common.prf @@ -7,85 +7,90 @@ win32 { check.commands = +QMAKE_EXTRA_TARGETS *= check + +insignificant_test: return() + isEmpty(CMAKE_VERSION) { message("cmake executable not found. Not running CMake unit tests") + return() +} + +win32 { + CTEST_VERSION = $$system(ctest --version 2>NUL) } else { - CTEST_VERSION = $$system(ctest --version) - isEmpty(CTEST_VERSION) { - message("ctest executable not found. Not running CMake unit tests") - } else { - CMAKE_VERSION = $$last(CMAKE_VERSION) - CMAKE_VERSION_MAJOR = $$section(CMAKE_VERSION, ., 0, 0) - CMAKE_VERSION_MINOR = $$section(CMAKE_VERSION, ., 1, 1) - CMAKE_VERSION_PATCH = $$section(CMAKE_VERSION, ., 2, 2) - # CMake can report versions like 2.8.11-rc1, so strip off the rc part. - CMAKE_VERSION_PATCH ~= s,-.*,, - - VERSION_OK = - greaterThan(CMAKE_VERSION_MAJOR, 2) { - VERSION_OK = 1 - } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 8) { - VERSION_OK = 1 - } else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 7):greaterThan(CMAKE_VERSION_PATCH, 2) { - VERSION_OK = 1 - } - - isEmpty(VERSION_OK) { - message("cmake $$CMAKE_VERSION is too old for this test.") - } else { - load(cmake_functions) - - CMAKE_BUILD_TYPE = Debug - CONFIG(release, debug|release):CMAKE_BUILD_TYPE = Release - win32-g++*:isEmpty(CROSS_COMPILE):CMAKE_GENERATOR = -G \"MinGW Makefiles\" - win32:equals(QT_ARCH, x86_64) { - win32-msvc2010:CMAKE_GENERATOR = -G \"Visual Studio 10 Win64\" - win32-msvc2012:CMAKE_GENERATOR = -G \"Visual Studio 11 Win64\" - } - - BUILD_DIR = $$replace($$list($$OUT_PWD/build), /, $$QMAKE_DIR_SEP) - - !qtHaveModule(widgets): CMAKE_MODULE_DEFINES += -DNO_WIDGETS=True - !qtHaveModule(dbus): CMAKE_MODULE_DEFINES += -DNO_DBUS=True - - dependentmodules = $$resolve_depends(CMAKE_QT_MODULES_UNDER_TEST, "QT.") - dependentmodules -= $$CMAKE_QT_MODULES_UNDER_TEST - dependentmodules = $$cmakeModuleList($$dependentmodules) - - contains(QT_CONFIG, angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True - !contains(QT_CONFIG, egl): CMAKE_GL_DEFINES += -DNO_EGL=True - - CMAKE_MODULE_VERSIONS = - CMAKE_MODULES_UNDER_TEST = - for (MODULE_UNDER_TEST, CMAKE_QT_MODULES_UNDER_TEST) { - CMAKE_NAME = $$cmakeModuleName($$MODULE_UNDER_TEST) - CMAKE_MODULE_VERSIONS += \ - -DCMAKE_$${CMAKE_NAME}_MODULE_MAJOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MAJOR_VERSION) \ - -DCMAKE_$${CMAKE_NAME}_MODULE_MINOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MINOR_VERSION) \ - -DCMAKE_$${CMAKE_NAME}_MODULE_PATCH_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.PATCH_VERSION) - CMAKE_MODULES_UNDER_TEST += $$CMAKE_NAME - } - CMAKE_MODULES_UNDER_TEST = $$join(CMAKE_MODULES_UNDER_TEST, ;) - - check.commands = \ - $(MKDIR) $$BUILD_DIR && cd $$BUILD_DIR && \ - cmake $$CMAKE_TEST_LOCATION $$CMAKE_GENERATOR \ - -DCMAKE_VERBOSE_MAKEFILE=1 \ - $$CMAKE_MODULE_DEFINES \ - $$CMAKE_GL_DEFINES \ - -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} \ - -DCMAKE_PREFIX_PATH=$$CMAKE_PREFIX_PATH \ - -DQt5_MODULE_TEST_DEPENDS=\"$${dependentmodules}\" \ - $${CMAKE_MODULE_VERSIONS} \ - -DCMAKE_MODULES_UNDER_TEST=\"$$CMAKE_MODULES_UNDER_TEST\" && \ - $(TESTRUNNER) ctest --output-on-failure - - } - } + CTEST_VERSION = $$system(ctest --version 2>/dev/null) } -insignificant_test:!isEmpty(check.commands) { - check.commands = -$${check.commands} +isEmpty(CTEST_VERSION) { + message("ctest executable not found. Not running CMake unit tests") + return() } -QMAKE_EXTRA_TARGETS *= check +CMAKE_VERSION = $$last(CMAKE_VERSION) +CMAKE_VERSION_MAJOR = $$section(CMAKE_VERSION, ., 0, 0) +CMAKE_VERSION_MINOR = $$section(CMAKE_VERSION, ., 1, 1) +CMAKE_VERSION_PATCH = $$section(CMAKE_VERSION, ., 2, 2) +# CMake can report versions like 2.8.11-rc1, so strip off the rc part. +CMAKE_VERSION_PATCH ~= s,-.*,, + +VERSION_OK = +greaterThan(CMAKE_VERSION_MAJOR, 2) { + VERSION_OK = 1 +} else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 8) { + VERSION_OK = 1 +} else:greaterThan(CMAKE_VERSION_MAJOR, 1):greaterThan(CMAKE_VERSION_MINOR, 7):greaterThan(CMAKE_VERSION_PATCH, 2) { + VERSION_OK = 1 +} + +isEmpty(VERSION_OK) { + message("cmake $$CMAKE_VERSION is too old for this test.") + return() +} + +load(cmake_functions) + +CMAKE_BUILD_TYPE = Debug +CONFIG(release, debug|release):CMAKE_BUILD_TYPE = Release +win32-g++*:isEmpty(CROSS_COMPILE):CMAKE_GENERATOR = -G \"MinGW Makefiles\" +win32:equals(QT_ARCH, x86_64) { + win32-msvc2010:CMAKE_GENERATOR = -G \"Visual Studio 10 Win64\" + win32-msvc2012:CMAKE_GENERATOR = -G \"Visual Studio 11 Win64\" +} + +BUILD_DIR = $$replace($$list($$OUT_PWD/build), /, $$QMAKE_DIR_SEP) + +!qtHaveModule(widgets): CMAKE_MODULE_DEFINES += -DNO_WIDGETS=True +!qtHaveModule(dbus): CMAKE_MODULE_DEFINES += -DNO_DBUS=True + +dependentmodules = $$resolve_depends(CMAKE_QT_MODULES_UNDER_TEST, "QT.") +dependentmodules -= $$CMAKE_QT_MODULES_UNDER_TEST +dependentmodules = $$cmakeModuleList($$dependentmodules) + +contains(QT_CONFIG, angle): CMAKE_GL_DEFINES = -DQT_WITH_ANGLE=True +!contains(QT_CONFIG, egl): CMAKE_GL_DEFINES += -DNO_EGL=True + +CMAKE_MODULE_VERSIONS = +CMAKE_MODULES_UNDER_TEST = +for (MODULE_UNDER_TEST, CMAKE_QT_MODULES_UNDER_TEST) { + CMAKE_NAME = $$cmakeModuleName($$MODULE_UNDER_TEST) + CMAKE_MODULE_VERSIONS += \ + -DCMAKE_$${CMAKE_NAME}_MODULE_MAJOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MAJOR_VERSION) \ + -DCMAKE_$${CMAKE_NAME}_MODULE_MINOR_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.MINOR_VERSION) \ + -DCMAKE_$${CMAKE_NAME}_MODULE_PATCH_VERSION=$$eval(QT.$${MODULE_UNDER_TEST}.PATCH_VERSION) + CMAKE_MODULES_UNDER_TEST += $$CMAKE_NAME +} +CMAKE_MODULES_UNDER_TEST = $$join(CMAKE_MODULES_UNDER_TEST, ;) + +check.commands = \ + $(MKDIR) $$BUILD_DIR && cd $$BUILD_DIR && \ + cmake $$CMAKE_TEST_LOCATION $$CMAKE_GENERATOR \ + -DCMAKE_VERBOSE_MAKEFILE=1 \ + $$CMAKE_MODULE_DEFINES \ + $$CMAKE_GL_DEFINES \ + -DCMAKE_BUILD_TYPE=$${CMAKE_BUILD_TYPE} \ + -DCMAKE_PREFIX_PATH=$$CMAKE_PREFIX_PATH \ + -DQt5_MODULE_TEST_DEPENDS=\"$${dependentmodules}\" \ + $${CMAKE_MODULE_VERSIONS} \ + -DCMAKE_MODULES_UNDER_TEST=\"$$CMAKE_MODULES_UNDER_TEST\" && \ + $(TESTRUNNER) ctest --output-on-failure -- cgit v1.2.3 From bc03e80f9a6686d67744045f4015623c6ee79c2a Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 2 Jul 2013 23:23:25 +0200 Subject: Hardcode the VERSION reported by qmake instead of calculating it in cmake. Change-Id: Ia83f995a64a56c845bbce1a90702a98fc83a1401 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 1a2bd4a94d..81c424e657 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -82,8 +82,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING}\" - \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING}/$${MODULE_INCNAME}\" + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" ) !!ELSE set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS) @@ -92,8 +92,8 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR\" \"$${CMAKE_INCLUDE_DIR}Qt$${CMAKE_MODULE_NAME}\") !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS - \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING}\" - \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING}/$${MODULE_INCNAME}\" + \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\" + \"$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\" ) !!ELSE set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS) @@ -135,7 +135,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) foreach(_module_dep ${_Qt5$${CMAKE_MODULE_NAME}_MODULE_DEPENDENCIES}) if (NOT Qt5${_module_dep}_FOUND) find_package(Qt5${_module_dep} - ${Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING} ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT} + $$VERSION ${_Qt5$${CMAKE_MODULE_NAME}_FIND_VERSION_EXACT} ${_Qt5$${CMAKE_MODULE_NAME}_DEPENDENCIES_FIND_QUIET} ${_Qt5$${CMAKE_MODULE_NAME}_FIND_DEPENDENCIES_REQUIRED} PATHS \"${CMAKE_CURRENT_LIST_DIR}/..\" NO_DEFAULT_PATH -- cgit v1.2.3 From de54d7bb2955356feb707fd1583840e090696625 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 28 Jun 2013 16:00:13 +0200 Subject: headersclean: process private modules correctly Change-Id: I51c8ee0db31b35e1d991411fe0b03da6665e9a84 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_headersclean.prf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_headersclean.prf b/mkspecs/features/qt_headersclean.prf index 4128392997..ab0a722628 100644 --- a/mkspecs/features/qt_headersclean.prf +++ b/mkspecs/features/qt_headersclean.prf @@ -36,7 +36,8 @@ TARGET = tst_headersclean includes = for(q, QT) { - qn = $$eval(QT.$${q}.name) + sq = $$replace(q, -private\$, ) + qn = $$eval(QT.$${sq}.name) isEmpty(qn): \ QT -= $$q else: \ -- cgit v1.2.3 From 68fd6878ab5f40ee00dad00e3f46f9a3368ef5d8 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 28 Jun 2013 16:06:52 +0200 Subject: make requirement for -private suffix explicit if a private module was used without the suffix, it would not add any include paths, but the library would be still added. as long as the includes were written as , this would not become visible, as the public modules would add the common include path ... however, this soon won't be the case for mac frameworks any more. this change makes the problem visible early on. Change-Id: I8b1a20313ad736cb49507f07fa623e9aa812f651 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_functions.prf | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index bbbb5d36a3..20074445b3 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -62,6 +62,9 @@ defineTest(qtAddModule) { MODULE_CONFIG = $$eval(QT.$${1}.module_config) MODULE_MAJOR_VERSION = $$eval(QT.$${1}.MAJOR_VERSION) + isEmpty(MODULE_INCLUDES):!if(auto_use_privates|isEqual(2, UsePrivate)): \ + error("Module $$1 has no public API.") + qtProcessModuleFlags(CONFIG, QT.$${1}.CONFIG) qtProcessModuleFlags(DEFINES, QT.$${1}.DEFINES) -- cgit v1.2.3 From 4f5f9331d9fd983e2960501847e0a10dfb0219ff Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Mon, 1 Jul 2013 16:19:23 +0200 Subject: Add path to the headers in frameworks to the include dirs. Task-number: QTBUG-32134 Change-Id: I30a2db3363d995ecb6e2b06c66080f7430174868 Reviewed-by: Stephen Kelly --- mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index 81c424e657..38623349be 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -78,6 +78,20 @@ endmacro() if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) !!IF !no_module_headers +!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK) + set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\" + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\" + ) +!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\" + \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\" + ) +!!ELSE + set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS) +!!ENDIF +!!ELSE !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE) set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\") !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES) @@ -99,6 +113,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME}) set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS) !!ENDIF !!ENDIF +!!ENDIF !!ELSE set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS) set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS) -- cgit v1.2.3 From 77196b9dc3caa7dda1072a64ed953bf7231b1af3 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 14 Jun 2013 20:02:56 +0200 Subject: correctly fix compilation of NEON_ASM sources This reverts commit 1ef74a763a726829bfc26224d82acff207fdc8bb, as assembler files in SOURCES break compiling with -pch, as we don't create a respective PCH. instead, compile assembler code with QMAKE_CC, not QMAKE_CXX. the reason why this change is needed in the first place is not clear to me, but i guess that CXX defines some c++-related macros when preprocessing the file, which breaks further down the line. this is counter-intuitive, as the g++ frontend should treat the same sources the same way as the gcc frontend (differences should be limited the the ld invocation). Task-number: QTBUG-29765 Change-Id: Ic0116b3a5fa621f12ac41cadf3062ff00b538e85 Reviewed-by: Rafael Roquetto Reviewed-by: Joerg Bornemann Reviewed-by: Thiago Macieira --- mkspecs/features/simd.prf | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/simd.prf b/mkspecs/features/simd.prf index b430e59ff0..14da926dc3 100644 --- a/mkspecs/features/simd.prf +++ b/mkspecs/features/simd.prf @@ -116,7 +116,6 @@ load(qt_build_config) } neon { HEADERS += $$NEON_HEADERS - SOURCES += $$NEON_ASM neon_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS) !contains(QT_CPU_FEATURES, neon):neon_compiler.commands += $$QMAKE_CFLAGS_NEON @@ -127,7 +126,16 @@ load(qt_build_config) neon_compiler.variable_out = OBJECTS neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN} silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands - QMAKE_EXTRA_COMPILERS += neon_compiler + neon_assembler.commands = $$QMAKE_CC -c $(CFLAGS) + !contains(QT_CPU_FEATURES, neon):neon_assembler.commands += $$QMAKE_CFLAGS_NEON + neon_assembler.commands += $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + neon_assembler.dependency_type = TYPE_C + neon_assembler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + neon_assembler.input = NEON_ASM + neon_assembler.variable_out = OBJECTS + neon_assembler.name = assembling[neon] ${QMAKE_FILE_IN} + silent:neon_assembler.commands = @echo assembling[neon] ${QMAKE_FILE_IN} && $$neon_assembler.commands + QMAKE_EXTRA_COMPILERS += neon_compiler neon_assembler } iwmmxt { HEADERS += $$IWMMXT_HEADERS @@ -150,24 +158,32 @@ load(qt_build_config) mips_dsp_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} mips_dsp_compiler.dependency_type = TYPE_C mips_dsp_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - mips_dsp_compiler.input = MIPS_DSP_ASM MIPS_DSP_SOURCES + mips_dsp_compiler.input = MIPS_DSP_SOURCES mips_dsp_compiler.variable_out = OBJECTS mips_dsp_compiler.name = compiling[mips_dsp] ${QMAKE_FILE_IN} silent:mips_dsp_compiler.commands = @echo compiling[mips_dsp] ${QMAKE_FILE_IN} && $$mips_dsp_compiler.commands + mips_dsp_assembler.commands = $$QMAKE_CC -c + mips_dsp_assembler.commands += $(CFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + mips_dsp_assembler.dependency_type = TYPE_C + mips_dsp_assembler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + mips_dsp_assembler.input = MIPS_DSP_ASM + mips_dsp_assembler.variable_out = OBJECTS + mips_dsp_assembler.name = assembling[mips_dsp] ${QMAKE_FILE_IN} + silent:mips_dsp_assembler.commands = @echo assembling[mips_dsp] ${QMAKE_FILE_IN} && $$mips_dsp_assembler.commands QMAKE_EXTRA_COMPILERS += mips_dsp_compiler } mips_dspr2 { HEADERS += $$MIPS_DSP_HEADERS - mips_dspr2_compiler.commands = $$QMAKE_CXX -c - mips_dspr2_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} - mips_dspr2_compiler.dependency_type = TYPE_C - mips_dspr2_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - mips_dspr2_compiler.input = MIPS_DSPR2_ASM - mips_dspr2_compiler.variable_out = OBJECTS - mips_dspr2_compiler.name = compiling[mips_dspr2] ${QMAKE_FILE_IN} - silent:mips_dspr2_compiler.commands = @echo compiling[mips_dspr2] ${QMAKE_FILE_IN} && $$mips_dspr2_compiler.commands - QMAKE_EXTRA_COMPILERS += mips_dspr2_compiler + mips_dspr2_assembler.commands = $$QMAKE_CC -c + mips_dspr2_assembler.commands += $(CFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + mips_dspr2_assembler.dependency_type = TYPE_C + mips_dspr2_assembler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + mips_dspr2_assembler.input = MIPS_DSPR2_ASM + mips_dspr2_assembler.variable_out = OBJECTS + mips_dspr2_assembler.name = assembling[mips_dspr2] ${QMAKE_FILE_IN} + silent:mips_dspr2_assembler.commands = @echo assembling[mips_dspr2] ${QMAKE_FILE_IN} && $$mips_dspr2_assembler.commands + QMAKE_EXTRA_COMPILERS += mips_dspr2_assembler } } else:win32-msvc* { sse2 { -- cgit v1.2.3 From f1cdd4b2976706c6d9c3166a75afff6ec5856f3d Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 2 Jul 2013 13:48:08 +0200 Subject: add support for Visual Studio 2013 Add mkspec win32-msvc2013 and make VS 2013 known to configure and qmake. Change-Id: I6e63a4d679727a8a3f068f377956185996d72bce Reviewed-by: Friedemann Kleint Reviewed-by: Oswald Buddenhagen Reviewed-by: Joerg Bornemann --- mkspecs/win32-msvc2013/qmake.conf | 98 ++++++++++++++++++++++++++++++++++ mkspecs/win32-msvc2013/qplatformdefs.h | 42 +++++++++++++++ 2 files changed, 140 insertions(+) create mode 100644 mkspecs/win32-msvc2013/qmake.conf create mode 100644 mkspecs/win32-msvc2013/qplatformdefs.h (limited to 'mkspecs') diff --git a/mkspecs/win32-msvc2013/qmake.conf b/mkspecs/win32-msvc2013/qmake.conf new file mode 100644 index 0000000000..89d2dd45a4 --- /dev/null +++ b/mkspecs/win32-msvc2013/qmake.conf @@ -0,0 +1,98 @@ +# +# qmake configuration for win32-msvc2013 +# +# Written for Microsoft Visual C++ 2013 +# + +MAKEFILE_GENERATOR = MSBUILD +QMAKE_PLATFORM = win32 +CONFIG += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target embed_manifest_dll embed_manifest_exe +DEFINES += UNICODE WIN32 +QMAKE_COMPILER_DEFINES += _MSC_VER=1800 _WIN32 +contains(QMAKE_TARGET.arch, x86_64) { + DEFINES += WIN64 + QMAKE_COMPILER_DEFINES += _WIN64 +} + +QMAKE_COMPILER = msvc + +QMAKE_CC = cl +QMAKE_LEX = flex +QMAKE_LEXFLAGS = +QMAKE_YACC = byacc +QMAKE_YACCFLAGS = -d +QMAKE_CFLAGS = -nologo -Zm200 -Zc:wchar_t +QMAKE_CFLAGS_WARN_ON = -W3 +QMAKE_CFLAGS_WARN_OFF = -W0 +QMAKE_CFLAGS_RELEASE = -O2 -MD +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi +QMAKE_CFLAGS_DEBUG = -Zi -MDd +QMAKE_CFLAGS_YACC = +QMAKE_CFLAGS_LTCG = -GL +QMAKE_CFLAGS_MP = -MP +QMAKE_CFLAGS_SSE2 = -arch:SSE2 +QMAKE_CFLAGS_SSE3 = -arch:SSE2 +QMAKE_CFLAGS_SSSE3 = -arch:SSE2 +QMAKE_CFLAGS_SSE4_1 = -arch:SSE2 +QMAKE_CFLAGS_SSE4_2 = -arch:SSE2 +QMAKE_CFLAGS_AVX = -arch:AVX +QMAKE_CFLAGS_AVX2 = -arch:AVX + +QMAKE_CXX = $$QMAKE_CC +QMAKE_CXXFLAGS = $$QMAKE_CFLAGS +QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189 +QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF +QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE +QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO +QMAKE_CXXFLAGS_DEBUG = $$QMAKE_CFLAGS_DEBUG +QMAKE_CXXFLAGS_YACC = $$QMAKE_CFLAGS_YACC +QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG +QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP +QMAKE_CXXFLAGS_STL_ON = -EHsc +QMAKE_CXXFLAGS_STL_OFF = +QMAKE_CXXFLAGS_RTTI_ON = -GR +QMAKE_CXXFLAGS_RTTI_OFF = +QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc +QMAKE_CXXFLAGS_EXCEPTIONS_OFF = + +QMAKE_INCDIR = + +QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$obj $src +QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ $< +QMAKE_RUN_CC_IMP_BATCH = $(CC) -c $(CFLAGS) $(INCPATH) -Fo$@ @<< +QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$obj $src +QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ $< +QMAKE_RUN_CXX_IMP_BATCH = $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fo$@ @<< + +QMAKE_LINK = link +QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT +QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO +QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF +QMAKE_LFLAGS_DEBUG = /DEBUG +QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE +QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS +QMAKE_LFLAGS_EXE = \"/MANIFESTDEPENDENCY:type=\'win32\' name=\'Microsoft.Windows.Common-Controls\' version=\'6.0.0.0\' publicKeyToken=\'6595b64144ccf1df\' language=\'*\' processorArchitecture=\'*\'\" +QMAKE_LFLAGS_DLL = /DLL +QMAKE_LFLAGS_LTCG = /LTCG +QMAKE_EXTENSION_STATICLIB = lib + +QMAKE_LIBS_CORE = kernel32.lib user32.lib shell32.lib uuid.lib ole32.lib advapi32.lib ws2_32.lib +QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib user32.lib advapi32.lib +QMAKE_LIBS_NETWORK = ws2_32.lib +QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib +QMAKE_LIBS_OPENGL_ES2 = libEGL.lib libGLESv2.lib gdi32.lib user32.lib +QMAKE_LIBS_OPENGL_ES2_DEBUG = libEGLd.lib libGLESv2d.lib gdi32.lib user32.lib +QMAKE_LIBS_COMPAT = advapi32.lib shell32.lib comdlg32.lib user32.lib gdi32.lib ws2_32.lib + +QMAKE_LIBS_QT_ENTRY = -lqtmain + +QMAKE_IDL = midl +QMAKE_LIB = lib /NOLOGO +QMAKE_RC = rc + +include(../common/shell-win32.conf) + +VCPROJ_EXTENSION = .vcxproj +VCSOLUTION_EXTENSION = .sln +VCPROJ_KEYWORD = Qt4VSv1.0 +load(qt_config) diff --git a/mkspecs/win32-msvc2013/qplatformdefs.h b/mkspecs/win32-msvc2013/qplatformdefs.h new file mode 100644 index 0000000000..e03bce8e6c --- /dev/null +++ b/mkspecs/win32-msvc2013/qplatformdefs.h @@ -0,0 +1,42 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU General Public License version 3.0 requirements will be +** met: http://www.gnu.org/copyleft/gpl.html. +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../win32-msvc2005/qplatformdefs.h" -- cgit v1.2.3 From 1bd8db01c4d3bfe19b0452a7ecf90cec9360c58b Mon Sep 17 00:00:00 2001 From: Ray Donnelly Date: Mon, 10 Jun 2013 00:19:12 +0100 Subject: Android Windows: Adjust to new SDK layout Google moved dx.bat into a new build-tools/VERSION folder meaning our dx.bat no longer found dx.jar. Fix this by passing into our dx.bat, the location of the real dx.bat Removed hardcoded 17.0.0 and %ANDROID_BUILD_TOOLS_REVISION% path searches. Change-Id: I91c12c01745d6f12edbd126102b8f06eba291402 Reviewed-by: Oswald Buddenhagen Reviewed-by: Eskil Abrahamsen Blomfeldt --- mkspecs/features/data/android/dx.bat | 30 +++++++++++++++--------------- mkspecs/features/java.prf | 8 +++++++- 2 files changed, 22 insertions(+), 16 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/data/android/dx.bat b/mkspecs/features/data/android/dx.bat index c4ad0e3ebc..9816f9607d 100644 --- a/mkspecs/features/data/android/dx.bat +++ b/mkspecs/features/data/android/dx.bat @@ -27,34 +27,35 @@ REM and set up progdir to be the fully-qualified pathname of its directory. set prog=%~f0 if [%1]==[] goto badArgs -set "androidsdk=%1" +set "dx_jar_path=%1" shift /1 if [%1]==[] goto badArgs +REM Use dpZ here to make it more like the Google version. +for %%F in ("%dx_jar_path%") do set dpZ=%%~dpF + rem Check we have a valid Java.exe in the path. set java_exe= -call "%androidsdk%\tools\lib\find_java.bat" +if exist "%dpZ%..\tools\lib\find_java.bat" call "%dpZ%..\tools\lib\find_java.bat" +if exist "%dpZ%..\..\tools\lib\find_java.bat" call "%dpZ%..\..\tools\lib\find_java.bat" + if not defined java_exe goto :EOF set jarfile=dx.jar -set "frameworkdir=%androidsdk%\platform-tools" - -if exist "%frameworkdir%\%jarfile%" goto JarFileOk - set "frameworkdir=%frameworkdir%\lib" +set "frameworkdir=%dpZ%" +rem frameworkdir must not end with a dir sep. +set "frameworkdir=%frameworkdir:~0,-1%" if exist "%frameworkdir%\%jarfile%" goto JarFileOk - set "frameworkdir=%androidsdk%\framework" + set "frameworkdir=%dpZ%lib" if exist "%frameworkdir%\%jarfile%" goto JarFileOk - set "frameworkdir=%androidsdk%\build-tools\%ANDROID_BUILD_TOOLS_REVISION%\lib" - -if exist "%frameworkdir%\%jarfile%" goto JarFileOk - set "frameworkdir=%androidsdk%\build-tools\17.0.0\lib" + set "frameworkdir=%dpZ%..\framework" :JarFileOk -set jarpath=%frameworkdir%\%jarfile% +set "jarpath=%frameworkdir%\%jarfile%" set javaOpts= set args= @@ -97,12 +98,11 @@ set a=%~1 :endArgs set javaOpts=%javaOpts% %defaultXmx% %defaultXss% - call "%java_exe%" %javaOpts% -Djava.ext.dirs="%frameworkdir%" -jar "%jarpath%" %params% goto :EOF :badArgs -echo Usage: dx (for Qt) -echo Example: dx (for Qt) C:\android-sdk --dex --output=target.jar .classes +echo Usage: dx (for Qt) ^ ^ +echo Example: dx (for Qt) C:\android-sdk\build-tools\17.0.0\dx.jar --dex --output=target.jar .classes diff --git a/mkspecs/features/java.prf b/mkspecs/features/java.prf index 411a839ad8..d8ceb536a7 100644 --- a/mkspecs/features/java.prf +++ b/mkspecs/features/java.prf @@ -58,7 +58,13 @@ QMAKE_EXTENSION_SHLIB = jar # Override linker with dex (for distributable Android archives) or jar (for other java builds) android:!bundled_jar_file { contains(QMAKE_HOST.os, Windows) { - DEX_CMD = $$PWD/data/android/dx $$SDK_ROOT + # The location where dx.bat expects itself to be found is used as the landmark instead + # of the base sdk folder. + # Doing it this way makes this logic more similar to the other platforms and + # also means that our dx.bat is more like Google's dx.bat + DEX_BAT = $$SDK_ROOT/platform-tools/dx.bat + !exists($$DEX_BAT): DEX_BAT = $$SDK_ROOT/build-tools/$$BUILD_TOOLS_REVISION/dx.bat + DEX_CMD = $$PWD/data/android/dx $$DEX_BAT } else { DEX_CMD = $$SDK_ROOT/platform-tools/dx !exists($$DEX_CMD): DEX_CMD = $$SDK_ROOT/build-tools/$$BUILD_TOOLS_REVISION/dx -- cgit v1.2.3 From 6d8f7a8d34906187c834e948b3ccd12a92fcccaa Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Thu, 4 Jul 2013 18:20:44 +0200 Subject: make requirement for -private suffix explicit, take 2 the previous attempt broke ActiveQt, as it actually has public modules without headers (they are provided by a common base module). so explicitly mark the internal modules as such instead of applying heuristics. Change-Id: I8d8a2ee66f02c3444da2036a497e7f382f089f62 Reviewed-by: Joerg Bornemann --- mkspecs/features/qt_functions.prf | 2 +- mkspecs/features/qt_module_pris.prf | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 83d0821830..2f2c94ce06 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -61,7 +61,7 @@ defineTest(qtAddModule) { MODULE_CONFIG = $$eval(QT.$${1}.module_config) MODULE_MAJOR_VERSION = $$eval(QT.$${1}.MAJOR_VERSION) - isEmpty(MODULE_INCLUDES):!if(auto_use_privates|isEqual(2, UsePrivate)): \ + contains(MODULE_CONFIG, internal_module):!if(auto_use_privates|isEqual(2, UsePrivate)): \ error("Module $$1 has no public API.") qtProcessModuleFlags(CONFIG, QT.$${1}.CONFIG) diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf index 81b37f0e92..90e5288524 100644 --- a/mkspecs/features/qt_module_pris.prf +++ b/mkspecs/features/qt_module_pris.prf @@ -51,11 +51,15 @@ else: \ else: \ module_rundep = static: \ - module_build_type = "QT.$${MODULE}.module_config = staticlib" + module_build_type = staticlib else:mac:contains(QT_CONFIG, qt_framework): \ - module_build_type = "QT.$${MODULE}.module_config = lib_bundle" + module_build_type = lib_bundle else: \ module_build_type = + internal_module: \ + module_build_type += internal_module + !isEmpty(module_build_type): \ + module_build_type = "QT.$${MODULE}.module_config = $$module_build_type" !isEmpty(MODULE_CONFIG): \ module_config = "QT.$${MODULE}.CONFIG = $$MODULE_CONFIG" else: \ -- cgit v1.2.3 From 23e8fa55b467b298b97b289e0124329c8e758c47 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 5 Jul 2013 15:42:39 +0200 Subject: don't pass -indexdir during prepare_docs phase the forward-referenced directories don't exist yet, so we get pointless warnings. in fact, this is why we do a multi-pass build in the first place, and consequently using indexes during the first pass is illogical. Task-number: QTBUG-32152 Change-Id: I66bf6b43238827e87cb8bf6932d581b808c1032d Reviewed-by: Martin Smith --- mkspecs/features/qt_docs.prf | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf index 5b42cfcac8..85e2db25bc 100644 --- a/mkspecs/features/qt_docs.prf +++ b/mkspecs/features/qt_docs.prf @@ -19,11 +19,12 @@ isEmpty(QMAKE_DOCS_TARGETDIR): QMAKE_DOCS_TARGETDIR = $$QMAKE_DOCS_TARGET QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR qtPrepareTool(QDOC, qdoc) -for(qmod, QMAKEMODULES): \ - QDOC += -indexdir $$section(qmod, /, 0, -3)/doc QDOC += -outputdir $$QMAKE_DOCS_OUTPUTDIR !build_online_docs: \ QDOC += -installdir $$[QT_INSTALL_DOCS] +DOC_INDEXES = +for(qmod, QMAKEMODULES): \ + DOC_INDEXES += -indexdir $$section(qmod, /, 0, -3)/doc qtver.name = QT_VERSION qtver.value = $$VERSION isEmpty(qtver.value): qtver.value = $$MODULE_VERSION @@ -38,9 +39,9 @@ qtAddToolEnv(QDOC, qtver qtmver qtvertag qtdocs) doc_command = $$QDOC $$QMAKE_DOCS prepare_docs { prepare_docs.commands += $$doc_command -prepare -no-link-errors - generate_docs.commands += $$doc_command -generate + generate_docs.commands += $$doc_command -generate $$DOC_INDEXES } else { - html_docs.commands += $$doc_command + html_docs.commands += $$doc_command $$DOC_INDEXES } !build_online_docs { -- cgit v1.2.3 From a3dfb4db5f67aaaa3f5acb53418d041f8470f949 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Tue, 9 Jul 2013 11:14:50 +0200 Subject: CMake: Fix handling of insignificant_test. The test should still be run, even though it is insignificant. Change-Id: I6a3853e2b0e9670152b4f329dbceed2986a7e008 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/ctest_testcase_common.prf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf index f033553d3f..2f66909bb4 100644 --- a/mkspecs/features/ctest_testcase_common.prf +++ b/mkspecs/features/ctest_testcase_common.prf @@ -9,8 +9,6 @@ win32 { check.commands = QMAKE_EXTRA_TARGETS *= check -insignificant_test: return() - isEmpty(CMAKE_VERSION) { message("cmake executable not found. Not running CMake unit tests") return() @@ -94,3 +92,6 @@ check.commands = \ $${CMAKE_MODULE_VERSIONS} \ -DCMAKE_MODULES_UNDER_TEST=\"$$CMAKE_MODULES_UNDER_TEST\" && \ $(TESTRUNNER) ctest --output-on-failure + +insignificant_test:!isEmpty(check.commands): \ + check.commands = -$${check.commands} -- cgit v1.2.3 From aae0a2144d2ad62f7bdf83e5c3161e66d9a7016d Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 20 Jun 2013 14:36:14 +0200 Subject: Always use forward slashes in paths passed to cmake. Otherwise it issues many warnings. Change-Id: I072afc65eed3f2549e5e5894f8d290c792025e4c Reviewed-by: Stephen Kelly --- mkspecs/features/ctest_testcase.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/ctest_testcase.prf b/mkspecs/features/ctest_testcase.prf index 2011b57cbd..3b7f3091c5 100644 --- a/mkspecs/features/ctest_testcase.prf +++ b/mkspecs/features/ctest_testcase.prf @@ -2,7 +2,7 @@ CMAKE_TEST_LOCATION = $$_PRO_FILE_PWD_ for(d, $$list($$split($$list($$[QMAKE_MKSPECS]), $$DIRLIST_SEPARATOR))) { - CMAKE_PREFIX_PATH *= $$dirname(d) + CMAKE_PREFIX_PATH *= $$clean_path($$dirname(d)) } CMAKE_PREFIX_PATH=\"$$join(CMAKE_PREFIX_PATH, ;)\" -- cgit v1.2.3 From cf10131d441eee9203ae11f557e20d1bf255b50e Mon Sep 17 00:00:00 2001 From: Jake Petroules Date: Tue, 9 Jul 2013 10:07:07 -0400 Subject: Refer to Apple products by their actual names. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a comment-only change. Change-Id: I2432b1135ef21d781c9486df06699710f2696ee3 Reviewed-by: Tor Arne Vestbø --- mkspecs/common/clang.conf | 2 +- mkspecs/common/g++-macx.conf | 2 +- mkspecs/common/gcc-base-mac.conf | 2 +- mkspecs/common/llvm.conf | 2 +- mkspecs/common/mac.conf | 2 +- mkspecs/common/macx.conf | 2 +- mkspecs/features/qt_module.prf | 2 +- mkspecs/macx-g++-32/qmake.conf | 2 +- mkspecs/macx-g++/qmake.conf | 2 +- mkspecs/macx-g++40/qmake.conf | 2 +- mkspecs/macx-g++42/qmake.conf | 2 +- mkspecs/macx-icc/qmake.conf | 2 +- mkspecs/macx-llvm/qmake.conf | 2 +- mkspecs/macx-xcode/qmake.conf | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/common/clang.conf b/mkspecs/common/clang.conf index 3ce04b679e..4f141351c1 100644 --- a/mkspecs/common/clang.conf +++ b/mkspecs/common/clang.conf @@ -1,5 +1,5 @@ # -# Qmake configuration for Clang on Linux and Mac +# Qmake configuration for Clang on Linux, OS X and iOS # QMAKE_COMPILER = gcc clang llvm # clang pretends to be gcc diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf index bae8eb0965..086510dd96 100644 --- a/mkspecs/common/g++-macx.conf +++ b/mkspecs/common/g++-macx.conf @@ -1,5 +1,5 @@ # -# Qmake configuration for the GNU C++ compiler on Mac OS X +# Qmake configuration for the GNU C++ compiler on OS X # # Before making changes to this file, please read the comment in # gcc-base.conf, to make sure the change goes in the right place. diff --git a/mkspecs/common/gcc-base-mac.conf b/mkspecs/common/gcc-base-mac.conf index fa2b5765bf..e0469f31cc 100644 --- a/mkspecs/common/gcc-base-mac.conf +++ b/mkspecs/common/gcc-base-mac.conf @@ -1,5 +1,5 @@ # -# Base qmake configuration for GCC on Mac OS X and iOS +# Base qmake configuration for GCC on OS X and iOS # # Before making changes to this file, please read the comment in # gcc-base.conf, to make sure the change goes in the right place. diff --git a/mkspecs/common/llvm.conf b/mkspecs/common/llvm.conf index 8f6946f9a2..c906dce6fc 100644 --- a/mkspecs/common/llvm.conf +++ b/mkspecs/common/llvm.conf @@ -1,5 +1,5 @@ # -# Qmake configuration for LLVM on Linux and Mac +# Qmake configuration for LLVM on Linux, OS X and iOS # QMAKE_COMPILER = gcc llvm diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf index 341c74657a..1b480aa267 100644 --- a/mkspecs/common/mac.conf +++ b/mkspecs/common/mac.conf @@ -1,5 +1,5 @@ # -# qmake configuration for common Mac OS (OSX and iOS) +# qmake configuration common to OS X and iOS # !load(device_config): error(Could not successfully load device configuration) diff --git a/mkspecs/common/macx.conf b/mkspecs/common/macx.conf index 7f9f54ec12..48efae5d1e 100644 --- a/mkspecs/common/macx.conf +++ b/mkspecs/common/macx.conf @@ -1,5 +1,5 @@ # -# qmake configuration for common Mac OS X +# qmake configuration for common OS X # QMAKE_PLATFORM += macx diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 53a5499545..7f7de85bb6 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -87,7 +87,7 @@ contains(TARGET, QtAddOn.*): \ else: \ DEFINES += QT_BUILD_$${ucmodule}_LIB -#mac frameworks +# OS X and iOS frameworks mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { #QMAKE_FRAMEWORK_VERSION = 4.0 CONFIG += lib_bundle qt_framework diff --git a/mkspecs/macx-g++-32/qmake.conf b/mkspecs/macx-g++-32/qmake.conf index bf8f68c680..6ef78aacbf 100644 --- a/mkspecs/macx-g++-32/qmake.conf +++ b/mkspecs/macx-g++-32/qmake.conf @@ -3,7 +3,7 @@ # # qmake configuration for macx-g++ # -# Mac OS X + command-line compiler +# OS X + command-line compiler # MAKEFILE_GENERATOR = UNIX diff --git a/mkspecs/macx-g++/qmake.conf b/mkspecs/macx-g++/qmake.conf index 96d9f6e487..a6c075a2ce 100644 --- a/mkspecs/macx-g++/qmake.conf +++ b/mkspecs/macx-g++/qmake.conf @@ -3,7 +3,7 @@ # # qmake configuration for macx-g++ # -# Mac OS X + command-line compiler +# OS X + command-line compiler # MAKEFILE_GENERATOR = UNIX diff --git a/mkspecs/macx-g++40/qmake.conf b/mkspecs/macx-g++40/qmake.conf index fe7683e02d..f40315a602 100644 --- a/mkspecs/macx-g++40/qmake.conf +++ b/mkspecs/macx-g++40/qmake.conf @@ -3,7 +3,7 @@ # # qmake configuration for macx-g++ # -# Mac OS X + command-line compiler +# OS X + command-line compiler # MAKEFILE_GENERATOR = UNIX diff --git a/mkspecs/macx-g++42/qmake.conf b/mkspecs/macx-g++42/qmake.conf index 9041d8ba05..25383e9cb6 100644 --- a/mkspecs/macx-g++42/qmake.conf +++ b/mkspecs/macx-g++42/qmake.conf @@ -3,7 +3,7 @@ # # qmake configuration for macx-g++ # -# Mac OS X + command-line compiler +# OS X + command-line compiler # MAKEFILE_GENERATOR = UNIX diff --git a/mkspecs/macx-icc/qmake.conf b/mkspecs/macx-icc/qmake.conf index 2522d5c382..69f0b4cc0c 100644 --- a/mkspecs/macx-icc/qmake.conf +++ b/mkspecs/macx-icc/qmake.conf @@ -1,7 +1,7 @@ # # qmake configuration for macx-icc # -# Written for Intel C++ Compiler versions 8.x and 9.x for Mac OS X +# Written for Intel C++ Compiler versions 8.x and 9.x for OS X # # Note: Some of the remarks from the Intel compiler are disabled (even # with 'warn_on' specified): diff --git a/mkspecs/macx-llvm/qmake.conf b/mkspecs/macx-llvm/qmake.conf index 7e6ee1c9de..7bdef70943 100644 --- a/mkspecs/macx-llvm/qmake.conf +++ b/mkspecs/macx-llvm/qmake.conf @@ -3,7 +3,7 @@ # # qmake configuration for macx-g++ # -# Mac OS X + command-line compiler +# OS X + command-line compiler # MAKEFILE_GENERATOR = UNIX diff --git a/mkspecs/macx-xcode/qmake.conf b/mkspecs/macx-xcode/qmake.conf index 7f65d263a3..bfc1c58935 100644 --- a/mkspecs/macx-xcode/qmake.conf +++ b/mkspecs/macx-xcode/qmake.conf @@ -1,7 +1,7 @@ # # qmake configuration for macx-xcode # -# Mac OS X + XCode +# OS X + Xcode # include(../$$[QMAKE_XSPEC]/qmake.conf) -- cgit v1.2.3