@@ -130,14 +130,17 @@ function(installLSLApp target)
130130 DESTINATION ${CMAKE_INSTALL_BINDIR}
131131 COMPONENT ${SHAREDLIBCOMPONENT} )
132132 endif ()
133+ set (APPLE_APP_PATH "\$ {CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR} /${target} .app" )
133134 if (APPLE AND NOT qtapp)
134135 # fixup_bundle appears to be broken for Qt apps. Use only for non-Qt.
135136 get_target_property (target_is_bundle ${target} MACOSX_BUNDLE )
136137 if (target_is_bundle)
137138 install (CODE "
139+ get_filename_component(LIBDIR $<TARGET_FILE:LSL::lsl> DIRECTORY)
140+ message(STATUS \$ {LIBDIR})
138141 include(BundleUtilities)
139142 set(BU_CHMOD_BUNDLE_ITEMS ON)
140- fixup_bundle(\$ {CMAKE_INSTALL_PREFIX}/ ${CMAKE_INSTALL_BINDIR} / ${target} .app \"\" \" ${lsldir }\" )
143+ fixup_bundle(${APPLE_APP_PATH} \"\" \"\$ {LIBDIR }\" )
141144 "
142145 COMPONENT ${PROJECT_NAME}
143146 )
@@ -174,19 +177,24 @@ function(installLSLApp target)
174177 elseif (APPLE )
175178 # It should be enough to call fixup_bundle (see below),
176179 # but this fails to install qt plugins (cocoa).
177- # Use macdeployqt instead (but this is bad at grabbing lsl dylib, so we did that above)
180+ # Use macdeployqt instead (but this is bad at grabbing lsl dylib, so we do it manually
178181 findQtInstallationTool("macdeployqt" )
179182 install (CODE "
180- if(\$ {CMAKE_INSTALL_CONFIG_NAME} STREQUAL Debug)
181- set(debug 1)
182- endif()
183+ file(INSTALL $<TARGET_FILE:LSL::lsl> DESTINATION ${APPLE_APP_PATH} /Contents/MacOS)
183184 message(STATUS \" Running Qt Deploy Tool for $<TARGET_FILE:${target} >...\" )
184185 execute_process(COMMAND
185- echo \" ${QT_DEPLOYQT_EXECUTABLE} \"
186- $<TARGET_FILE:${target} >
187- -verbose=1
188- $<$<BOOL:\$ {debug}>:--use-debug-libs>
186+ \" ${QT_DEPLOYQT_EXECUTABLE} \"
187+ \" ${APPLE_APP_PATH} \"
188+ -verbose=1 -always-overwrite
189+ \$ <\$ <STREQUAL:\$ {CMAKE_INSTALL_CONFIG_NAME},\" Debug\" >:--use-debug-libs>
190+ COMMAND_ECHO STDOUT
191+ OUTPUT_VARIABLE DEPLOYOUTPUT
192+ ERROR_VARIABLE DEPLOYOUTPUT
193+ RESULT_VARIABLE DEPLOYSTATUS
189194 )
195+ if(\$ {DEPLOYSTATUS})
196+ message(WARNING \"\$ {DEPLOYOUTPUT}\" )
197+ endif()
190198 " )
191199 endif ()
192200endfunction ()
0 commit comments