Revert introduction of QT_USE_BOOTSTRAP_SOURCE_COPY
This removes the hack that creates a copy of bootstraplib sources to avoid rebuilding the world if a bootstraplib source file changed. Said hack led to confusing behavior: - when accidentally editing bootstraplib copies instead of the real sources - when header files were changed in a way that were incompatible to the bootstraplib source copy This reverts commit80a8ead08d
. This reverts commit743bb66744
. The official way to avoid the QTBUG-92269 problem is now to set QT_HOST_PATH=<host-Qt-installation> and QT_FORCE_FIND_TOOLS=ON. If you want to build the tools as well, set QT_FORCE_BUILD_TOOLS=ON. Fixes: QTBUG-92269 Change-Id: I226bf5792f9ca8e7e207dc53e01c2903018d82d3 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
fc16855eaa
commit
fbdd076ae9
@ -8,120 +8,78 @@
|
||||
# The bootstrap library has a few manual tweaks compared to other
|
||||
# libraries.
|
||||
qt_add_library(Bootstrap STATIC)
|
||||
|
||||
option(QT_USE_BOOTSTRAP_SOURCE_COPY "Use copies of source files for building the bootstrap lib."
|
||||
${QT_FEATURE_private_tests})
|
||||
|
||||
if(QT_USE_BOOTSTRAP_SOURCE_COPY)
|
||||
# To avoid unnecessary rebuilds whenever a source file of the bootstrap library is touched, we
|
||||
# use a copy of the corelib sources. This copy can be updated manually by building the target
|
||||
# 'update_bootstrap_sources'.
|
||||
|
||||
set(source_root ${CMAKE_CURRENT_BINARY_DIR}/srccopy)
|
||||
if(NOT IS_DIRECTORY "${source_root}")
|
||||
file(COPY "${QtBase_SOURCE_DIR}/src/corelib" DESTINATION "${source_root}")
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE source_files
|
||||
LIST_DIRECTORIES FALSE
|
||||
RELATIVE "${QtBase_SOURCE_DIR}/src/corelib"
|
||||
"${QtBase_SOURCE_DIR}/src/corelib/*")
|
||||
|
||||
set(copy_commands)
|
||||
set(allowed_extensions .c .cpp .h .mm)
|
||||
foreach(f IN LISTS source_files)
|
||||
get_filename_component(ext "${f}" LAST_EXT)
|
||||
if(NOT ext IN_LIST allowed_extensions)
|
||||
continue()
|
||||
endif()
|
||||
list(APPEND copy_commands
|
||||
COMMAND "${CMAKE_COMMAND}" -E
|
||||
copy_if_different "${QtBase_SOURCE_DIR}/src/corelib/${f}"
|
||||
"${source_root}/corelib/${f}")
|
||||
endforeach()
|
||||
set(info_msg "Please run 'cmake --build .' twice, to ensure all relevant files are rebuilt due")
|
||||
string(APPEND info_msg " to the bootstrap source file copy.")
|
||||
add_custom_target(update_bootstrap_sources
|
||||
${copy_commands}
|
||||
COMMAND ${CMAKE_COMMAND} -E echo "${info_msg}"
|
||||
VERBATIM)
|
||||
else()
|
||||
# Directly use the files in the source tree.
|
||||
set(source_root ../..)
|
||||
endif()
|
||||
|
||||
# special case end
|
||||
qt_internal_extend_target(Bootstrap
|
||||
SOURCES
|
||||
${source_root}/corelib/global/qendian.cpp
|
||||
${source_root}/corelib/global/qfloat16.cpp
|
||||
${source_root}/corelib/global/qglobal.cpp
|
||||
${source_root}/corelib/global/qlogging.cpp
|
||||
${source_root}/corelib/global/qmalloc.cpp
|
||||
${source_root}/corelib/global/qnumeric.cpp
|
||||
${source_root}/corelib/global/qoperatingsystemversion.cpp
|
||||
${source_root}/corelib/global/qrandom.cpp
|
||||
${source_root}/corelib/io/qabstractfileengine.cpp
|
||||
${source_root}/corelib/io/qbuffer.cpp
|
||||
${source_root}/corelib/io/qdebug.cpp
|
||||
${source_root}/corelib/io/qdir.cpp
|
||||
${source_root}/corelib/io/qdiriterator.cpp
|
||||
${source_root}/corelib/io/qfile.cpp
|
||||
${source_root}/corelib/io/qfiledevice.cpp
|
||||
${source_root}/corelib/io/qfileinfo.cpp
|
||||
${source_root}/corelib/io/qfilesystemengine.cpp
|
||||
${source_root}/corelib/io/qfilesystementry.cpp
|
||||
${source_root}/corelib/io/qfsfileengine.cpp
|
||||
${source_root}/corelib/io/qfsfileengine_iterator.cpp
|
||||
${source_root}/corelib/io/qiodevice.cpp
|
||||
${source_root}/corelib/io/qloggingcategory.cpp
|
||||
${source_root}/corelib/io/qloggingregistry.cpp
|
||||
${source_root}/corelib/io/qresource.cpp
|
||||
${source_root}/corelib/io/qsavefile.cpp
|
||||
${source_root}/corelib/io/qstandardpaths.cpp
|
||||
${source_root}/corelib/kernel/qcoreapplication.cpp
|
||||
${source_root}/corelib/kernel/qcoreglobaldata.cpp
|
||||
${source_root}/corelib/kernel/qiterable.cpp
|
||||
${source_root}/corelib/kernel/qmetacontainer.cpp
|
||||
${source_root}/corelib/kernel/qmetatype.cpp
|
||||
${source_root}/corelib/kernel/qsystemerror.cpp
|
||||
${source_root}/corelib/kernel/qvariant.cpp
|
||||
${source_root}/corelib/plugin/quuid.cpp
|
||||
${source_root}/corelib/serialization/qcborcommon.cpp
|
||||
${source_root}/corelib/serialization/qcborstreamwriter.cpp
|
||||
${source_root}/corelib/serialization/qcborvalue.cpp
|
||||
${source_root}/corelib/serialization/qdatastream.cpp
|
||||
${source_root}/corelib/serialization/qjsonarray.cpp
|
||||
${source_root}/corelib/serialization/qjsoncbor.cpp
|
||||
${source_root}/corelib/serialization/qjsondocument.cpp
|
||||
${source_root}/corelib/serialization/qjsonobject.cpp
|
||||
${source_root}/corelib/serialization/qjsonparser.cpp
|
||||
${source_root}/corelib/serialization/qjsonvalue.cpp
|
||||
${source_root}/corelib/serialization/qjsonwriter.cpp
|
||||
${source_root}/corelib/serialization/qtextstream.cpp
|
||||
${source_root}/corelib/text/qbytearray.cpp
|
||||
${source_root}/corelib/text/qbytearraylist.cpp
|
||||
${source_root}/corelib/text/qbytearraymatcher.cpp
|
||||
${source_root}/corelib/text/qlocale.cpp
|
||||
${source_root}/corelib/text/qlocale_tools.cpp
|
||||
${source_root}/corelib/text/qregularexpression.cpp
|
||||
${source_root}/corelib/text/qstring.cpp
|
||||
${source_root}/corelib/text/qstringbuilder.cpp
|
||||
${source_root}/corelib/text/qstringconverter.cpp
|
||||
${source_root}/corelib/text/qstringlist.cpp
|
||||
${source_root}/corelib/text/qvsnprintf.cpp
|
||||
${source_root}/corelib/time/qcalendar.cpp
|
||||
${source_root}/corelib/time/qdatetime.cpp
|
||||
${source_root}/corelib/time/qgregoriancalendar.cpp
|
||||
${source_root}/corelib/time/qromancalendar.cpp
|
||||
${source_root}/corelib/tools/qarraydata.cpp
|
||||
${source_root}/corelib/tools/qbitarray.cpp
|
||||
${source_root}/corelib/tools/qcommandlineoption.cpp
|
||||
${source_root}/corelib/tools/qcommandlineparser.cpp
|
||||
${source_root}/corelib/tools/qcryptographichash.cpp
|
||||
${source_root}/corelib/tools/qhash.cpp
|
||||
${source_root}/corelib/tools/qringbuffer.cpp
|
||||
${source_root}/corelib/tools/qversionnumber.cpp
|
||||
../../corelib/global/qendian.cpp
|
||||
../../corelib/global/qfloat16.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/qfiledevice.cpp
|
||||
../../corelib/io/qfileinfo.cpp
|
||||
../../corelib/io/qfilesystemengine.cpp
|
||||
../../corelib/io/qfilesystementry.cpp
|
||||
../../corelib/io/qfsfileengine.cpp
|
||||
../../corelib/io/qfsfileengine_iterator.cpp
|
||||
../../corelib/io/qiodevice.cpp
|
||||
../../corelib/io/qloggingcategory.cpp
|
||||
../../corelib/io/qloggingregistry.cpp
|
||||
../../corelib/io/qresource.cpp
|
||||
../../corelib/io/qsavefile.cpp
|
||||
../../corelib/io/qstandardpaths.cpp
|
||||
../../corelib/kernel/qcoreapplication.cpp
|
||||
../../corelib/kernel/qcoreglobaldata.cpp
|
||||
../../corelib/kernel/qiterable.cpp
|
||||
../../corelib/kernel/qmetacontainer.cpp
|
||||
../../corelib/kernel/qmetatype.cpp
|
||||
../../corelib/kernel/qsystemerror.cpp
|
||||
../../corelib/kernel/qvariant.cpp
|
||||
../../corelib/plugin/quuid.cpp
|
||||
../../corelib/serialization/qcborcommon.cpp
|
||||
../../corelib/serialization/qcborstreamwriter.cpp
|
||||
../../corelib/serialization/qcborvalue.cpp
|
||||
../../corelib/serialization/qdatastream.cpp
|
||||
../../corelib/serialization/qjsonarray.cpp
|
||||
../../corelib/serialization/qjsoncbor.cpp
|
||||
../../corelib/serialization/qjsondocument.cpp
|
||||
../../corelib/serialization/qjsonobject.cpp
|
||||
../../corelib/serialization/qjsonparser.cpp
|
||||
../../corelib/serialization/qjsonvalue.cpp
|
||||
../../corelib/serialization/qjsonwriter.cpp
|
||||
../../corelib/serialization/qtextstream.cpp
|
||||
../../corelib/text/qbytearray.cpp
|
||||
../../corelib/text/qbytearraylist.cpp
|
||||
../../corelib/text/qbytearraymatcher.cpp
|
||||
../../corelib/text/qlocale.cpp
|
||||
../../corelib/text/qlocale_tools.cpp
|
||||
../../corelib/text/qregularexpression.cpp
|
||||
../../corelib/text/qstring.cpp
|
||||
../../corelib/text/qstringbuilder.cpp
|
||||
../../corelib/text/qstringconverter.cpp
|
||||
../../corelib/text/qstringlist.cpp
|
||||
../../corelib/text/qvsnprintf.cpp
|
||||
../../corelib/time/qcalendar.cpp
|
||||
../../corelib/time/qdatetime.cpp
|
||||
../../corelib/time/qgregoriancalendar.cpp
|
||||
../../corelib/time/qromancalendar.cpp
|
||||
../../corelib/tools/qarraydata.cpp
|
||||
../../corelib/tools/qbitarray.cpp
|
||||
../../corelib/tools/qcommandlineoption.cpp
|
||||
../../corelib/tools/qcommandlineparser.cpp
|
||||
../../corelib/tools/qcryptographichash.cpp
|
||||
../../corelib/tools/qhash.cpp
|
||||
../../corelib/tools/qringbuffer.cpp
|
||||
../../corelib/tools/qversionnumber.cpp
|
||||
DEFINES
|
||||
HAVE_CONFIG_H
|
||||
QT_TYPESAFE_FLAGS
|
||||
@ -154,10 +112,6 @@ qt_internal_extend_target(Bootstrap
|
||||
## Scopes:
|
||||
#####################################################################
|
||||
|
||||
qt_internal_extend_target(Bootstrap CONDITION QT_USE_BOOTSTRAP_SOURCE_COPY
|
||||
INCLUDE_DIRECTORIES "${QtBase_SOURCE_DIR}/src/corelib/tools" # for qcryptographichash.cpp
|
||||
)
|
||||
|
||||
qt_internal_extend_target(Bootstrap CONDITION UNIX
|
||||
SOURCES
|
||||
../../corelib/io/qfilesystemengine_unix.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user