diff options
-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) |