diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-05-28 19:59:48 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-06-15 10:53:32 +0000 |
commit | e0979612a57d0a71c2b4f5d646547b5a5f6ab99c (patch) | |
tree | 4f01307f92341fb6e978773aef0998b9839fad90 /cmake | |
parent | ad036413b1044c802253a5843568048d22523ebf (diff) |
Add spellchecker support and qwebengine_covert_dict to cmake
Add spellchecker dictionary conversion tool.
Change scope of gn object imported variables to function scope.
Change-Id: Ice579a89e20b80034b675e7f767a774100478472
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
(cherry picked from commit 9451ceee24e832d32a86ae6a2f37eea781acaa2f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/Functions.cmake | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/cmake/Functions.cmake b/cmake/Functions.cmake index 2cd81554e..c61e403be 100644 --- a/cmake/Functions.cmake +++ b/cmake/Functions.cmake @@ -294,3 +294,37 @@ function(get_darwin_sdk_version result) endif() endfunction() +function(extend_target_with_gn_objects target config cmakeFile stampFile) + + include(${buildDir}/${config}/${cmakeFile}) + + string(TOUPPER ${config} cfg) + add_library(GnObjects_${target}_${config} OBJECT IMPORTED GLOBAL) + target_link_libraries(${target} PRIVATE $<$<CONFIG:${config}>:GnObjects_${target}_${config}>) + add_custom_target(ninja_${target}_${config} DEPENDS ${buildDir}/${config}/${stampFile}) + add_dependencies(GnObjects_${target}_${config} ninja_${target}_${config}) + #TODO: remove GnObjects_${target}_${config} with CMAKE 3.20 + set_property(TARGET GnObjects_${target}_${config} + PROPERTY IMPORTED_OBJECTS_${cfg} ${${cfg}_NINJA_OBJECTS} + ) + set_source_files_properties(${${cfg}_NINJA_OBJECTS} PROPERTIES GENERATED TRUE) + + if(LINUX) + target_link_libraries(${target} + PRIVATE "-Wl,--start-group" "$<$<CONFIG:${config}>:${${cfg}_NINJA_ARCHIVES}>" "-Wl,--end-group") + else() + target_link_libraries(${target} PRIVATE "$<$<CONFIG:${config}>:${${cfg}_NINJA_ARCHIVES}>") + endif() + + target_link_libraries(${target} PUBLIC "$<$<CONFIG:${config}>:${${cfg}_NINJA_LIBS}>") + + # we depend on stampFile, but ninja backend generator needs more (create once) + if(stampFile) + add_custom_command(OUTPUT ${${cfg}_NINJA_OBJECTS} ${${cfg}_NINJA_ARCHIVES} + DEPENDS ${buildDir}/${config}/${stampFile} + ) + add_custom_target(generate_${target}_${cfg} + DEPENDS ${${cfg}_NINJA_OBJECTS} ${${cfg}_NINJA_ARCHIVES} + ) + endif() +endfunction() |