Warning, /graphics/krita/3rdparty/ext_qt/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 SET(EXTPREFIX_qt "${EXTPREFIX}") 0002 0003 set(QT_GIT_TAG "6d099d35da4958861ea62e2f54271a1dd8ea7707") 0004 0005 if (MINGW) 0006 set(QT_BUILD_COMMAND mingw32-make -j${SUBMAKE_JOBS}) 0007 set(QT_INSTALL_COMMAND mingw32-make -j${SUBMAKE_JOBS} install) 0008 elseif (MSVC) 0009 set(QT_BUILD_COMMAND jom -j${SUBMAKE_JOBS}) 0010 set(QT_INSTALL_COMMAND jom -j${SUBMAKE_JOBS} install) 0011 elseif (CMAKE_GENERATOR MATCHES "Makefiles") 0012 set (QT_BUILD_COMMAND $(MAKE) -j${SUBMAKE_JOBS}) 0013 set (QT_INSTALL_COMMAND $(MAKE) install) 0014 else() 0015 set (QT_BUILD_COMMAND make -j${SUBMAKE_JOBS}) 0016 set (QT_INSTALL_COMMAND make install) 0017 endif() 0018 0019 if (WIN32) 0020 0021 if(MINGW) 0022 if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") 0023 set(QT_CONFIG_PLATFORM win32-clang-g++) 0024 else() 0025 set(QT_CONFIG_PLATFORM win32-g++) 0026 endif() 0027 elseif(MSVC) 0028 ExternalProject_Add(ext_jom 0029 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0030 URL https://download.qt.io/official_releases/jom/jom_1_1_3.zip 0031 URL_HASH SHA256=128fdd846fe24f8594eed37d1d8929a0ea78df563537c0c1b1861a635013fff8 0032 0033 BUILD_COMMAND ${CMAKE_COMMAND} -E echo Deploying Jom 0034 CONFIGURE_COMMAND "" 0035 INSTALL_COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/jom.exe ${EXTPREFIX_qt}/bin 0036 0037 UPDATE_COMMAND "" 0038 ) 0039 0040 set(QT_CONFIG_PLATFORM win32-msvc) 0041 list(APPEND QT_EXTRA_DEPS ext_jom) 0042 endif(MINGW) 0043 0044 list(APPEND _QT_conf -skip qt3d -skip qtactiveqt -skip qtcanvas3d 0045 -skip qtconnectivity -skip qtdoc 0046 -skip qtlocation -skip qtsensors -skip qtserialport -skip qtwayland 0047 -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview 0048 -skip qtxmlpatterns -nomake examples -nomake tools 0049 -no-compile-examples -no-dbus -no-iconv -no-qml-debug 0050 -no-libproxy -no-system-proxies -icu -no-mtdev 0051 -skip qtcharts -skip qtdatavis3d -skip qtgamepad -skip qtnetworkauth 0052 -skip qtpurchasing -skip qtremoteobjects -skip qtscxml -skip qtserialbus 0053 -skip qtspeech -skip qtvirtualkeyboard -qt-sqlite 0054 # 0055 -system-zlib -qt-pcre -qt-libpng -qt-libjpeg -openssl-linked -qt-freetype -qt-harfbuzz 0056 -I ${EXTPREFIX_qt}/include 0057 -L ${EXTPREFIX_qt}/lib 0058 # 0059 -opensource -confirm-license 0060 -feature-relocatable 0061 -no-feature-d3d12 0062 -no-feature-qdoc 0063 -no-direct2d 0064 # 0065 -release -platform ${QT_CONFIG_PLATFORM} -prefix ${EXTPREFIX_qt} 0066 QMAKE_LFLAGS_APP+=${SECURITY_EXE_LINKER_FLAGS} 0067 QMAKE_LFLAGS_SHLIB+=${SECURITY_SHARED_LINKER_FLAGS} 0068 QMAKE_LFLAGS_SONAME+=${SECURITY_SHARED_LINKER_FLAGS} 0069 ) 0070 if (MSVC) 0071 list(APPEND _QT_conf 0072 QMAKE_CFLAGS+=${SECURITY_C_FLAGS} 0073 QMAKE_CXXFLAGS+=${SECURITY_CXX_FLAGS} 0074 ) 0075 endif (MSVC) 0076 0077 if(QT_ENABLE_DEBUG_INFO OR WIN32) 0078 # Set the option to build Qt with debugging info enabled 0079 list(APPEND _QT_conf -force-debug-info) 0080 endif(QT_ENABLE_DEBUG_INFO OR WIN32) 0081 if (QT_ENABLE_ASAN) 0082 list(APPEND _QT_conf -sanitize address) 0083 endif () 0084 if (MINGW) 0085 if (NOT QT_ENABLE_DEBUG_INFO) 0086 # Generate minimal debug info for backtraces 0087 list(APPEND _QT_conf 0088 QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO-=-g 0089 QMAKE_CFLAGS+=-g1 0090 QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO-=-g 0091 QMAKE_CXXFLAGS+=-g1 0092 ) 0093 if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") 0094 # This is needed for proper C++ function signatures 0095 list(APPEND _QT_conf 0096 QMAKE_CFLAGS+=-fdebug-info-for-profiling 0097 QMAKE_CXXFLAGS+=-fdebug-info-for-profiling 0098 ) 0099 endif () 0100 endif () 0101 if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") 0102 # Workaround for DrMingw, see parent CMakeLists.txt 0103 list(APPEND _QT_conf 0104 QMAKE_CFLAGS+=-gdwarf-aranges 0105 QMAKE_CXXFLAGS+=-gdwarf-aranges 0106 ) 0107 endif () 0108 elseif (MSVC) 0109 if (NOT QT_ENABLE_DEBUG_INFO) 0110 # Generate minimal debug info for backtraces 0111 list(APPEND _QT_conf 0112 QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO-=-Zi 0113 QMAKE_CFLAGS+=-Zi 0114 QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO-=-Zi 0115 QMAKE_CXXFLAGS+=-Zi 0116 ) 0117 endif () 0118 endif () 0119 list(APPEND _QT_conf -opengl dynamic) 0120 0121 if (NOT PERL_FOUND) # Implies strawberry perl 0122 list(APPEND QT_EXTRA_DEPS ext_strawberryperl) 0123 endif() 0124 0125 0126 ExternalProject_Add( 0127 ext_qt 0128 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0129 GIT_REPOSITORY https://invent.kde.org/szaman/qt5.git 0130 GIT_TAG ${QT_GIT_TAG} 0131 GIT_SUBMODULES qtbase qtdeclarative qtimageformats qttools qtsvg qtwinextras qttranslations 0132 GIT_SUBMODULES_RECURSE false 0133 GIT_PROGRESS true 0134 GIT_REMOTE_UPDATE_STRATEGY REBASE 0135 0136 INSTALL_DIR ${EXTPREFIX_qt} 0137 CONFIGURE_COMMAND <SOURCE_DIR>/configure.bat ${_QT_conf} 0138 0139 BUILD_COMMAND ${QT_BUILD_COMMAND} 0140 0141 INSTALL_COMMAND ${QT_INSTALL_COMMAND} 0142 UPDATE_COMMAND "" 0143 # Use a short name to reduce the chance of exceeding path length limit 0144 SOURCE_DIR s 0145 BINARY_DIR b 0146 DEPENDS ext_googleangle ${OPENSSL_DEP} ${QT_EXTRA_DEPS} ${ZLIB_DEP} ext_icu 0147 ) 0148 elseif (ANDROID) 0149 ExternalProject_Add( 0150 ext_qt 0151 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0152 GIT_REPOSITORY https://invent.kde.org/szaman/qt5.git 0153 GIT_TAG ${QT_GIT_TAG} 0154 GIT_SUBMODULES qtbase qtdeclarative qtimageformats qttools qtsvg qttranslations qtandroidextras 0155 GIT_SUBMODULES_RECURSE false 0156 GIT_PROGRESS true 0157 GIT_REMOTE_UPDATE_STRATEGY REBASE 0158 0159 # TODO(sh_zam): We can probably skip the skipping now. 0160 CONFIGURE_COMMAND <SOURCE_DIR>/configure -prefix ${EXTPREFIX_qt} -opensource -confirm-license -verbose 0161 -android-sdk ${ANDROID_SDK_ROOT} -android-ndk ${CMAKE_ANDROID_NDK} -android-arch ${ANDROID_ABI} 0162 -xplatform android-clang -android-ndk-platform android-23 0163 -make libs -qt-sqlite -openssl-linked OPENSSL_PREFIX=${EXTPREFIX_qt} -system-zlib 0164 -nomake examples -nomake tests -nomake tools -skip qt3d -skip qtactiveqt -skip qtcanvas3d 0165 -skip qtconnectivity -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine 0166 -skip qtwebsockets -skip qtwebview -skip qtserialport -skip qtvirtualkeyboard -skip qtspeech 0167 -skip qtsensors -skip qtscxml -skip qtremoteobjects -skip qtxmlpatterns -skip qtnetworkauth 0168 -skip qtcharts -skip qtdatavis3d -skip qtgamepad -skip qtpurchasing -skip qtserialbus 0169 -icu 0170 -I ${EXTPREFIX_qt}/include 0171 -L ${EXTPREFIX_qt}/lib 0172 0173 BUILD_COMMAND ${QT_BUILD_COMMAND} 0174 INSTALL_COMMAND ${QT_INSTALL_COMMAND} 0175 0176 INSTALL_DIR ${EXTPREFIX_qt} 0177 0178 UPDATE_COMMAND "" 0179 BUILD_IN_SOURCE 0 0180 0181 DEPENDS ext_openssl ${ZLIB_DEP} ext_icu 0182 ) 0183 elseif (NOT APPLE) 0184 if (QT_ENABLE_DEBUG_INFO) 0185 # Set the option to build Qt with debugging info enabled 0186 set(QT_DEBUG_OPTIONS -force-debug-info) 0187 endif() 0188 if (QT_ENABLE_ASAN) 0189 list(APPEND _QT_conf -sanitize address) 0190 endif () 0191 0192 0193 ExternalProject_Add( 0194 ext_qt 0195 DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} 0196 GIT_REPOSITORY https://invent.kde.org/szaman/qt5.git 0197 GIT_TAG ${QT_GIT_TAG} 0198 GIT_SUBMODULES qtbase qtdeclarative qtimageformats qttools qtsvg qtx11extras qttranslations 0199 GIT_SUBMODULES_RECURSE false 0200 GIT_PROGRESS true 0201 GIT_REMOTE_UPDATE_STRATEGY REBASE 0202 0203 CMAKE_ARGS -DOPENSSL_LIBS='-L${EXTPREFIX_qt}/lib -lssl -lcrypto' 0204 0205 CONFIGURE_COMMAND <SOURCE_DIR>/configure -prefix ${EXTPREFIX_qt} -opensource -confirm-license -feature-relocatable -openssl-linked -verbose -nomake examples -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtandroidextras -skip qtserialport -skip qtdatavis3d -skip qtvirtualkeyboard -skip qtspeech -skip qtsensors -skip qtgamepad -skip qtscxml -skip qtremoteobjects -skip qtxmlpatterns -skip qtnetworkauth -skip qtcharts -skip qtdatavis3d -skip qtgamepad -skip qtpurchasing -skip qtscxml -skip qtserialbus -skip qtspeech -skip qtvirtualkeyboard -qt-sqlite -system-zlib ${QT_DEBUG_OPTIONS} 0206 0207 BUILD_COMMAND ${QT_BUILD_COMMAND} 0208 INSTALL_COMMAND ${QT_INSTALL_COMMAND} 0209 0210 INSTALL_DIR ${EXTPREFIX_qt} 0211 0212 0213 UPDATE_COMMAND "" 0214 BUILD_IN_SOURCE OFF 0215 DEPENDS ${ZLIB_DEP} 0216 ) 0217 else( APPLE ) 0218 0219 set(MACOS_QT_CONFIGURE_OPS 0220 -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtdoc -skip qtlocation -skip qtsensors -skip qtserialport -skip qtwayland 0221 -skip qtwebchannel -skip qtwebsockets -skip qtwebview -skip qtwebengine -skip qtxmlpatterns 0222 -skip qtcharts -skip qtdatavis3d -skip qtgamepad -skip qtnetworkauth 0223 -skip qtpurchasing -skip qtremoteobjects -skip qtscxml -skip qtserialbus -skip qtspeech -skip qtvirtualkeyboard -nomake examples -nomake tools -no-compile-examples 0224 -no-dbus -no-iconv -no-qml-debug -no-libproxy -no-system-proxies -icu -no-mtdev -system-zlib -qt-pcre -qt-sqlite 0225 -opensource -confirm-license -openssl-linked -prefix ${EXTPREFIX_qt} 0226 ) 0227 0228 kis_ExternalProject_Add_macos( 0229 ext_qt 0230 0231 GIT_REPOSITORY https://invent.kde.org/szaman/qt5.git 0232 GIT_TAG ${QT_GIT_TAG} 0233 GIT_SUBMODULES qtbase qtdeclarative qtimageformats qttools qtsvg qtmacextras qttranslations 0234 GIT_SUBMODULES_RECURSE false 0235 GIT_PROGRESS true 0236 GIT_REMOTE_UPDATE_STRATEGY REBASE 0237 0238 WORKING_DIRECTORY <BINARY_DIR>-@ARCH@ 0239 0240 CONFIGURE_COMMAND -e "OPENSSL_LIBS=-L${EXTPREFIX_qt}/lib -lssl -lcrypto" 0241 <SOURCE_DIR>/configure 0242 ${MACOS_QT_CONFIGURE_OPS} 0243 -device-option QMAKE_APPLE_DEVICE_ARCHS=@ARCH@ 0244 0245 BUILD_COMMAND ${QT_BUILD_COMMAND} 0246 0247 DEPENDS ${ZLIB_DEP} ext_icu ext_openssl 0248 ) 0249 0250 # Qt needs separate builds for universal compilation before qt6 0251 foreach(ARCH ${CMAKE_OSX_ARCHITECTURES}) 0252 mkdir_build_arch_dir(${ARCH}) 0253 endforeach() 0254 0255 endif()