From 4c51273f1f5eaad1c728c0abd06ba9d6eceafa8a Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 12 Feb 2019 14:44:56 +0100 Subject: cmake: Build qmake using CMake Change-Id: Ia2ad09774252154d19d7c80abfcd72ecd09025ae Reviewed-by: Simon Hausmann --- qmake/CMakeLists.txt | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 139 insertions(+), 1 deletion(-) (limited to 'qmake/CMakeLists.txt') diff --git a/qmake/CMakeLists.txt b/qmake/CMakeLists.txt index eb966b8018..223eefaa57 100644 --- a/qmake/CMakeLists.txt +++ b/qmake/CMakeLists.txt @@ -1,2 +1,140 @@ -## FIXME: Actually build something... install(DIRECTORY "${PROJECT_SOURCE_DIR}/mkspecs" DESTINATION ${INSTALL_DATADIR}) + +add_qt_tool(qmake + SOURCES + meta.cpp + option.cpp + project.cpp + property.cpp + library/ioutils.cpp + library/proitems.cpp + library/qmakebuiltins.cpp + library/qmakeevaluator.cpp + library/qmakeglobals.cpp + library/qmakeparser.cpp + library/qmakevfs.cpp + generators/mac/pbuilder_pbx.cpp + generators/makefile.cpp + generators/makefiledeps.cpp + generators/metamakefile.cpp + generators/projectgenerator.cpp + generators/unix/unixmake2.cpp + generators/unix/unixmake.cpp + generators/win32/mingw_make.cpp + generators/win32/msbuild_objectmodel.cpp + generators/win32/msvc_nmake.cpp + generators/win32/msvc_objectmodel.cpp + generators/win32/msvc_vcproj.cpp + generators/win32/msvc_vcxproj.cpp + generators/win32/winmakefile.cpp + generators/xmloutput.cpp + + ${PROJECT_SOURCE_DIR}/src/corelib/codecs/qtextcodec.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/codecs/qutfcodec.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/global/qendian.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/global/qglobal.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/global/qlibraryinfo.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/global/qlogging.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/global/qmalloc.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/global/qnumeric.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/global/qoperatingsystemversion.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/global/qrandom.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qabstractfileengine.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qbuffer.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qdebug.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qdir.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qdiriterator.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfile.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfiledevice.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfileinfo.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfilesystemengine.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfilesystementry.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfsfileengine.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfsfileengine_iterator.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qiodevice.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qsettings.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qtemporaryfile.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/kernel/qmetatype.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/kernel/qsystemerror.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/kernel/qvariant.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/plugin/quuid.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qdatastream.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qjsonarray.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qjson.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qjsondocument.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qjsonobject.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qjsonparser.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qjsonvalue.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qtextstream.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qxmlstream.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/serialization/qxmlutils.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qarraydata.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qbitarray.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qbytearray.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qbytearraymatcher.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qcryptographichash.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qdatetime.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qhash.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qlinkedlist.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qlist.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qlocale.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qlocale_tools.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qmap.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qregexp.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qringbuffer.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qstringbuilder.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qstring_compat.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qstring.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qstringlist.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qversionnumber.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qvsnprintf.cpp + + main.cpp + DEFINES + QT_VERSION_STR="${PROJECT_VERSION}" + QT_VERSION_MAJOR=${PROJECT_VERSION_MAJOR} + QT_VERSION_MINOR=${PROJECT_VERSION_MINOR} + QT_VERSION_PATCH=${PROJECT_VERSION_PATCH} + QT_BUILD_QMAKE QT_BOOTSTRAPPED PROEVALUATOR_FULL + QT_NO_FOREACH + INCLUDE_DIRECTORIES + library + generators + generators/unix + generators/win32 + generators/mac + + ${PROJECT_BINARY_DIR}/include + ${PROJECT_BINARY_DIR}/include/QtCore + ${PROJECT_BINARY_DIR}/include/QtCore/${PROJECT_VERSION} + ${PROJECT_BINARY_DIR}/include/QtCore/${PROJECT_VERSION}/QtCore + ${PROJECT_BINARY_DIR}/src/corelib/global +) + +extend_target(qmake CONDITION UNIX + SOURCES + ${PROJECT_SOURCE_DIR}/src/corelib/kernel/qcore_unix.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfilesystemengine_unix.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfilesystemiterator_unix.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/io/qfsfileengine_unix.cpp + ${PROJECT_SOURCE_DIR}/src/corelib/tools/qlocale_unix.cpp +) + +extend_target(qmake CONDITION APPLE_OSX + SOURCES + ${PROJECT_SOURCE_DIR}/src/corelib/kernel/qcore_foundation.mm + ${PROJECT_SOURCE_DIR}/src/corelib/kernel/qcore_mac_objc.mm + ${PROJECT_SOURCE_DIR}/src/corelib/global/qoperatingsystemversion_darwin.mm + ${PROJECT_SOURCE_DIR}/src/corelib/io/qsettings_mac.cpp + LIBRARIES + -framework ApplicationServices + -framework CoreServices + -framework Foundation +) +# TODO: Windows support, cf. qmake.pro + +set_target_properties(qmake PROPERTIES + AUTOMOC OFF + AUTORCC OFF + AUTOUIC OFF +) -- cgit v1.2.3