1TARGET = QtCore 2QT = 3CONFIG += exceptions 4 5MODULE = core # not corelib, as per project file 6MODULE_CONFIG = moc resources 7qtConfig(gc_binaries): MODULE_CONFIG += gc_binaries 8!isEmpty(QT_NAMESPACE): MODULE_DEFINES = QT_NAMESPACE=$$QT_NAMESPACE 9 10TRACEPOINT_PROVIDER = $$PWD/qtcore.tracepoints 11CONFIG += qt_tracepoints 12 13CONFIG += $$MODULE_CONFIG 14DEFINES += $$MODULE_DEFINES 15android: DEFINES += LIBS_SUFFIX='\\"_$${QT_ARCH}.so\\"' 16DEFINES += QT_NO_USING_NAMESPACE QT_NO_FOREACH 17msvc:equals(QT_ARCH, i386): QMAKE_LFLAGS += /BASE:0x67000000 18 19CONFIG += simd optimize_full 20CONFIG += metatypes install_metatypes 21 22QMAKE_DOCS = $$PWD/doc/qtcore.qdocconf 23 24ANDROID_LIB_DEPENDENCIES = \ 25 plugins/platforms/libplugins_platforms_qtforandroid.so 26ANDROID_BUNDLED_JAR_DEPENDENCIES = \ 27 jar/QtAndroid.jar 28ANDROID_PERMISSIONS = \ 29 android.permission.INTERNET \ 30 android.permission.WRITE_EXTERNAL_STORAGE 31 32# QtCore can't be compiled with -Wl,-no-undefined because it uses the "environ" 33# variable and on FreeBSD and OpenBSD, this variable is in the final executable itself. 34# OpenBSD 6.0 will include environ in libc. 35freebsd|openbsd: QMAKE_LFLAGS_NOUNDEF = 36 37qtConfig(animation): include(animation/animation.pri) 38include(global/global.pri) 39include(thread/thread.pri) 40include(tools/tools.pri) 41include(text/text.pri) 42include(time/time.pri) 43include(io/io.pri) 44include(itemmodels/itemmodels.pri) 45include(plugin/plugin.pri) 46include(kernel/kernel.pri) 47include(codecs/codecs.pri) 48include(serialization/serialization.pri) 49include(statemachine/statemachine.pri) 50include(mimetypes/mimetypes.pri) 51include(platform/platform.pri) 52 53win32 { 54 QMAKE_USE_PRIVATE += ws2_32 55 !winrt: QMAKE_USE_PRIVATE += advapi32 kernel32 ole32 shell32 uuid user32 winmm 56} 57 58darwin { 59 osx { 60 LIBS_PRIVATE += -framework ApplicationServices 61 LIBS_PRIVATE += -framework CoreServices 62 } 63 LIBS_PRIVATE += -framework CoreFoundation 64 LIBS_PRIVATE += -framework Foundation 65} 66 67integrity { 68 LIBS_PRIVATE += -lposix -livfs -lsocket -lnet -lshm_client 69} 70 71QMAKE_DYNAMIC_LIST_FILE = $$PWD/QtCore.dynlist 72 73HOST_BINS = $$[QT_HOST_BINS] 74host_bins.name = host_bins 75host_bins.variable = HOST_BINS 76 77qt_conf.name = qt_config 78qt_conf.variable = QT_CONFIG 79 80QMAKE_PKGCONFIG_VARIABLES += host_bins qt_conf 81 82load(qt_module) 83 84# Override qt_module, so the symbols are actually included into the library. 85win32: DEFINES -= QT_NO_CAST_TO_ASCII 86 87ctest_macros_file.input = $$PWD/Qt5CTestMacros.cmake 88ctest_macros_file.output = $$DESTDIR/cmake/Qt5Core/Qt5CTestMacros.cmake 89ctest_macros_file.CONFIG = verbatim 90 91cmake_umbrella_config_file.input = $$PWD/Qt5Config.cmake.in 92cmake_umbrella_config_file.output = $$DESTDIR/cmake/Qt5/Qt5Config.cmake 93 94cmake_umbrella_config_module_location.input = $$PWD/Qt5ModuleLocation.cmake.in 95cmake_umbrella_config_module_location.output = $$DESTDIR/cmake/Qt5/Qt5ModuleLocation.cmake 96 97cmake_umbrella_config_module_location_for_install.input = $$PWD/Qt5ModuleLocationForInstall.cmake.in 98cmake_umbrella_config_module_location_for_install.output = $$DESTDIR/cmake/install/Qt5/Qt5ModuleLocation.cmake 99 100cmake_umbrella_config_version_file.input = $$PWD/../../mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in 101cmake_umbrella_config_version_file.output = $$DESTDIR/cmake/Qt5/Qt5ConfigVersion.cmake 102 103android { 104 cmake_android_support.input = $$PWD/Qt5AndroidSupport.cmake 105 cmake_android_support.output = $$DESTDIR/cmake/Qt5Core/Qt5AndroidSupport.cmake 106 cmake_android_support.CONFIG = verbatim 107} 108 109load(cmake_functions) 110 111defineTest(pathIsAbsolute) { 112 p = $$clean_path($$1) 113 !isEmpty(p):isEqual(p, $$absolute_path($$p)): return(true) 114 return(false) 115} 116 117##### This requires fixing, so that the feature system works with cmake as well 118CMAKE_DISABLED_FEATURES = $$join(QT_DISABLED_FEATURES, "$$escape_expand(\\n) ") 119 120# Embed the minimum darwin deployment target that Qt needs for informational purposes only. 121macos: CMAKE_MIN_DARWIN_DEPLOYMENT_TARGET = $$QMAKE_MACOSX_DEPLOYMENT_TARGET 122ios: CMAKE_MIN_DARWIN_DEPLOYMENT_TARGET = $$QMAKE_IOS_DEPLOYMENT_TARGET 123tvos: CMAKE_MIN_DARWIN_DEPLOYMENT_TARGET = $$QMAKE_TVOS_DEPLOYMENT_TARGET 124watchos: CMAKE_MIN_DARWIN_DEPLOYMENT_TARGET = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET 125 126CMAKE_HOST_DATA_DIR = $$cmakeRelativePath($$[QT_HOST_DATA/src], $$[QT_INSTALL_PREFIX]) 127pathIsAbsolute($$CMAKE_HOST_DATA_DIR) { 128 CMAKE_HOST_DATA_DIR = $$[QT_HOST_DATA/src]/ 129 CMAKE_HOST_DATA_DIR_IS_ABSOLUTE = True 130} 131 132cmake_extras_mkspec_dir.input = $$PWD/Qt5CoreConfigExtrasMkspecDir.cmake.in 133cmake_extras_mkspec_dir.output = $$DESTDIR/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake 134 135CMAKE_INSTALL_DATA_DIR = $$cmakeRelativePath($$[QT_HOST_DATA], $$[QT_INSTALL_PREFIX]) 136pathIsAbsolute($$CMAKE_INSTALL_DATA_DIR) { 137 CMAKE_INSTALL_DATA_DIR = $$[QT_HOST_DATA]/ 138 CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE = True 139} 140 141cmake_extras_mkspec_dir_for_install.input = $$PWD/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in 142cmake_extras_mkspec_dir_for_install.output = $$DESTDIR/cmake/install/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake 143 144cmake_qt5_umbrella_module_files.files = \ 145 $$cmake_umbrella_config_file.output \ 146 $$cmake_umbrella_config_version_file.output \ 147 $$cmake_umbrella_config_module_location_for_install.output 148 149cmake_qt5_umbrella_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5 150 151QMAKE_SUBSTITUTES += \ 152 ctest_macros_file \ 153 cmake_umbrella_config_file \ 154 cmake_umbrella_config_module_location \ 155 cmake_umbrella_config_module_location_for_install \ 156 cmake_umbrella_config_version_file \ 157 cmake_extras_mkspec_dir \ 158 cmake_extras_mkspec_dir_for_install 159 160android { 161 QMAKE_SUBSTITUTES += cmake_android_support 162 ctest_qt5_module_files.files += $$cmake_android_support.output 163} 164 165ctest_qt5_module_files.files += $$ctest_macros_file.output $$cmake_extras_mkspec_dir_for_install.output 166 167ctest_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5Core 168 169INSTALLS += ctest_qt5_module_files cmake_qt5_umbrella_module_files 170 171QMAKE_DSYM_DEBUG_SCRIPT = $$PWD/debug_script.py 172