cb0ea39895
This hasn't worked for some time. It's not in our CI and I don't think it was working at all. When I tried to build it, I ran into several problems with C++17 and an Internal Compiler Error I did not have any interest in working around. After discussing with the Intel compiler team, it was decided that fixing those issues in the old compiler is not going to happen. Instead, their recommendation is to adopt the new LLVM-based compiler, which the last commit added support for. This commit does not remove qmake support for the old ICC. It's possible someone is using qmake with a non-Qt6 project and ICC. Change-Id: Icb2516126f674e7b8bb3fffd16ad6350ddbd49e5 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
146 lines
3.8 KiB
CMake
146 lines
3.8 KiB
CMake
# special case skip regeneration
|
|
# Generated from moc.pro.
|
|
|
|
#####################################################################
|
|
## tst_moc Test:
|
|
#####################################################################
|
|
|
|
|
|
set(JSON_HEADERS
|
|
backslash-newlines.h
|
|
c-comments.h
|
|
cstyle-enums.h
|
|
cxx11-enums.h
|
|
cxx11-explicit-override-control.h
|
|
cxx11-final-classes.h
|
|
cxx11-trailing-return.h
|
|
cxx17-namespaces.h
|
|
dir-in-include-path.h
|
|
escapes-in-string-literals.h
|
|
enum_with_include.h
|
|
forward-declared-param.h
|
|
function-with-attributes.h
|
|
gadgetwithnoenums.h
|
|
grand-parent-gadget-class.h
|
|
moc_include.h
|
|
namespace.h
|
|
namespaced-flags.h
|
|
no-keywords.h
|
|
non-gadget-parent-class.h
|
|
oldstyle-casts.h
|
|
parse-defines.h
|
|
plugin_metadata.h
|
|
pointery_to_incomplete.h
|
|
pure-virtual-signals.h
|
|
qinvokable.h
|
|
qprivateslots.h
|
|
qtbug-35657-gadget.h
|
|
related-metaobjects-in-gadget.h
|
|
related-metaobjects-in-namespaces.h
|
|
related-metaobjects-name-conflict.h
|
|
single-quote-digit-separator-n3781.h
|
|
single_function_keyword.h
|
|
slots-with-void-template.h
|
|
task192552.h
|
|
task234909.h
|
|
task240368.h
|
|
task87883.h
|
|
trigraphs.h
|
|
using-namespaces.h
|
|
)
|
|
|
|
qt_wrap_cpp(comparison_relevant_moc_list ${JSON_HEADERS}
|
|
TARGET tst_moc
|
|
OPTIONS
|
|
"-Muri=com.company.app"
|
|
"-Muri=com.company.app.private"
|
|
"-DDEFINE_CMDLINE_EMPTY="
|
|
"-DDEFINE_CMDLINE_SIGNAL=void cmdlineSignal(const QMap<int, int> &i)"
|
|
"--output-json"
|
|
)
|
|
|
|
list(TRANSFORM comparison_relevant_moc_list APPEND ".json" OUTPUT_VARIABLE moc_json_files)
|
|
|
|
qt_internal_add_test(tst_moc
|
|
SOURCES
|
|
cxx-attributes.h
|
|
tst_moc.cpp
|
|
${comparison_relevant_moc_list}
|
|
INCLUDE_DIRECTORIES
|
|
testproject
|
|
testproject/include
|
|
MOC_OPTIONS
|
|
"-Muri=com.company.app"
|
|
"-Muri=com.company.app.private"
|
|
"-DDEFINE_CMDLINE_EMPTY="
|
|
"-DDEFINE_CMDLINE_SIGNAL=void cmdlineSignal(const QMap<int, int> &i)"
|
|
"--output-json"
|
|
EXCEPTIONS
|
|
)
|
|
|
|
qt_internal_extend_target(tst_moc PUBLIC_LIBRARIES Qt::CorePrivate)
|
|
|
|
qt_internal_extend_target(tst_moc CONDITION CMAKE_CROSSCOMPILING
|
|
DEFINES
|
|
MOC_CROSS_COMPILED
|
|
)
|
|
|
|
if (UNIX AND (CLANG OR GCC OR QCC))
|
|
qt_wrap_cpp(os9_moc os9-newlines.h)
|
|
endif()
|
|
|
|
qt_internal_extend_target(tst_moc CONDITION UNIX AND (CLANG OR GCC OR QCC)
|
|
SOURCES
|
|
os9-newlines.h
|
|
win-newlines.h
|
|
${os9_moc}
|
|
)
|
|
|
|
qt_internal_extend_target(tst_moc CONDITION CLANG OR GCC
|
|
SOURCES
|
|
dollars.h
|
|
)
|
|
|
|
qt_internal_extend_target(tst_moc CONDITION TARGET Qt::DBus
|
|
PUBLIC_LIBRARIES
|
|
Qt::DBus
|
|
)
|
|
|
|
qt_internal_extend_target(tst_moc CONDITION TARGET Qt::Concurrent
|
|
PUBLIC_LIBRARIES
|
|
Qt::Concurrent
|
|
)
|
|
|
|
qt_internal_extend_target(tst_moc CONDITION TARGET Qt::Network
|
|
PUBLIC_LIBRARIES
|
|
Qt::Network
|
|
)
|
|
|
|
qt_internal_extend_target(tst_moc CONDITION TARGET Qt::Sql
|
|
PUBLIC_LIBRARIES
|
|
Qt::Sql
|
|
)
|
|
|
|
get_target_property(target_binary_dir tst_moc BINARY_DIR)
|
|
set(cmake_autogen_cache_file
|
|
"${target_binary_dir}/CMakeFiles/tst_moc_autogen.dir/ParseCache.txt")
|
|
set(cmake_autogen_info_file
|
|
"${target_binary_dir}/CMakeFiles/tst_moc_autogen.dir/AutogenInfo.json")
|
|
set(moc_json_out ${target_binary_dir}/moc_json_out)
|
|
|
|
file(REMOVE ${moc_json_out})
|
|
foreach(filename ${moc_json_files})
|
|
file(APPEND ${moc_json_out} "${filename}\n")
|
|
endforeach()
|
|
|
|
set(metatype_file "allmocs.json")
|
|
configure_file("allmocs_baseline_in.json" "${target_binary_dir}/allmocs_baseline.json")
|
|
|
|
add_custom_command(TARGET tst_moc
|
|
POST_BUILD
|
|
COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::moc
|
|
-o "allmocs.json"
|
|
--collect-json "@${moc_json_out}"
|
|
COMMENT "Running moc with --collect-json"
|
|
)
|