diff --git a/.github/workflows/docker-switch.yml b/.github/workflows/docker-switch.yml index d53e41b33..c123de024 100644 --- a/.github/workflows/docker-switch.yml +++ b/.github/workflows/docker-switch.yml @@ -4,6 +4,7 @@ on: paths: - docker/impacto-switch/* - .github/workflows/docker-switch.yml + workflow_dispatch: jobs: build_and_publish: diff --git a/CMakeLists.txt b/CMakeLists.txt index e69045fb3..7f8d949c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,18 @@ if (EMSCRIPTEN) list(APPEND CMAKE_MODULE_PATH ${EMSCRIPTEN_ROOT_PATH}/cmake/Modules) endif () +if (APPLE) + set(CMAKE_OSX_DEPLOYMENT_TARGET "11.0") + set(MACOSX_BUNDLE_BUNDLE_NAME "Impacto") + set(MACOSX_BUNDLE_BUNDLE_NAME "Impacto") + set(MACOSX_BUNDLE_BUNDLE_VERSION "1.0.0") + set(MACOSX_BUNDLE_SHORT_VERSION_STRING "1.0") + set(MACOSX_BUNDLE_LONG_VERSION_STRING "1.0.0") + set(MACOSX_BUNDLE_GUI_IDENTIFIER "com.committeeofzero.impacto") + set(CMAKE_INSTALL_RPATH "@executable_path/../Frameworks") + set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) +endif() + set(Impacto_Src src/main.cpp src/log.cpp @@ -1176,6 +1188,8 @@ endif () if(ANDROID) add_library(impacto SHARED ${Impacto_Src} ${Impacto_Header}) target_link_options(impacto PRIVATE "LINKER:--build-id=sha1") +elseif(APPLE) + add_executable(impacto MACOSX_BUNDLE ${Impacto_Src} ${Impacto_Header}) else() add_executable(impacto ${Impacto_Src} ${Impacto_Header}) endif() @@ -1281,15 +1295,16 @@ elseif (WIN32) install(TARGETS impacto RUNTIME DESTINATION .) install(FILES $ DESTINATION .) x_vcpkg_install_local_dependencies(TARGETS impacto DESTINATION .) +elseif(APPLE) + install(TARGETS impacto + BUNDLE DESTINATION . + RUNTIME DESTINATION . + ) + install(TARGETS atrac9 + LIBRARY DESTINATION Impacto.app/Contents/Frameworks + ) else() - if (APPLE) - set_property( - TARGET impacto - PROPERTY INSTALL_RPATH - "@loader_path/" - "@loader_path/lib" - ) - elseif (LINUX) + if (LINUX) set_property( TARGET impacto PROPERTY INSTALL_RPATH diff --git a/macos/Impacto.plist.in b/macos/Impacto.plist.in new file mode 100644 index 000000000..9304fdabe --- /dev/null +++ b/macos/Impacto.plist.in @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + English + + CFBundleExecutable + ${MACOSX_BUNDLE_EXECUTABLE_NAME} + + CFBundleGetInfoString + ${MACOSX_BUNDLE_INFO_STRING} + + CFBundleIdentifier + ${MACOSX_BUNDLE_GUI_IDENTIFIER} + + CFBundleInfoDictionaryVersion + ${MACOSX_BUNDLE_BUNDLE_VERSION} + + CFBundleLongVersionString + ${MACOSX_BUNDLE_LONG_VERSION_STRING} + + CFBundleShortVersionString + ${MACOSX_BUNDLE_SHORT_VERSION_STRING} + + CFBundleName + ${MACOSX_BUNDLE_BUNDLE_NAME} + + CFBundlePackageType + APPL + + CFBundleSignature + ???? + + NSHighResolutionCapable + + + LSMinimumSystemVersion + 11.0 + + \ No newline at end of file diff --git a/triplets/arm64-osx-ci.cmake b/triplets/arm64-osx-ci.cmake index e698417d7..8240d8683 100644 --- a/triplets/arm64-osx-ci.cmake +++ b/triplets/arm64-osx-ci.cmake @@ -4,6 +4,7 @@ set(VCPKG_LIBRARY_LINKAGE dynamic) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES arm64) +set(VCPKG_OSX_DEPLOYMENT_TARGET "11.0") set(VCPKG_BUILD_TYPE release) set(VCPKG_FIXUP_MACHO_RPATH ON) \ No newline at end of file diff --git a/triplets/x64-osx-ci.cmake b/triplets/x64-osx-ci.cmake index 2d0922411..5e551b59f 100644 --- a/triplets/x64-osx-ci.cmake +++ b/triplets/x64-osx-ci.cmake @@ -4,6 +4,7 @@ set(VCPKG_LIBRARY_LINKAGE dynamic) set(VCPKG_CMAKE_SYSTEM_NAME Darwin) set(VCPKG_OSX_ARCHITECTURES x86_64) +set(VCPKG_OSX_DEPLOYMENT_TARGET "11.0") set(VCPKG_BUILD_TYPE release) -set(VCPKG_FIXUP_MACHO_RPATH ON) \ No newline at end of file +set(VCPKG_FIXUP_MACHO_RPATH ON)