summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-10-21 14:13:49 +0200
committerTor Arne Vestbø <tor.arne.vestbo@qt.io>2020-10-23 11:36:48 +0200
commit1f53a91ed367c874736cba6d84340e579c3b899e (patch)
tree349e9fde35ecf8adcae3e7fecf7f05b3fb2f2405 /cmake
parent6baa0f4ccc29a9548eb5610ef37d58c3fc19dc81 (diff)
cmake: Respect NO_PRIVATE_MODULE when generating module pri files
Change-Id: Id5816d6598a0a484c20674f34f6f809e68671e6b Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtModuleHelpers.cmake8
-rw-r--r--cmake/QtPriHelpers.cmake101
2 files changed, 59 insertions, 50 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake
index 5506649439..9f32a1309a 100644
--- a/cmake/QtModuleHelpers.cmake
+++ b/cmake/QtModuleHelpers.cmake
@@ -609,8 +609,14 @@ set(QT_CMAKE_EXPORT_NAMESPACE ${QT_CMAKE_EXPORT_NAMESPACE})")
endif()
qt_internal_install_pdb_files(${target} "${pdb_install_dir}")
+ if (arg_NO_PRIVATE_MODULE)
+ set(arg_NO_PRIVATE_MODULE "NO_PRIVATE_MODULE")
+ else()
+ unset(arg_NO_PRIVATE_MODULE)
+ endif()
+
qt_describe_module(${target})
- qt_add_list_file_finalizer(qt_finalize_module ${target} ${arg_INTERNAL_MODULE} ${header_module})
+ qt_add_list_file_finalizer(qt_finalize_module ${target} ${arg_INTERNAL_MODULE} ${arg_NO_PRIVATE_MODULE} ${header_module})
endfunction()
function(qt_finalize_module target)
diff --git a/cmake/QtPriHelpers.cmake b/cmake/QtPriHelpers.cmake
index db26da812b..fc620488c6 100644
--- a/cmake/QtPriHelpers.cmake
+++ b/cmake/QtPriHelpers.cmake
@@ -118,7 +118,7 @@ endfunction()
# Generates module .pri files for consumption by qmake
function(qt_generate_module_pri_file target)
- set(flags INTERNAL_MODULE HEADER_MODULE)
+ set(flags INTERNAL_MODULE HEADER_MODULE NO_PRIVATE_MODULE)
set(options)
set(multiopts)
cmake_parse_arguments(arg "${flags}" "${options}" "${multiopts}" ${ARGN})
@@ -256,22 +256,23 @@ QT_MODULES += ${config_module_name}
)
endif()
- set(pri_data_cmake_file "qt_lib_${config_module_name}_private.cmake")
- qt_generate_qmake_libraries_pri_content(${config_module_name} "${CMAKE_CURRENT_BINARY_DIR}"
- ${pri_data_cmake_file})
+ if (NOT arg_NO_PRIVATE_MODULE)
+ set(pri_data_cmake_file "qt_lib_${config_module_name}_private.cmake")
+ qt_generate_qmake_libraries_pri_content(${config_module_name} "${CMAKE_CURRENT_BINARY_DIR}"
+ ${pri_data_cmake_file})
- set(private_pri_file_name "qt_lib_${config_module_name}_private.pri")
+ set(private_pri_file_name "qt_lib_${config_module_name}_private.pri")
- set(private_module_dependencies "")
- if(NOT arg_HEADER_MODULE)
- qt_get_direct_module_dependencies(${target}Private private_module_dependencies)
- endif()
- list(JOIN private_module_dependencies " " private_module_dependencies)
+ set(private_module_dependencies "")
+ if(NOT arg_HEADER_MODULE)
+ qt_get_direct_module_dependencies(${target}Private private_module_dependencies)
+ endif()
+ list(JOIN private_module_dependencies " " private_module_dependencies)
- # Generate a preliminary qt_lib_XXX_private.pri file
- file(GENERATE
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${private_pri_file_name}"
- CONTENT
+ # Generate a preliminary qt_lib_XXX_private.pri file
+ file(GENERATE
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${private_pri_file_name}"
+ CONTENT
"QT.${config_module_name}_private.VERSION = ${PROJECT_VERSION}
QT.${config_module_name}_private.name = ${module}
QT.${config_module_name}_private.module =
@@ -283,44 +284,46 @@ QT.${config_module_name}_private.uses =
QT.${config_module_name}_private.module_config = ${joined_module_internal_config}
QT.${config_module_name}_private.enabled_features = ${enabled_private_features}
QT.${config_module_name}_private.disabled_features = ${disabled_private_features}"
- )
-
- if(QT_GENERATOR_IS_MULTI_CONFIG)
- set(configs ${CMAKE_CONFIGURATION_TYPES})
- else()
- set(configs ${CMAKE_BUILD_TYPE})
- endif()
- set(inputs "${CMAKE_CURRENT_BINARY_DIR}/${private_pri_file_name}")
- foreach(cfg ${configs})
- list(APPEND inputs "${CMAKE_CURRENT_BINARY_DIR}/${cfg}/${pri_data_cmake_file}")
- endforeach()
+ )
- qt_path_join(private_pri_file_path "${target_path}" "${private_pri_file_name}")
- list(APPEND pri_files "${private_pri_file_path}")
+ if(QT_GENERATOR_IS_MULTI_CONFIG)
+ set(configs ${CMAKE_CONFIGURATION_TYPES})
+ else()
+ set(configs ${CMAKE_BUILD_TYPE})
+ endif()
+ set(inputs "${CMAKE_CURRENT_BINARY_DIR}/${private_pri_file_name}")
+ foreach(cfg ${configs})
+ list(APPEND inputs "${CMAKE_CURRENT_BINARY_DIR}/${cfg}/${pri_data_cmake_file}")
+ endforeach()
- set(library_prefixes ${CMAKE_SHARED_LIBRARY_PREFIX} ${CMAKE_STATIC_LIBRARY_PREFIX})
- set(library_suffixes
- ${CMAKE_SHARED_LIBRARY_SUFFIX}
- ${CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES}
- ${CMAKE_STATIC_LIBRARY_SUFFIX})
- add_custom_command(
- OUTPUT "${private_pri_file_path}"
- DEPENDS ${inputs}
- "${QT_CMAKE_DIR}/QtGenerateLibPri.cmake"
- "${QT_CMAKE_DIR}/QtGenerateLibHelpers.cmake"
- COMMAND ${CMAKE_COMMAND} "-DIN_FILES=${inputs}" "-DOUT_FILE=${private_pri_file_path}"
- "-DLIBRARY_PREFIXES=${library_prefixes}"
- "-DLIBRARY_SUFFIXES=${library_suffixes}"
- "-DLINK_LIBRARY_FLAG=${CMAKE_LINK_LIBRARY_FLAG}"
- "-DCONFIGS=${configs}"
- -P "${QT_CMAKE_DIR}/QtGenerateLibPri.cmake"
- VERBATIM)
- add_custom_target(${target}_lib_pri DEPENDS "${private_pri_file_path}")
- if(arg_HEADER_MODULE)
- add_dependencies(${target}_timestamp ${target}_lib_pri)
- else()
- add_dependencies(${target} ${target}_lib_pri)
+ qt_path_join(private_pri_file_path "${target_path}" "${private_pri_file_name}")
+ list(APPEND pri_files "${private_pri_file_path}")
+
+ set(library_prefixes ${CMAKE_SHARED_LIBRARY_PREFIX} ${CMAKE_STATIC_LIBRARY_PREFIX})
+ set(library_suffixes
+ ${CMAKE_SHARED_LIBRARY_SUFFIX}
+ ${CMAKE_EXTRA_SHARED_LIBRARY_SUFFIXES}
+ ${CMAKE_STATIC_LIBRARY_SUFFIX})
+ add_custom_command(
+ OUTPUT "${private_pri_file_path}"
+ DEPENDS ${inputs}
+ "${QT_CMAKE_DIR}/QtGenerateLibPri.cmake"
+ "${QT_CMAKE_DIR}/QtGenerateLibHelpers.cmake"
+ COMMAND ${CMAKE_COMMAND} "-DIN_FILES=${inputs}" "-DOUT_FILE=${private_pri_file_path}"
+ "-DLIBRARY_PREFIXES=${library_prefixes}"
+ "-DLIBRARY_SUFFIXES=${library_suffixes}"
+ "-DLINK_LIBRARY_FLAG=${CMAKE_LINK_LIBRARY_FLAG}"
+ "-DCONFIGS=${configs}"
+ -P "${QT_CMAKE_DIR}/QtGenerateLibPri.cmake"
+ VERBATIM)
+ add_custom_target(${target}_lib_pri DEPENDS "${private_pri_file_path}")
+ if(arg_HEADER_MODULE)
+ add_dependencies(${target}_timestamp ${target}_lib_pri)
+ else()
+ add_dependencies(${target} ${target}_lib_pri)
+ endif()
endif()
+
qt_install(FILES "${pri_files}" DESTINATION ${INSTALL_MKSPECSDIR}/modules)
endfunction()