diff options
author | Alexey Edelev <alexey.edelev@qt.io> | 2021-07-28 13:09:02 +0200 |
---|---|---|
committer | Alexey Edelev <alexey.edelev@qt.io> | 2021-07-28 15:47:05 +0200 |
commit | 934bb86f9bb6c8f36e87097c8d74effc13e08f10 (patch) | |
tree | 449b495cb8e398b41f796b5d32a5d823ba587175 | |
parent | d362c6ac38c9056eadc78b985ec13d2d1120a8bb (diff) |
Fix type library UUID regex
CMake doesn't support regex quantifiers, so need to multiply the number
of hexadecimal numbers manually in UUID regex.
Add missing LIBRARIES argument to qutlook example.
Fixes: QTBUG-95407
Pick-to: 6.2 6.1
Change-Id: I3f3da1e29fe524ed7f03b3764de9139c4fc13a5b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
-rw-r--r-- | examples/activeqt/qutlook/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/activeqt/container/Qt6AxContainerMacros.cmake | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/examples/activeqt/qutlook/CMakeLists.txt b/examples/activeqt/qutlook/CMakeLists.txt index 5e009fa..6994f37 100644 --- a/examples/activeqt/qutlook/CMakeLists.txt +++ b/examples/activeqt/qutlook/CMakeLists.txt @@ -30,7 +30,7 @@ set_target_properties(qutlook PROPERTIES MACOSX_BUNDLE TRUE ) -qt6_target_typelibs(qutlook "msoutl:{00062FFF-0000-0000-C000-000000000046}") +qt6_target_typelibs(qutlook LIBRARIES "msoutl:{00062FFF-0000-0000-C000-000000000046}") target_link_libraries(qutlook PUBLIC Qt::AxContainer diff --git a/src/activeqt/container/Qt6AxContainerMacros.cmake b/src/activeqt/container/Qt6AxContainerMacros.cmake index 192d375..7c53c06 100644 --- a/src/activeqt/container/Qt6AxContainerMacros.cmake +++ b/src/activeqt/container/Qt6AxContainerMacros.cmake @@ -38,11 +38,17 @@ function(qt6_target_typelibs target) endif() set(out_sources "") - set(hex "[a-fA-F0-9]") - set(ident_ "[a-fA-F0-9_]") + + # CMake doesn't support quantifiers. + set(hex_num "[a-fA-F0-9][a-fA-F0-9]") + set(hex_two "${hex_num}${hex_num}") + set(hex_four "${hex_two}${hex_two}") + set(hex_six "${hex_two}${hex_two}${hex_two}") + + set(ident_ "[a-zA-Z0-9_]") foreach(lib IN LISTS arg_LIBRARIES) unset(libpath CACHE) - if(lib MATCHES "^(${ident_}+):(\\{${hex}{8}-${hex}{4}-${hex}{4}-${hex}{4}-${hex}{12}\\})$") + if(lib MATCHES "^(${ident_}+):({${hex_four}-${hex_two}-${hex_two}-${hex_two}-${hex_six}})$") set(libpath "${CMAKE_MATCH_2}") set(out_basename "${CMAKE_MATCH_1}") string(MAKE_C_IDENTIFIER "${out_basename}" out_basename_valid) |