CMake: Clean up the public API a bit
Add some missing versionless functions. Rename some functions that are not meant to be public API, and their usages. Task-number: QTBUG-86827 Change-Id: Ifb66c04cd7598d83fe80c01a92ab2d269ebaf396 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
84485dfad3
commit
081ec14b25
@ -8,7 +8,7 @@ function(qt_internal_add_resource target resourceName)
|
|||||||
|
|
||||||
qt_parse_all_arguments(arg "qt_add_resource" "" "PREFIX;LANG;BASE" "FILES" ${ARGN})
|
qt_parse_all_arguments(arg "qt_add_resource" "" "PREFIX;LANG;BASE" "FILES" ${ARGN})
|
||||||
|
|
||||||
QT6_PROCESS_RESOURCE(${target} ${resourceName}
|
_qt_internal_process_resource(${target} ${resourceName}
|
||||||
PREFIX "${arg_PREFIX}"
|
PREFIX "${arg_PREFIX}"
|
||||||
LANG "${arg_LANG}"
|
LANG "${arg_LANG}"
|
||||||
BASE "${arg_BASE}"
|
BASE "${arg_BASE}"
|
||||||
|
@ -13,11 +13,16 @@ function(qt6_android_get_sdk_build_tools_revision out_var)
|
|||||||
list(SORT android_build_tools)
|
list(SORT android_build_tools)
|
||||||
list(REVERSE android_build_tools)
|
list(REVERSE android_build_tools)
|
||||||
list(GET android_build_tools 0 android_build_tools_latest)
|
list(GET android_build_tools 0 android_build_tools_latest)
|
||||||
set(QT_ANDROID_SDK_BUILD_TOOLS_REVISION ${android_build_tools_latest})
|
|
||||||
endif()
|
endif()
|
||||||
set(${out_var} "${QT_ANDROID_SDK_BUILD_TOOLS_REVISION}" PARENT_SCOPE)
|
set(${out_var} "${android_build_tools_latest}" PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS)
|
||||||
|
function(qt_android_get_sdk_build_tools_revision)
|
||||||
|
qt6_android_get_sdk_build_tools_revision(${ARGV})
|
||||||
|
endfunction()
|
||||||
|
endif()
|
||||||
|
|
||||||
# Generate the deployment settings json file for a cmake target.
|
# Generate the deployment settings json file for a cmake target.
|
||||||
function(qt6_android_generate_deployment_settings target)
|
function(qt6_android_generate_deployment_settings target)
|
||||||
# Information extracted from mkspecs/features/android/android_deployment_settings.prf
|
# Information extracted from mkspecs/features/android/android_deployment_settings.prf
|
||||||
|
@ -112,7 +112,7 @@ function(_qt_internal_set_up_test_run_environment testname)
|
|||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
macro(expect_pass _dir)
|
macro(_qt_internal_test_expect_pass _dir)
|
||||||
cmake_parse_arguments(_ARGS "" "BINARY" "" ${ARGN})
|
cmake_parse_arguments(_ARGS "" "BINARY" "" ${ARGN})
|
||||||
string(REPLACE "(" "_" testname "${_dir}")
|
string(REPLACE "(" "_" testname "${_dir}")
|
||||||
string(REPLACE ")" "_" testname "${testname}")
|
string(REPLACE ")" "_" testname "${testname}")
|
||||||
@ -136,7 +136,7 @@ macro(expect_pass _dir)
|
|||||||
endif()
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
macro(expect_fail _dir)
|
macro(_qt_internal_test_expect_fail _dir)
|
||||||
string(REPLACE "(" "_" testname "${_dir}")
|
string(REPLACE "(" "_" testname "${_dir}")
|
||||||
string(REPLACE ")" "_" testname "${testname}")
|
string(REPLACE ")" "_" testname "${testname}")
|
||||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
|
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/failbuild/${_dir}")
|
||||||
@ -172,7 +172,7 @@ macro(expect_fail _dir)
|
|||||||
)
|
)
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
function(test_module_includes)
|
function(_qt_internal_test_module_includes)
|
||||||
|
|
||||||
set(all_args ${ARGN})
|
set(all_args ${ARGN})
|
||||||
set(packages_string "")
|
set(packages_string "")
|
||||||
|
@ -308,7 +308,7 @@ endif()
|
|||||||
function(qt6_add_resources outfiles )
|
function(qt6_add_resources outfiles )
|
||||||
if (TARGET ${outfiles})
|
if (TARGET ${outfiles})
|
||||||
cmake_parse_arguments(arg "" "OUTPUT_TARGETS" "" ${ARGN})
|
cmake_parse_arguments(arg "" "OUTPUT_TARGETS" "" ${ARGN})
|
||||||
qt6_process_resource(${ARGV})
|
_qt_internal_process_resource(${ARGV})
|
||||||
if (arg_OUTPUT_TARGETS)
|
if (arg_OUTPUT_TARGETS)
|
||||||
set(${arg_OUTPUT_TARGETS} ${${arg_OUTPUT_TARGETS}} PARENT_SCOPE)
|
set(${arg_OUTPUT_TARGETS} ${${arg_OUTPUT_TARGETS}} PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
@ -1031,6 +1031,12 @@ END
|
|||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS)
|
||||||
|
function(qt_generate_win32_rc_file)
|
||||||
|
qt6_generate_win32_rc_file(${ARGV})
|
||||||
|
endfunction()
|
||||||
|
endif()
|
||||||
|
|
||||||
function(__qt_get_relative_resource_path_for_file output_alias file)
|
function(__qt_get_relative_resource_path_for_file output_alias file)
|
||||||
get_property(alias SOURCE ${file} PROPERTY QT_RESOURCE_ALIAS)
|
get_property(alias SOURCE ${file} PROPERTY QT_RESOURCE_ALIAS)
|
||||||
if (NOT alias)
|
if (NOT alias)
|
||||||
@ -1073,7 +1079,7 @@ endfunction()
|
|||||||
# will be generated. Should you wish to perform additional processing on these
|
# will be generated. Should you wish to perform additional processing on these
|
||||||
# targets pass a value to the OUTPUT_TARGETS parameter.
|
# targets pass a value to the OUTPUT_TARGETS parameter.
|
||||||
#
|
#
|
||||||
function(QT6_PROCESS_RESOURCE target resourceName)
|
function(_qt_internal_process_resource target resourceName)
|
||||||
|
|
||||||
cmake_parse_arguments(rcc "" "PREFIX;LANG;BASE;OUTPUT_TARGETS" "FILES;OPTIONS" ${ARGN})
|
cmake_parse_arguments(rcc "" "PREFIX;LANG;BASE;OUTPUT_TARGETS" "FILES;OPTIONS" ${ARGN})
|
||||||
|
|
||||||
@ -1103,7 +1109,7 @@ function(QT6_PROCESS_RESOURCE target resourceName)
|
|||||||
if(NOT rcc_PREFIX)
|
if(NOT rcc_PREFIX)
|
||||||
get_target_property(rcc_PREFIX ${target} QT_RESOURCE_PREFIX)
|
get_target_property(rcc_PREFIX ${target} QT_RESOURCE_PREFIX)
|
||||||
if (NOT rcc_PREFIX)
|
if (NOT rcc_PREFIX)
|
||||||
message(FATAL_ERROR "QT6_PROCESS_RESOURCE() was called without a PREFIX and the target does not provide QT_RESOURCE_PREFIX. Please either add a PREFIX or make the target ${target} provide a default.")
|
message(FATAL_ERROR "_qt_internal_process_resource() was called without a PREFIX and the target does not provide QT_RESOURCE_PREFIX. Please either add a PREFIX or make the target ${target} provide a default.")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -1286,10 +1292,16 @@ endif()
|
|||||||
# By default Qt6 forces usage of utf8 sources for consumers of Qt.
|
# By default Qt6 forces usage of utf8 sources for consumers of Qt.
|
||||||
# Users can opt out of utf8 sources by calling this function with the target name of their
|
# Users can opt out of utf8 sources by calling this function with the target name of their
|
||||||
# application or library.
|
# application or library.
|
||||||
function(qt_disable_utf8_sources target)
|
function(qt6_disable_utf8_sources target)
|
||||||
set_target_properties("${target}" PROPERTIES QT_NO_UTF8_SOURCE TRUE)
|
set_target_properties("${target}" PROPERTIES QT_NO_UTF8_SOURCE TRUE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS)
|
||||||
|
function(qt_disable_utf8_sources)
|
||||||
|
qt6_disable_utf8_sources(${ARGV})
|
||||||
|
endfunction()
|
||||||
|
endif()
|
||||||
|
|
||||||
function(_qt_internal_apply_strict_cpp target)
|
function(_qt_internal_apply_strict_cpp target)
|
||||||
# Disable C, Obj-C and C++ GNU extensions aka no "-std=gnu++11".
|
# Disable C, Obj-C and C++ GNU extensions aka no "-std=gnu++11".
|
||||||
# Similar to mkspecs/features/default_post.prf's CONFIG += strict_cpp.
|
# Similar to mkspecs/features/default_post.prf's CONFIG += strict_cpp.
|
||||||
|
@ -86,16 +86,16 @@ endforeach()
|
|||||||
|
|
||||||
include("${_Qt6CTestMacros}")
|
include("${_Qt6CTestMacros}")
|
||||||
|
|
||||||
expect_pass(test_umbrella_config)
|
_qt_internal_test_expect_pass(test_umbrella_config)
|
||||||
expect_pass(test_wrap_cpp_and_resources)
|
_qt_internal_test_expect_pass(test_wrap_cpp_and_resources)
|
||||||
if (NOT NO_WIDGETS)
|
if (NOT NO_WIDGETS)
|
||||||
expect_pass(test_dependent_modules)
|
_qt_internal_test_expect_pass(test_dependent_modules)
|
||||||
expect_pass("test(needsquoting)dirname")
|
_qt_internal_test_expect_pass("test(needsquoting)dirname")
|
||||||
endif()
|
endif()
|
||||||
expect_fail(test_add_resource_options)
|
_qt_internal_test_expect_fail(test_add_resource_options)
|
||||||
expect_fail(test_wrap_cpp_options)
|
_qt_internal_test_expect_fail(test_wrap_cpp_options)
|
||||||
expect_pass(test_platform_defs_include)
|
_qt_internal_test_expect_pass(test_platform_defs_include)
|
||||||
expect_pass(test_qtmainwin_library)
|
_qt_internal_test_expect_pass(test_qtmainwin_library)
|
||||||
|
|
||||||
if (CMAKE_GENERATOR STREQUAL Ninja AND UNIX AND NOT WIN32)
|
if (CMAKE_GENERATOR STREQUAL Ninja AND UNIX AND NOT WIN32)
|
||||||
make_directory("${CMAKE_CURRENT_SOURCE_DIR}/test_QFINDTESTDATA/build")
|
make_directory("${CMAKE_CURRENT_SOURCE_DIR}/test_QFINDTESTDATA/build")
|
||||||
@ -118,24 +118,24 @@ if (CMAKE_GENERATOR STREQUAL Ninja AND UNIX AND NOT WIN32)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (NOT NO_DBUS)
|
if (NOT NO_DBUS)
|
||||||
expect_pass(test_dbus_module)
|
_qt_internal_test_expect_pass(test_dbus_module)
|
||||||
endif()
|
endif()
|
||||||
expect_pass(test_multiple_find_package)
|
_qt_internal_test_expect_pass(test_multiple_find_package)
|
||||||
expect_pass(test_add_resources_delayed_file)
|
_qt_internal_test_expect_pass(test_add_resources_delayed_file)
|
||||||
expect_pass(test_add_binary_resources_delayed_file BINARY test_add_binary_resources_delayed_file)
|
_qt_internal_test_expect_pass(test_add_binary_resources_delayed_file BINARY test_add_binary_resources_delayed_file)
|
||||||
expect_pass(test_private_includes)
|
_qt_internal_test_expect_pass(test_private_includes)
|
||||||
expect_pass(test_private_targets)
|
_qt_internal_test_expect_pass(test_private_targets)
|
||||||
expect_pass(test_testlib_definitions)
|
_qt_internal_test_expect_pass(test_testlib_definitions)
|
||||||
expect_pass(test_json_plugin_includes)
|
_qt_internal_test_expect_pass(test_json_plugin_includes)
|
||||||
|
|
||||||
expect_fail(test_testlib_no_link_gui)
|
_qt_internal_test_expect_fail(test_testlib_no_link_gui)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/test_testlib_definitions/main.cpp"
|
"${CMAKE_CURRENT_SOURCE_DIR}/test_testlib_definitions/main.cpp"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/failbuild/test_testlib_no_link_gui/test_testlib_no_link_gui/"
|
"${CMAKE_CURRENT_BINARY_DIR}/failbuild/test_testlib_no_link_gui/test_testlib_no_link_gui/"
|
||||||
)
|
)
|
||||||
|
|
||||||
if (NOT NO_WIDGETS)
|
if (NOT NO_WIDGETS)
|
||||||
expect_fail(test_testlib_no_link_widgets)
|
_qt_internal_test_expect_fail(test_testlib_no_link_widgets)
|
||||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy
|
execute_process(COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/test_testlib_definitions/main.cpp"
|
"${CMAKE_CURRENT_SOURCE_DIR}/test_testlib_definitions/main.cpp"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/failbuild/test_testlib_no_link_widgets/test_testlib_no_link_widgets/"
|
"${CMAKE_CURRENT_BINARY_DIR}/failbuild/test_testlib_no_link_widgets/test_testlib_no_link_widgets/"
|
||||||
@ -170,30 +170,30 @@ if (NOT NO_DBUS)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
test_module_includes(
|
_qt_internal_test_module_includes(
|
||||||
${qt_module_includes}
|
${qt_module_includes}
|
||||||
)
|
)
|
||||||
expect_pass(test_concurrent_module)
|
_qt_internal_test_expect_pass(test_concurrent_module)
|
||||||
expect_pass(test_opengl_lib)
|
_qt_internal_test_expect_pass(test_opengl_lib)
|
||||||
|
|
||||||
if (NOT NO_WIDGETS)
|
if (NOT NO_WIDGETS)
|
||||||
expect_pass(test_interface)
|
_qt_internal_test_expect_pass(test_interface)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
expect_pass(test_interface_link_libraries)
|
_qt_internal_test_expect_pass(test_interface_link_libraries)
|
||||||
expect_pass(test_moc_macro_target)
|
_qt_internal_test_expect_pass(test_moc_macro_target)
|
||||||
|
|
||||||
# The modification of TARGET_OBJECTS needs the following change in cmake
|
# The modification of TARGET_OBJECTS needs the following change in cmake
|
||||||
# https://gitlab.kitware.com/cmake/cmake/commit/93c89bc75ceee599ba7c08b8fe1ac5104942054f
|
# https://gitlab.kitware.com/cmake/cmake/commit/93c89bc75ceee599ba7c08b8fe1ac5104942054f
|
||||||
# FIXME: Doesn't currently work with namespaced Qt builds QTBUG-85620
|
# FIXME: Doesn't currently work with namespaced Qt builds QTBUG-85620
|
||||||
# expect_pass(test_add_big_resource)
|
# _qt_internal_test_expect_pass(test_add_big_resource)
|
||||||
|
|
||||||
# With earlier CMake versions, this test would simply run moc multiple times and lead to:
|
# With earlier CMake versions, this test would simply run moc multiple times and lead to:
|
||||||
# /usr/bin/ld: error: CMakeFiles/mywidget.dir/mywidget_automoc.cpp.o: multiple definition of 'MyWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)'
|
# /usr/bin/ld: error: CMakeFiles/mywidget.dir/mywidget_automoc.cpp.o: multiple definition of 'MyWidget::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)'
|
||||||
# /usr/bin/ld: CMakeFiles/mywidget.dir/moc_mywidget.cpp.o: previous definition here
|
# /usr/bin/ld: CMakeFiles/mywidget.dir/moc_mywidget.cpp.o: previous definition here
|
||||||
# Reason: SKIP_* properties were added in CMake 3.8 only
|
# Reason: SKIP_* properties were added in CMake 3.8 only
|
||||||
expect_pass(test_QTBUG-63422)
|
_qt_internal_test_expect_pass(test_QTBUG-63422)
|
||||||
|
|
||||||
# FIXME: Needs porting of the qmake .pro files to create the modules and plugins in Qt6 CMake land.
|
# FIXME: Needs porting of the qmake .pro files to create the modules and plugins in Qt6 CMake land.
|
||||||
# expect_pass(test_import_plugins BINARY ${CMAKE_CTEST_COMMAND})
|
# _qt_internal_test_expect_pass(test_import_plugins BINARY ${CMAKE_CTEST_COMMAND})
|
||||||
expect_pass(test_versionless_targets)
|
_qt_internal_test_expect_pass(test_versionless_targets)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user