Move the common qmake sources into a object library
Some qmake sources could be reused by other tools. It makes sense to move such sources to the object library, to avoid additional compilation steps and to simplify the reuse of sources. Change-Id: I9d7bb7624019149d34d29e4b269b4f26b8aec7a4 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
3d71f1733d
commit
fd3c417af9
@ -4,6 +4,36 @@
|
||||
## qmake Tool:
|
||||
#####################################################################
|
||||
|
||||
# The common object library, that should be available regardless of the presence of qmake.
|
||||
add_library(QtLibraryInfo OBJECT
|
||||
library/proitems.cpp library/proitems.h
|
||||
library/qmake_global.h
|
||||
property.cpp property.h
|
||||
qmakelibraryinfo.cpp qmakelibraryinfo.h
|
||||
)
|
||||
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"
|
||||
)
|
||||
target_compile_definitions(QtLibraryInfo PUBLIC
|
||||
PROEVALUATOR_FULL
|
||||
QT_BUILD_QMAKE
|
||||
QT_USE_QSTRINGBUILDER
|
||||
QT_NO_FOREACH
|
||||
QT_VERSION_STR="${PROJECT_VERSION}" # special case
|
||||
QT_VERSION_MAJOR=${PROJECT_VERSION_MAJOR} # special case
|
||||
QT_VERSION_MINOR=${PROJECT_VERSION_MINOR} # special case
|
||||
QT_VERSION_PATCH=${PROJECT_VERSION_PATCH} # special case
|
||||
QT_HOST_MKSPEC="${QT_QMAKE_HOST_MKSPEC}"
|
||||
QT_TARGET_MKSPEC="${QT_QMAKE_TARGET_MKSPEC}"
|
||||
)
|
||||
|
||||
# qmake is out of any module, so we manually evaluate the required features.
|
||||
include("${CMAKE_CURRENT_SOURCE_DIR}/configure.cmake")
|
||||
qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/configure.cmake")
|
||||
@ -34,31 +64,17 @@ qt_internal_add_tool(${target_name}
|
||||
generators/win32/winmakefile.cpp generators/win32/winmakefile.h
|
||||
generators/xmloutput.cpp generators/xmloutput.h
|
||||
library/ioutils.cpp library/ioutils.h
|
||||
library/proitems.cpp library/proitems.h
|
||||
library/qmake_global.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
|
||||
qmakelibraryinfo.cpp qmakelibraryinfo.h
|
||||
main.cpp
|
||||
meta.cpp meta.h
|
||||
option.cpp option.h
|
||||
project.cpp project.h
|
||||
property.cpp property.h
|
||||
DEFINES
|
||||
HAVE_CONFIG_H
|
||||
PROEVALUATOR_FULL
|
||||
QT_BUILD_QMAKE
|
||||
QT_USE_QSTRINGBUILDER
|
||||
QT_NO_FOREACH
|
||||
QT_VERSION_STR="${PROJECT_VERSION}" # special case
|
||||
QT_VERSION_MAJOR=${PROJECT_VERSION_MAJOR} # special case
|
||||
QT_VERSION_MINOR=${PROJECT_VERSION_MINOR} # special case
|
||||
QT_VERSION_PATCH=${PROJECT_VERSION_PATCH} # special case
|
||||
QT_HOST_MKSPEC="${QT_QMAKE_HOST_MKSPEC}"
|
||||
QT_TARGET_MKSPEC="${QT_QMAKE_TARGET_MKSPEC}"
|
||||
INCLUDE_DIRECTORIES
|
||||
generators
|
||||
generators/mac
|
||||
@ -69,6 +85,12 @@ qt_internal_add_tool(${target_name}
|
||||
"qmake_pch.h"
|
||||
LIBRARIES
|
||||
Qt::CorePrivate
|
||||
QtLibraryInfo
|
||||
)
|
||||
|
||||
# Add QMAKE_VERSION_STR only if qmake is part of the build.
|
||||
target_compile_definitions(QtLibraryInfo PUBLIC
|
||||
QMAKE_VERSION_STR="3.1"
|
||||
)
|
||||
|
||||
#### Keys ignored in scope 1:.:.:qmake.pro:<TRUE>:
|
||||
|
@ -40,8 +40,6 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
#define QMAKE_VERSION_STR "3.1"
|
||||
|
||||
QString qmake_getpwd();
|
||||
bool qmake_setpwd(const QString &p);
|
||||
|
||||
|
@ -93,7 +93,9 @@ void QMakeProperty::reload()
|
||||
}
|
||||
m_values[ProKey(name)] = val;
|
||||
}
|
||||
#ifdef QMAKE_VERSION_STR
|
||||
m_values["QMAKE_VERSION"] = ProString(QMAKE_VERSION_STR);
|
||||
#endif
|
||||
#ifdef QT_VERSION_STR
|
||||
m_values["QT_VERSION"] = ProString(QT_VERSION_STR);
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user