diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7b85f748b5..fdc2c37196 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -89,10 +89,10 @@ jobs: platform: macos preset: x-macos-ci-x86_64 artifact_name: macos-appleclang-x86_64 - - name: AppleClang iOS arm64 - platform: ios - preset: x-ios-ci - artifact_name: ios-appleclang-arm64 + # - name: AppleClang iOS arm64 + # platform: ios + # preset: x-ios-ci + # artifact_name: ios-appleclang-arm64 # - name: AppleClang tvOS arm64 # platform: tvos # preset: x-tvos-ci @@ -120,6 +120,12 @@ jobs: rustup toolchain install nightly rustup target add --toolchain nightly aarch64-apple-tvos + - name: Install Rust x86_64 macOS target + if: endsWith(matrix.preset, 'x86_64') + run: | + rustup toolchain install stable + rustup target add x86_64-apple-darwin + - name: Setup sccache uses: mozilla-actions/sccache-action@v0.0.9 diff --git a/CMakeLists.txt b/CMakeLists.txt index 771a38a57a..cb9b6bf24c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -362,12 +362,14 @@ if (ANDROID) target_link_options(dusk PRIVATE "-Wl,-u,SDL_main") endif () -add_custom_command(TARGET dusk POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - "${CMAKE_SOURCE_DIR}/res" - "$/res" - COMMENT "Copying resources" -) +if (NOT APPLE) + add_custom_command(TARGET dusk POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_directory + "${CMAKE_SOURCE_DIR}/res" + "$/res" + COMMENT "Copying resources" + ) +endif () if (WIN32) set(DUSK_WINDOWS_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/platforms/windows) @@ -408,12 +410,19 @@ if (APPLE) endif () set(DUSK_INFO_PLIST ${DUSK_RESOURCE_DIR}/Info.plist.in) file(GLOB_RECURSE DUSK_RESOURCE_FILES "${DUSK_RESOURCE_DIR}/Base.lproj/*") + file(GLOB_RECURSE DUSK_APP_RESOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/res/*") target_sources(dusk PRIVATE ${DUSK_RESOURCE_FILES}) + target_sources(dusk PRIVATE ${DUSK_APP_RESOURCE_FILES}) foreach (FILE ${DUSK_RESOURCE_FILES}) file(RELATIVE_PATH NEW_FILE "${DUSK_RESOURCE_DIR}" ${FILE}) get_filename_component(NEW_FILE_PATH ${NEW_FILE} DIRECTORY) set_property(SOURCE ${FILE} PROPERTY MACOSX_PACKAGE_LOCATION "Resources/${NEW_FILE_PATH}") endforeach () + foreach (FILE ${DUSK_APP_RESOURCE_FILES}) + file(RELATIVE_PATH NEW_FILE "${CMAKE_CURRENT_SOURCE_DIR}" ${FILE}) + get_filename_component(NEW_FILE_PATH ${NEW_FILE} DIRECTORY) + set_property(SOURCE ${FILE} PROPERTY MACOSX_PACKAGE_LOCATION "Resources/${NEW_FILE_PATH}") + endforeach () set_target_properties( dusk PROPERTIES MACOSX_BUNDLE TRUE @@ -421,7 +430,7 @@ if (APPLE) MACOSX_BUNDLE_GUI_IDENTIFIER ${DUSK_BUNDLE_IDENTIFIER} MACOSX_BUNDLE_BUNDLE_VERSION ${DUSK_VERSION_STRING} MACOSX_BUNDLE_SHORT_VERSION_STRING ${DUSK_SHORT_VERSION_STRING} - OUTPUT_NAME dusk + OUTPUT_NAME Dusk XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED "YES" XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "YES" ) @@ -489,7 +498,9 @@ if (TARGET crashpad_handler) endif () install(TARGETS ${BINARY_TARGETS} ${EXTRA_TARGETS} DESTINATION ${CMAKE_INSTALL_PREFIX}) aurora_install_runtime_dlls(dusk ${CMAKE_INSTALL_PREFIX}) -install(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION ${CMAKE_INSTALL_PREFIX}) +if (NOT APPLE) + install(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION ${CMAKE_INSTALL_PREFIX}) +endif () if (CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo) set(DEBUG_FILES_LIST "") foreach (target IN LISTS BINARY_TARGETS EXTRA_TARGETS) diff --git a/CMakePresets.json b/CMakePresets.json index 9c0d632cfd..90307aa061 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -411,7 +411,8 @@ "x-macos-ci" ], "cacheVariables": { - "CMAKE_OSX_ARCHITECTURES": "x86_64" + "CMAKE_OSX_ARCHITECTURES": "x86_64", + "Rust_CARGO_TARGET": "x86_64-apple-darwin" } }, {