@@ -105,6 +105,7 @@ endif()
105105
106106if (BUILD_MACOS_BUNDLE)
107107 set (MACOS_APP "SWI-Prolog" )
108+ set (EPILOG_APP "${MACOS_APP} " )
108109
109110 if (MACOS_UNIVERSAL_BINARY)
110111 set (SWIPL_CPACK_ARCH fat)
@@ -115,46 +116,78 @@ if(BUILD_MACOS_BUNDLE)
115116# up. See URL below for the defined variables.
116117# https://cmake.org/cmake/help/latest/prop_tgt/MACOSX_BUNDLE_INFO_PLIST.html
117118
118- set (MACOSX_BUNDLE_BUNDLE_NAME "SWI-Prolog" )
119- set (MACOSX_BUNDLE_SHORT_VERSION_STRING "${SWIPL_VERSION_STRING} " )
120-
121- set (X11_ROOT /opt/X11)
122- set (Freetype_ROOT /opt/X11)
123- set (FontConfig_ROOT /opt/X11)
124-
125- find_program (MACOS_DEPLOYQT NAMES macdeployqt )
126- if (NOT MACOS_DEPLOYQT)
127- find_package (Qt5 COMPONENTS Widgets REQUIRED )
128-
129- get_target_property (uic_location Qt5::uic IMPORTED_LOCATION )
130- get_filename_component ( _dir ${uic_location} DIRECTORY )
131- set (MACOS_DEPLOYQT "${_dir} /macdeployqt" )
132- if (NOT EXISTS ${MACOS_DEPLOYQT} )
133- message (FATAL_ERROR "Failed to locate macdeployqt executable: [${MACOS_DEPLOYQT} ]" )
119+ if (EPILOG)
120+ set (CPACK_GENERATOR "DragNDrop" )
121+ set (SWIPL_APP_NAME SWI-Prolog)
122+ set (CPACK_BUNDLE_NAME "${SWIPL_APP_NAME} " )
123+ set (CPACK_BUNDLE_EXECUTABLE "${EPILOG_APP} " )
124+ set (CPACK_BUNDLE_VERSION "${SWIPL_VERSION_STRING} " )
125+
126+ set (CPACK_BUNDLE_ICON "swipl.icns" )
127+ set (CPACK_BUNDLE_IDENTIFIER "org.swi-prolog.app" )
128+ set (CPACK_BUNDLE_COPYRIGHT "BSD-2" )
129+ set (CPACK_BUNDLE_PLIST "${CMAKE_SOURCE_DIR } /desktop/Info.plist.in" )
130+
131+ function (deploy )
132+ set (CMAKE_INSTALL_DEFAULT_COMPONENT_NAME ZZRuntime)
133+ install (FILES ${CMAKE_SOURCE_DIR } /man/macosx/SWIapp.html
134+ DESTINATION .
135+ RENAME Readme.html)
136+ install (FILES ${CMAKE_SOURCE_DIR } /man/macosx/License.html
137+ DESTINATION .)
138+
139+ install (CODE "set(fixup_script ${CMAKE_SOURCE_DIR } /scripts/macosx_bundle_fixup.sh)
140+ " )
141+ install (CODE [===[
142+ execute_process(COMMAND ln -sf SWI-Prolog swipl-win
143+ WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/SWI-Prolog.app/Contents/MacOS)
144+ execute_process(COMMAND ${fixup_script} --epilog ${CMAKE_INSTALL_PREFIX}/SWI-Prolog.app)
145+ ]===] )
146+ endfunction ()
147+
148+ deploy ()
149+ else (EPILOG ) # Qt based swipl-win
150+ set (MACOSX_BUNDLE_BUNDLE_NAME "SWI-Prolog" )
151+ set (MACOSX_BUNDLE_SHORT_VERSION_STRING "${SWIPL_VERSION_STRING} " )
152+
153+ set (X11_ROOT /opt/X11)
154+ set (Freetype_ROOT /opt/X11)
155+ set (FontConfig_ROOT /opt/X11)
156+
157+ find_program (MACOS_DEPLOYQT NAMES macdeployqt )
158+ if (NOT MACOS_DEPLOYQT)
159+ find_package (Qt5 COMPONENTS Widgets REQUIRED )
160+
161+ get_target_property (uic_location Qt5::uic IMPORTED_LOCATION )
162+ get_filename_component ( _dir ${uic_location} DIRECTORY )
163+ set (MACOS_DEPLOYQT "${_dir} /macdeployqt" )
164+ if (NOT EXISTS ${MACOS_DEPLOYQT} )
165+ message (FATAL_ERROR "Failed to locate macdeployqt executable: [${MACOS_DEPLOYQT} ]" )
166+ endif ()
134167 endif ()
135- endif ()
136168
137- set (CPACK_GENERATOR "DragNDrop" )
169+ set (CPACK_GENERATOR "DragNDrop" )
138170
139- function (deployqt )
140- set (CMAKE_INSTALL_DEFAULT_COMPONENT_NAME ZZRuntime)
141- install (FILES ${CMAKE_SOURCE_DIR } /man/macosx/SWIapp.html
142- DESTINATION .
143- RENAME Readme.html)
144- install (FILES ${CMAKE_SOURCE_DIR } /man/macosx/License.html
145- DESTINATION .)
171+ function (deployqt )
172+ set (CMAKE_INSTALL_DEFAULT_COMPONENT_NAME ZZRuntime)
173+ install (FILES ${CMAKE_SOURCE_DIR } /man/macosx/SWIapp.html
174+ DESTINATION .
175+ RENAME Readme.html)
176+ install (FILES ${CMAKE_SOURCE_DIR } /man/macosx/License.html
177+ DESTINATION .)
146178
147- install (CODE "set(deployqt ${MACOS_DEPLOYQT} )
179+ install (CODE "set(deployqt ${MACOS_DEPLOYQT} )
148180 set(fixup_script ${CMAKE_SOURCE_DIR } /scripts/macosx_bundle_fixup.sh)
149181 " )
150- install (CODE [===[
151- execute_process(COMMAND ln -sf SWI-Prolog swipl-win
152- WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/SWI-Prolog.app/Contents/MacOS)
153- execute_process(COMMAND ${fixup_script} --deployqt=${deployqt} ${CMAKE_INSTALL_PREFIX}/SWI-Prolog.app)
154- ]===] )
155- endfunction ()
156-
157- deployqt ()
182+ install (CODE [===[
183+ execute_process(COMMAND ln -sf SWI-Prolog swipl-win
184+ WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/SWI-Prolog.app/Contents/MacOS)
185+ execute_process(COMMAND ${fixup_script} --deployqt=${deployqt} ${CMAKE_INSTALL_PREFIX}/SWI-Prolog.app)
186+ ]===] )
187+ endfunction ()
188+
189+ deployqt ()
190+ endif (EPILOG )
158191endif ()
159192
160193set (CMAKE_MACOSX_RPATH ON )
0 commit comments