@@ -50,17 +50,37 @@ if(shiboken_helper_FOUND)
5050 list (APPEND qt_gui_cpp_BINDINGS "shiboken" )
5151 set (qt_gui_cpp_BINDINGS "${qt_gui_cpp_BINDINGS} " PARENT_SCOPE)
5252
53+ if (APPLE )
54+ # The shiboken_generator fails without these includes.
55+ # TODO: resolve why these cannot be set using the component variables
56+ # Qt5Core_INCLUDE_DIRS etc.
57+ list (APPEND qt_gui_cpp_INCLUDE_PATH "${Qt5_DIR} /../../../include" )
58+ list (APPEND qt_gui_cpp_INCLUDE_PATH "${Qt5_DIR} /../../../include/QtCore" )
59+ list (APPEND qt_gui_cpp_INCLUDE_PATH "${Qt5_DIR} /../../../include/QtWidgets" )
60+ endif ()
61+
5362 set (QT_INCLUDE_DIR "${Qt5Widgets_INCLUDE_DIRS} " )
5463 shiboken_generator(libqt_gui_cpp global .h typesystem.xml ${PROJECT_SOURCE_DIR} /src/qt_gui_cpp_shiboken "${qt_gui_cpp_shiboken_SRCS} " "${qt_gui_cpp_HDRS} " "${qt_gui_cpp_INCLUDE_PATH} " "${CMAKE_CURRENT_BINARY_DIR} " )
5564
5665 shiboken_include_directories(qt_gui_cpp_shiboken "${qt_gui_cpp_shiboken_QT_COMPONENTS} " )
5766
5867 add_library (qt_gui_cpp_shiboken SHARED ${qt_gui_cpp_shiboken_SRCS} )
5968 target_include_directories (qt_gui_cpp_shiboken PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} /../../include )
60- target_link_libraries (qt_gui_cpp_shiboken ${PROJECT_NAME} )
69+ target_link_libraries (qt_gui_cpp_shiboken
70+ ${PROJECT_NAME}
71+ Qt5::Core
72+ Qt5::Gui
73+ Qt5::Widgets
74+ )
6175 ament_target_dependencies(qt_gui_cpp_shiboken pluginlib TinyXML2)
6276 shiboken_target_link_libraries(qt_gui_cpp_shiboken "${qt_gui_cpp_shiboken_QT_COMPONENTS} " )
6377
78+ if (APPLE )
79+ # the brew installed version of cmake (>3.24) supports Python3_SOABI
80+ find_package (Python3 COMPONENTS Development)
81+ set_target_properties (qt_gui_cpp_shiboken PROPERTIES SUFFIX ".${Python3_SOABI} .so" )
82+ endif ()
83+
6484 install (TARGETS qt_gui_cpp_shiboken
6585 DESTINATION ${PYTHON_INSTALL_DIR} /${PROJECT_NAME} )
6686 endif ()
0 commit comments