diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0208e0b7..f424f19a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -14,6 +14,26 @@ set( app/emu/snes.cc ) +set(YAZE_RESOURCE_FILES + ${CMAKE_SOURCE_DIR}/assets/layouts/overworld.zeml + ${CMAKE_SOURCE_DIR}/assets/font/Karla-Regular.ttf + ${CMAKE_SOURCE_DIR}/assets/font/Roboto-Medium.ttf + ${CMAKE_SOURCE_DIR}/assets/font/Cousine-Regular.ttf + ${CMAKE_SOURCE_DIR}/assets/font/DroidSans.ttf + ${CMAKE_SOURCE_DIR}/assets/font/NotoSansJP.ttf + ${CMAKE_SOURCE_DIR}/assets/font/IBMPlexSansJP-Bold.ttf + ${CMAKE_SOURCE_DIR}/assets/font/MaterialIcons-Regular.ttf +) + +foreach (FILE ${YAZE_RESOURCE_FILES}) + file(RELATIVE_PATH NEW_FILE "${CMAKE_SOURCE_DIR}/assets" ${FILE}) + get_filename_component(NEW_FILE_PATH ${NEW_FILE} DIRECTORY) + set_source_files_properties(${FILE} + PROPERTIES + MACOSX_PACKAGE_LOCATION "Resources/${NEW_FILE_PATH}" + ) +endforeach() + if (YAZE_BUILD_APP) include(app/app.cmake) endif() @@ -30,13 +50,8 @@ if (YAZE_BUILD_TESTS) include(test/CMakeLists.txt) endif() -if (UNIX) - target_compile_definitions(yaze PRIVATE "linux") - target_compile_definitions(yaze PRIVATE "stricmp=strcasecmp") -endif() - if(MACOS) - set(MACOSX_BUNDLE_ICON_FILE ${CMAKE_SOURCE_DIR}/yaze.ico) + set(MACOSX_BUNDLE_ICON_FILE ${CMAKE_SOURCE_DIR}/win32/yaze.ico) set_target_properties(yaze PROPERTIES BUNDLE True @@ -44,6 +59,7 @@ if(MACOS) LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/cmake/yaze.plist.in + RESOURCE ${YAZE_RESOURCE_FILES} ) elseif(UNIX) set_target_properties(yaze @@ -53,6 +69,8 @@ elseif(UNIX) LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib" RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" ) + target_compile_definitions(yaze PRIVATE "linux") + target_compile_definitions(yaze PRIVATE "stricmp=strcasecmp") else() set_target_properties(yaze PROPERTIES diff --git a/src/app/app.cmake b/src/app/app.cmake index 8e27403c..0e544b06 100644 --- a/src/app/app.cmake +++ b/src/app/app.cmake @@ -4,6 +4,24 @@ include(app/gfx/gfx.cmake) include(app/gui/gui.cmake) include(app/zelda3/zelda3.cmake) +if (APPLE) +add_executable( + yaze + MACOSX_BUNDLE + app/yaze.cc + app/rom.cc + ${YAZE_APP_EMU_SRC} + ${YAZE_APP_CORE_SRC} + ${YAZE_APP_EDITOR_SRC} + ${YAZE_APP_GFX_SRC} + ${YAZE_APP_ZELDA3_SRC} + ${YAZE_GUI_SRC} + ${IMGUI_SRC} + + # Bundled Resources + ${YAZE_RESOURCE_FILES} +) +else() add_executable( yaze app/yaze.cc @@ -16,6 +34,7 @@ add_executable( ${YAZE_GUI_SRC} ${IMGUI_SRC} ) +endif() target_include_directories( yaze PUBLIC @@ -45,9 +64,9 @@ endif() if (WIN32 OR MINGW) target_link_libraries( - yaze PUBLIC + yaze PUBLIC ${CMAKE_SOURCE_DIR}/build/build-windows/bin/libpng16.dll - zlib + zlib mingw32 ws2_32) -endif() \ No newline at end of file +endif()