diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2018-10-24 15:20:27 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@qt.io> | 2018-11-01 11:48:46 +0000 |
commit | e9c45bbdddd4df005bdaa5eea9740d351e6eaea2 (patch) | |
tree | 23765d4650f8f349d1f32e0fe4b1bc678cae7568 /src/tools/bootstrap/CMakeLists.txt | |
parent | 345e6b0213b1273b698163064f80d33bc7ce64a9 (diff) |
Begin port of qtbase to CMake
Done-by: Alexandru Croitor <alexandru.croitor@qt.io>
Done-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Done-by: Kevin Funk <kevin.funk@kdab.com>
Done-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Done-by: Simon Hausmann <simon.hausmann@qt.io>
Done-by: Tobias Hunger <tobias.hunger@qt.io>
Done-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Done-by: Volker Krause <volker.krause@kdab.com>
Change-Id: Ida4f8bd190f9a4849a1af7b5b7981337a5df5310
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io>
Diffstat (limited to 'src/tools/bootstrap/CMakeLists.txt')
-rw-r--r-- | src/tools/bootstrap/CMakeLists.txt | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/src/tools/bootstrap/CMakeLists.txt b/src/tools/bootstrap/CMakeLists.txt new file mode 100644 index 0000000000..e85f7e9e16 --- /dev/null +++ b/src/tools/bootstrap/CMakeLists.txt @@ -0,0 +1,151 @@ + +if(WIN32) + set(os_sources + ../../corelib/global/qoperatingsystemversion_win.cpp + ../../corelib/io/qfilesystemengine_win.cpp + ../../corelib/io/qfilesystemiterator_win.cpp + ../../corelib/io/qfsfileengine_win.cpp + ../../corelib/kernel/qcoreapplication_win.cpp + ../../corelib/plugin/qsystemlibrary.cpp + ../../corelib/io/qstandardpaths_win.cpp + ) + set(os_libs user32 ole32 advapi32 shell32 netapi32) +else() + set(os_sources + ../../corelib/kernel/qcore_unix.cpp + ../../corelib/io/qfilesystemengine_unix.cpp + ../../corelib/io/qfilesystemiterator_unix.cpp + ../../corelib/io/qfsfileengine_unix.cpp + ) + + if(APPLE) + list(APPEND os_sources + ../../corelib/global/qoperatingsystemversion_darwin.mm + ../../corelib/io/qstandardpaths_mac.mm + ../../corelib/kernel/qcoreapplication_mac.cpp + ../../corelib/kernel/qcore_mac.cpp + ../../corelib/kernel/qcore_mac_objc.mm + ../../corelib/kernel/qcore_foundation.mm + ../../corelib/io/qurl.cpp + ) + else() + list(APPEND os_sources ../../corelib/io/qstandardpaths_unix.cpp) + endif() + set(os_libs "") +endif() + +add_library(QtBootstrap STATIC + ../../corelib/codecs/qlatincodec.cpp + ../../corelib/codecs/qtextcodec.cpp + ../../corelib/codecs/qutfcodec.cpp + ../../corelib/global/qendian.cpp + ../../corelib/global/qglobal.cpp + ../../corelib/global/qlogging.cpp + ../../corelib/global/qmalloc.cpp + ../../corelib/global/qnumeric.cpp + ../../corelib/global/qoperatingsystemversion.cpp + ../../corelib/global/qrandom.cpp + ../../corelib/io/qabstractfileengine.cpp + ../../corelib/io/qbuffer.cpp + ../../corelib/io/qdebug.cpp + ../../corelib/io/qdir.cpp + ../../corelib/io/qdiriterator.cpp + ../../corelib/io/qfile.cpp + ../../corelib/io/qfileinfo.cpp + ../../corelib/io/qfilesystementry.cpp + ../../corelib/io/qfilesystemengine.cpp + ../../corelib/io/qfsfileengine.cpp + ../../corelib/io/qfsfileengine_iterator.cpp + ../../corelib/io/qiodevice.cpp + ../../corelib/io/qfiledevice.cpp + ../../corelib/io/qresource.cpp + ../../corelib/io/qtemporarydir.cpp + ../../corelib/io/qtemporaryfile.cpp + ../../corelib/io/qsavefile.cpp + ../../corelib/io/qstandardpaths.cpp + ../../corelib/io/qloggingcategory.cpp + ../../corelib/io/qloggingregistry.cpp + ../../corelib/kernel/qcoreapplication.cpp + ../../corelib/kernel/qcoreglobaldata.cpp + ../../corelib/kernel/qmetatype.cpp + ../../corelib/kernel/qvariant.cpp + ../../corelib/kernel/qsystemerror.cpp + ../../corelib/plugin/quuid.cpp + ../../corelib/serialization/qdatastream.cpp + ../../corelib/serialization/qjson.cpp + ../../corelib/serialization/qjsondocument.cpp + ../../corelib/serialization/qjsonobject.cpp + ../../corelib/serialization/qjsonarray.cpp + ../../corelib/serialization/qjsonvalue.cpp + ../../corelib/serialization/qjsonparser.cpp + ../../corelib/serialization/qjsonwriter.cpp + ../../corelib/serialization/qtextstream.cpp + ../../corelib/serialization/qxmlutils.cpp + ../../corelib/serialization/qxmlstream.cpp + ../../corelib/tools/qbitarray.cpp + ../../corelib/tools/qbytearray.cpp + ../../corelib/tools/qarraydata.cpp + ../../corelib/tools/qbytearraymatcher.cpp + ../../corelib/tools/qcommandlineparser.cpp + ../../corelib/tools/qcommandlineoption.cpp + ../../corelib/tools/qcryptographichash.cpp + ../../corelib/tools/qdatetime.cpp + ../../corelib/tools/qhash.cpp + ../../corelib/tools/qlist.cpp + ../../corelib/tools/qlinkedlist.cpp + ../../corelib/tools/qlocale.cpp + ../../corelib/tools/qlocale_tools.cpp + ../../corelib/tools/qmap.cpp + ../../corelib/tools/qregexp.cpp + ../../corelib/tools/qringbuffer.cpp + ../../corelib/tools/qpoint.cpp + ../../corelib/tools/qrect.cpp + ../../corelib/tools/qsize.cpp + ../../corelib/tools/qline.cpp + ../../corelib/tools/qstring.cpp + ../../corelib/tools/qstringbuilder.cpp + ../../corelib/tools/qstring_compat.cpp + ../../corelib/tools/qstringlist.cpp + ../../corelib/tools/qversionnumber.cpp + ../../corelib/tools/qvsnprintf.cpp + ../../xml/dom/qdom.cpp + ../../xml/sax/qxml.cpp + ${os_sources} +) + +add_library(Qt::Bootstrap ALIAS QtBootstrap) + +qt_ensure_perl() +foreach(module QtCore QtXml) + execute_process(COMMAND "${HOST_PERL}" -w "${PROJECT_SOURCE_DIR}/bin/syncqt.pl" -quiet -minimal -module "${module}" -version "${PROJECT_VERSION}" -outdir "${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}") + target_include_directories(QtBootstrap PUBLIC + "${PROJECT_BINARY_DIR}/include/${module}" + "${PROJECT_BINARY_DIR}/include/${module}/${PROJECT_VERSION}" + "${PROJECT_BINARY_DIR}/include/${module}/${PROJECT_VERSION}/${module}") +endforeach() + +target_compile_definitions(QtBootstrap PUBLIC + QT_VERSION_MAJOR=${PROJECT_VERSION_MAJOR} + QT_VERSION_MINOR=${PROJECT_VERSION_MINOR} + QT_VERSION_PATCH=${PROJECT_VERSION_PATCH} + QT_VERSION_STR="${PROJECT_VERSION}" + QT_BOOTSTRAPPED + QT_NO_CAST_ASCII + QT_NO_FOREACH + QT_NO_CAST_FROM_ASCII +) +target_link_libraries(QtBootstrap PUBLIC Qt::Platform ${os_libs}) +target_include_directories(QtBootstrap PUBLIC "${PROJECT_BINARY_DIR}/include") +target_link_libraries(QtBootstrap PRIVATE ZLIB::ZLIB) + +### fixme: Expose as some cmake equivalent of a reusable qmake mkspecs/features/gc_binaries.prf. +if(APPLE) + target_link_libraries(QtBootstrap INTERFACE "-Wl,-dead_strip") +endif() + +if (APPLE) + find_library(FWFoundation Foundation) + find_library(FWCoreServices CoreServices) + target_link_libraries(QtBootstrap INTERFACE ${FWFoundation}) + target_link_libraries(QtBootstrap PRIVATE ${FWCoreServices}) +endif() |