@@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.27)
33find_package (Git)
44
55project (the-arbor-gui
6- VERSION 0.11.1
6+ VERSION 0.11.2
77 LANGUAGES C CXX)
88
99set (EXPORT_COMPILE_COMMANDS ON )
@@ -186,22 +186,53 @@ if(ARBORGUI_BUILD_BUNDLE)
186186
187187 set (ARBORGUI_ICON arbor.icns)
188188 set (ARBORGUI_ICON_PATH ${CMAKE_SOURCE_DIR} /images/${ARBORGUI_ICON} )
189- set_source_files_properties (${ARBORGUI_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
190189
191- add_executable (arbor-gui MACOSX_BUNDLE ${ARBORGUI_ICON_PATH} ${gui_srcs} $<TARGET_OBJECTS:imgui>)
192- set_target_properties (arbor-gui PROPERTIES MACOSX_BUNDLE_ICONFILE ${ARBORGUI_ICON} )
190+ set (arbgui_resources)
191+ set_source_files_properties (${CMAKE_SOURCE_DIR} /imgui.ini
192+ PROPERTIES
193+ MACOSX_PACKAGE_LOCATION Resources)
194+ list (APPEND arbgui_resources ${CMAKE_SOURCE_DIR} /imgui.ini)
195+
196+ file (GLOB_RECURSE shaders ${CMAKE_SOURCE_DIR} /glsl/*/*.glsl)
197+ foreach (SHADER_FILE ${shaders} )
198+ list (APPEND arbgui_resources ${SHADER_FILE} )
199+ file (RELATIVE_PATH SHADER_REL ${CMAKE_SOURCE_DIR} /glsl ${SHADER_FILE} )
200+ get_filename_component (SHADER_DIR ${SHADER_REL} DIRECTORY )
201+ set_source_files_properties (${SHADER_FILE}
202+ PROPERTIES
203+ MACOSX_PACKAGE_LOCATION Resources/glsl/${SHADER_DIR} )
204+ endforeach ()
205+
206+ file (GLOB_RECURSE fonts ${CMAKE_SOURCE_DIR} /fonts/*/*.ttf)
207+ foreach (FONT_FILE ${fonts} )
208+ list (APPEND arbgui_resources ${FONT_FILE} )
209+ file (RELATIVE_PATH FONT_REL ${CMAKE_SOURCE_DIR} /fonts ${FONT_FILE} )
210+ get_filename_component (FONT_DIR ${FONT_REL} DIRECTORY )
211+ set_source_files_properties (${FONT_FILE}
212+ PROPERTIES
213+ MACOSX_PACKAGE_LOCATION Resources/fonts/${FONT_DIR} )
214+ endforeach ()
215+
216+ set_source_files_properties (${CMAKE_SOURCE_DIR} /images/arbor.icns
217+ PROPERTIES
218+ MACOSX_PACKAGE_LOCATION Resources)
219+
220+ add_executable (arbor-gui MACOSX_BUNDLE ${gui_srcs} $<TARGET_OBJECTS:imgui> ${arbgui_resources} ${CMAKE_SOURCE_DIR} /images/arbor.icns)
221+ set_target_properties (arbor-gui
222+ PROPERTIES
223+ BUNDLE True
224+ MACOSX_BUNDLE_BUNDLE_NAME ${PROJECT_NAME}
225+ MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
226+ MACOSX_BUNDLE_ICONFILE ${ARBORGUI_ICON}
227+ MACOSX_BUNDLE_INFO_STRING "A GUI for Arbor"
228+ RESOURCE ${arbgui_resources} )
193229 target_compile_definitions (arbor-gui PUBLIC FMT_HEADER_ONLY)
194230 target_include_directories (arbor-gui PRIVATE src ${CMAKE_CURRENT_BINARY_DIR} )
195231 target_link_libraries (arbor-gui PRIVATE ${ARBORGUI_LIBS} arbor arborio glbinding glfw arbor-gui-deps)
196232
197233 install (TARGETS arbor-gui
198- BUNDLE DESTINATION . COMPONENT Runtime
199- RUNTIME DESTINATION bin COMPONENT Runtime)
200-
201- install (FILES ${ARBORGUI_ICON_PATH} DESTINATION ${resource_path} )
202- install (FILES default.ini DESTINATION ${resource_path} RENAME imgui.ini)
203- install (DIRECTORY glsl DESTINATION ${resource_path} )
204- install (DIRECTORY fonts DESTINATION ${resource_path} )
234+ BUNDLE DESTINATION . COMPONENT Runtime
235+ RUNTIME DESTINATION bin COMPONENT Runtime)
205236
206237 set (CPACK_BINARY_DRAGNDROP ON )
207238 set (CPACK_GENERATOR "DragNDrop" )
@@ -237,7 +268,7 @@ else()
237268 endif ()
238269
239270 # install resources
240- install (DIRECTORY glsl DESTINATION ${resource_path} )
241- install (DIRECTORY fonts DESTINATION ${resource_path} )
242- install (FILES default .ini DESTINATION ${resource_path} RENAME imgui.ini )
271+ install (DIRECTORY glsl DESTINATION ${resource_path} )
272+ install (DIRECTORY fonts DESTINATION ${resource_path} )
273+ install (FILES imgui .ini DESTINATION ${resource_path} )
243274endif ()
0 commit comments