2022-07-05 11:26:52 +00:00
|
|
|
# Copyright (C) 2022 The Qt Company Ltd.
|
2022-08-19 13:21:34 +00:00
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
2022-07-05 11:26:52 +00:00
|
|
|
|
2019-04-16 14:32:08 +00:00
|
|
|
# Generated from qmake.pro.
|
|
|
|
|
|
|
|
#####################################################################
|
2020-05-28 15:39:45 +00:00
|
|
|
## qmake Tool:
|
2019-04-16 14:32:08 +00:00
|
|
|
#####################################################################
|
2019-02-27 12:52:57 +00:00
|
|
|
|
2021-03-09 15:15:26 +00:00
|
|
|
# The common object library, that should be available regardless of the presence of qmake.
|
2021-08-02 10:16:38 +00:00
|
|
|
qt_add_library(QtLibraryInfo OBJECT
|
2021-03-09 15:15:26 +00:00
|
|
|
library/proitems.cpp library/proitems.h
|
|
|
|
library/qmake_global.h
|
|
|
|
property.cpp property.h
|
2021-03-09 15:32:02 +00:00
|
|
|
propertyprinter.cpp propertyprinter.h
|
2021-03-09 15:15:26 +00:00
|
|
|
qmakelibraryinfo.cpp qmakelibraryinfo.h
|
|
|
|
)
|
2022-08-15 16:29:41 +00:00
|
|
|
|
|
|
|
qt_internal_add_sync_header_dependencies(QtLibraryInfo Core)
|
|
|
|
|
2021-03-09 15:15:26 +00:00
|
|
|
set_target_properties(QtLibraryInfo PROPERTIES
|
|
|
|
COMPILE_OPTIONS $<TARGET_PROPERTY:Qt::Core,INTERFACE_COMPILE_OPTIONS>
|
|
|
|
COMPILE_DEFINITIONS $<TARGET_PROPERTY:Qt::Core,INTERFACE_COMPILE_DEFINITIONS>
|
|
|
|
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:Qt::Core,INTERFACE_INCLUDE_DIRECTORIES>
|
|
|
|
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:Qt::CorePrivate,INTERFACE_INCLUDE_DIRECTORIES>
|
|
|
|
)
|
|
|
|
target_include_directories(QtLibraryInfo PUBLIC
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}"
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/library"
|
|
|
|
)
|
2021-06-22 14:00:03 +00:00
|
|
|
|
|
|
|
# Chop off the "/mkspecs" part of INSTALL_MKSPECSDIR
|
|
|
|
get_filename_component(hostdatadir "${INSTALL_MKSPECSDIR}" DIRECTORY)
|
|
|
|
if("${hostdatadir}" STREQUAL "")
|
|
|
|
set(hostdatadir ".")
|
|
|
|
endif()
|
|
|
|
|
2021-03-09 15:15:26 +00:00
|
|
|
target_compile_definitions(QtLibraryInfo PUBLIC
|
|
|
|
PROEVALUATOR_FULL
|
|
|
|
QT_BUILD_QMAKE
|
|
|
|
QT_USE_QSTRINGBUILDER
|
|
|
|
QT_NO_FOREACH
|
2023-01-13 09:53:43 +00:00
|
|
|
QT_VERSION_STR="${PROJECT_VERSION}"
|
2021-03-09 15:15:26 +00:00
|
|
|
QT_HOST_MKSPEC="${QT_QMAKE_HOST_MKSPEC}"
|
|
|
|
QT_TARGET_MKSPEC="${QT_QMAKE_TARGET_MKSPEC}"
|
2021-06-22 14:00:03 +00:00
|
|
|
QT_HOST_DATADIR="${hostdatadir}"
|
2021-03-09 15:15:26 +00:00
|
|
|
)
|
|
|
|
|
2021-02-01 18:35:41 +00:00
|
|
|
if(NOT QT_FEATURE_qmake)
|
2021-01-28 15:06:26 +00:00
|
|
|
return()
|
|
|
|
endif()
|
|
|
|
|
2020-04-27 13:04:57 +00:00
|
|
|
qt_get_tool_target_name(target_name qmake)
|
2020-09-22 08:16:58 +00:00
|
|
|
qt_internal_add_tool(${target_name}
|
Export tool config and target files for each relevant module
CMake will now generate config and target files for each module that
provides tools. As a result, namespaced global targets such as
Qt5::moc or Qt5::rcc can be made available.
Third party projects that require just these tools, and not the Qt
modules themselves, should specify CMAKE_PREFIX_PATH pointing to the
installed Qt location, and call find_package(Qt5CoreTools),
find_package(Qt5GuiTools), etc.
It is also possible to call
find_package(Qt5Tools REQUIRED Core Widgets) where the last option
is a list of modules whose tools should be imported.
Note that all the tools are in the Qt5::
namespace and not in the Qt5CoreTools:: or Qt5WidgetsTools::
namespace.
This commit also changes the behavior regarding when to build tools
while building Qt itself.
When cross compiling Qt (checked via CMAKE_CROSSCOMPILING) or when
-DQT_FORCE_FIND_TOOLS=TRUE is passed, tools added by add_qt_tool will
always be searched for and not built.
In this case the user has to specify the CMake variable QT_HOST_PATH
pointing to an installed host Qt location.
When not cross compiling, tools added by add_qt_tool are built from
source.
When building leaf modules (like qtsvg) that require some tool that was
built in qtbase (like moc), the module project should contain a
find_package(Qt5ToolsCore) call and specify an appropriate
CMAKE_PREFIX_PATH so that the tool package is found.
Note that because HOST_QT_TOOLS_DIRECTORY was replaced by QT_HOST_PATH,
the ensure syncqt code was changed to make it work properly with
both qtbase and qtsvg.
Here's a list of tools and their module associations:
qmake, moc, rcc, tracegen, qfloat16-tables, qlalr -> CoreTools
qvkgen -> GuiTools
uic -> WidgetTools
dbus related tools -> DBusTools
Task-number: QTBUG-74134
Change-Id: Ie67d1e2f8de46102b48eca008f0b50caf4fbe3ed
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2019-04-10 17:21:22 +00:00
|
|
|
TOOLS_TARGET Core # special case
|
2021-02-11 13:01:58 +00:00
|
|
|
USER_FACING
|
2021-02-26 10:04:00 +00:00
|
|
|
INSTALL_VERSIONED_LINK
|
2019-02-12 13:44:56 +00:00
|
|
|
SOURCES
|
2019-04-16 14:32:08 +00:00
|
|
|
cachekeys.h
|
|
|
|
generators/mac/pbuilder_pbx.cpp generators/mac/pbuilder_pbx.h
|
|
|
|
generators/makefile.cpp generators/makefile.h
|
|
|
|
generators/makefiledeps.cpp generators/makefiledeps.h
|
|
|
|
generators/metamakefile.cpp generators/metamakefile.h
|
|
|
|
generators/projectgenerator.cpp generators/projectgenerator.h
|
|
|
|
generators/unix/unixmake.cpp generators/unix/unixmake.h
|
2019-02-12 13:44:56 +00:00
|
|
|
generators/unix/unixmake2.cpp
|
2019-04-16 14:32:08 +00:00
|
|
|
generators/win32/mingw_make.cpp generators/win32/mingw_make.h
|
|
|
|
generators/win32/msbuild_objectmodel.cpp generators/win32/msbuild_objectmodel.h
|
|
|
|
generators/win32/msvc_nmake.cpp generators/win32/msvc_nmake.h
|
|
|
|
generators/win32/msvc_objectmodel.cpp generators/win32/msvc_objectmodel.h
|
|
|
|
generators/win32/msvc_vcproj.cpp generators/win32/msvc_vcproj.h
|
|
|
|
generators/win32/msvc_vcxproj.cpp generators/win32/msvc_vcxproj.h
|
|
|
|
generators/win32/winmakefile.cpp generators/win32/winmakefile.h
|
|
|
|
generators/xmloutput.cpp generators/xmloutput.h
|
|
|
|
library/ioutils.cpp library/ioutils.h
|
|
|
|
library/qmakebuiltins.cpp
|
|
|
|
library/qmakeevaluator.cpp library/qmakeevaluator.h library/qmakeevaluator_p.h
|
|
|
|
library/qmakeglobals.cpp library/qmakeglobals.h
|
|
|
|
library/qmakeparser.cpp library/qmakeparser.h
|
|
|
|
library/qmakevfs.cpp library/qmakevfs.h
|
2019-02-12 13:44:56 +00:00
|
|
|
main.cpp
|
2019-04-16 14:32:08 +00:00
|
|
|
meta.cpp meta.h
|
|
|
|
option.cpp option.h
|
|
|
|
project.cpp project.h
|
2019-02-12 13:44:56 +00:00
|
|
|
DEFINES
|
2020-05-28 13:23:23 +00:00
|
|
|
HAVE_CONFIG_H
|
2019-02-12 13:44:56 +00:00
|
|
|
INCLUDE_DIRECTORIES
|
|
|
|
generators
|
2019-05-28 14:41:49 +00:00
|
|
|
generators/mac
|
2019-02-12 13:44:56 +00:00
|
|
|
generators/unix
|
|
|
|
generators/win32
|
2019-05-28 14:41:49 +00:00
|
|
|
library
|
2019-07-05 08:47:26 +00:00
|
|
|
PRECOMPILED_HEADER
|
|
|
|
"qmake_pch.h"
|
2021-01-28 15:06:26 +00:00
|
|
|
LIBRARIES
|
|
|
|
Qt::CorePrivate
|
2021-03-09 15:15:26 +00:00
|
|
|
QtLibraryInfo
|
|
|
|
)
|
2021-09-14 19:02:14 +00:00
|
|
|
qt_internal_return_unless_building_tools()
|
2021-03-09 15:15:26 +00:00
|
|
|
|
|
|
|
# Add QMAKE_VERSION_STR only if qmake is part of the build.
|
|
|
|
target_compile_definitions(QtLibraryInfo PUBLIC
|
|
|
|
QMAKE_VERSION_STR="3.1"
|
2019-04-16 14:32:08 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
#### Keys ignored in scope 1:.:.:qmake.pro:<TRUE>:
|
|
|
|
# _OPTION = "host_build"
|
|
|
|
|
|
|
|
## Scopes:
|
|
|
|
#####################################################################
|
2019-02-12 13:44:56 +00:00
|
|
|
|
2020-09-22 08:16:58 +00:00
|
|
|
qt_internal_extend_target(${target_name} CONDITION MACOS
|
2019-04-16 14:32:08 +00:00
|
|
|
COMPILE_OPTIONS
|
|
|
|
"-fconstant-cfstrings"
|
2019-02-12 13:44:56 +00:00
|
|
|
)
|
2019-04-16 14:32:08 +00:00
|
|
|
|
|
|
|
# special case big
|
2021-01-28 15:06:26 +00:00
|
|
|
qt_internal_extend_target(${target_name} CONDITION WIN32
|
2019-03-11 11:34:52 +00:00
|
|
|
SOURCES
|
2019-04-16 14:32:08 +00:00
|
|
|
library/registry.cpp
|
2019-03-11 11:34:52 +00:00
|
|
|
DEFINES
|
2021-01-28 15:06:26 +00:00
|
|
|
_SCL_SECURE_NO_WARNINGS
|
2019-04-16 14:32:08 +00:00
|
|
|
)
|
|
|
|
|
2020-09-22 08:16:58 +00:00
|
|
|
qt_internal_extend_target(${target_name} CONDITION CLANG AND WIN32
|
2019-04-16 14:32:08 +00:00
|
|
|
COMPILE_OPTIONS
|
|
|
|
"-fms-compatibility-version=19.00.23506"
|
|
|
|
"-Wno-microsoft-enum-value"
|
|
|
|
)
|
|
|
|
|
|
|
|
# special case:
|
2020-04-27 13:04:57 +00:00
|
|
|
set_target_properties(${target_name} PROPERTIES
|
2019-02-12 13:44:56 +00:00
|
|
|
AUTOMOC OFF
|
|
|
|
AUTORCC OFF
|
|
|
|
AUTOUIC OFF
|
|
|
|
)
|
2019-04-29 14:53:27 +00:00
|
|
|
|
2020-06-12 17:12:26 +00:00
|
|
|
qt_internal_apply_gc_binaries(${target_name} PRIVATE) # special case
|
2020-04-27 13:04:57 +00:00
|
|
|
qt_skip_warnings_are_errors(${target_name}) # special case
|
2020-10-26 10:42:20 +00:00
|
|
|
|
|
|
|
# special case begin
|
|
|
|
qt_internal_add_docs(${target_name}
|
|
|
|
doc/qmake.qdocconf
|
|
|
|
)
|
|
|
|
# special case end
|