From 036f86feaccb25d8552c4bf4d216f7f2a9205325 Mon Sep 17 00:00:00 2001 From: dundargoc Date: Sat, 23 Mar 2024 21:28:46 +0100 Subject: [PATCH] ci: provide separate macos releases for intel and arm This will immensely reduce the complexity required to support both architectures, reduce overall lines of code and unblock follow-up simplifications. --- .github/scripts/build_universal_macos.sh | 22 ------- .github/workflows/build.yml | 11 ---- .github/workflows/notes.md | 20 +++++-- .github/workflows/release.yml | 60 ++++++++++++++----- CMakeLists.txt | 1 - cmake.deps/cmake/BuildGettext.cmake | 1 - cmake.deps/cmake/BuildLibiconv.cmake | 1 - cmake.deps/cmake/BuildLibuv.cmake | 1 - cmake.deps/cmake/BuildLibvterm.cmake | 1 - cmake.deps/cmake/BuildLpeg.cmake | 1 - cmake.deps/cmake/BuildLuajit.cmake | 49 ++------------- cmake.deps/cmake/BuildLuv.cmake | 1 - cmake.deps/cmake/BuildMsgpack.cmake | 1 - cmake.deps/cmake/BuildTreesitter.cmake | 1 - cmake.deps/cmake/BuildTreesitterParsers.cmake | 1 - cmake.deps/cmake/BuildUnibilium.cmake | 1 - cmake.packaging/CMakeLists.txt | 2 +- cmake/Deps.cmake | 7 --- 18 files changed, 65 insertions(+), 117 deletions(-) delete mode 100755 .github/scripts/build_universal_macos.sh diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh deleted file mode 100755 index aeda93ee03..0000000000 --- a/.github/scripts/build_universal_macos.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -e - -MACOSX_DEPLOYMENT_TARGET=11.0 -export MACOSX_DEPLOYMENT_TARGET -cmake -S cmake.deps -B .deps -G Ninja \ - -D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ - -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ - -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 \ - -D CMAKE_FIND_FRAMEWORK=NEVER -cmake --build .deps -cmake -B build -G Ninja \ - -D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ - -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ - -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 \ - -D ENABLE_LIBINTL=OFF \ - -D CMAKE_FIND_FRAMEWORK=NEVER -cmake --build build -# Make sure we build everything for M1 as well -for macho in build/bin/* build/lib/nvim/parser/*.so; do - lipo -info "$macho" | grep -q arm64 || exit 1 -done -cpack --config build/CPackConfig.cmake diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bf8356243e..c30748bb78 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,17 +20,6 @@ env: INSTALL_PREFIX: ${{ github.workspace }}/nvim-install jobs: - macos-universal: - runs-on: macos-14 - timeout-minutes: 20 - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/setup - - run: printf 'CMAKE_BUILD_TYPE=Release\n' >> $GITHUB_ENV - - - name: Build universal binary - run: ./.github/scripts/build_universal_macos.sh - old-cmake: name: Test oldest supported cmake runs-on: ubuntu-22.04 diff --git a/.github/workflows/notes.md b/.github/workflows/notes.md index 294d92ebb5..ba7e55a9c1 100644 --- a/.github/workflows/notes.md +++ b/.github/workflows/notes.md @@ -18,12 +18,19 @@ ${NVIM_VERSION} 2. Run the MSI 3. Run `nvim.exe` on your CLI of choice -### macOS +### macOS (x86_64) -1. Download **nvim-macos.tar.gz** -2. Run `xattr -c ./nvim-macos.tar.gz` (to avoid "unknown developer" warning) -3. Extract: `tar xzvf nvim-macos.tar.gz` -4. Run `./nvim-macos/bin/nvim` +1. Download **nvim-macos-x86_86.tar.gz** +2. Run `xattr -c ./nvim-macos-x86_86.tar.gz` (to avoid "unknown developer" warning) +3. Extract: `tar xzvf nvim-macos-x86_86.tar.gz` +4. Run `./nvim-macos-x86_86/bin/nvim` + +### macOS (arm64) + +1. Download **nvim-macos-arm64.tar.gz** +2. Run `xattr -c ./nvim-macos-arm64.tar.gz` (to avoid "unknown developer" warning) +3. Extract: `tar xzvf nvim-macos-arm64.tar.gz` +4. Run `./nvim-macos-arm64/bin/nvim` ### Linux (x64) @@ -56,7 +63,8 @@ https://github.com/neovim/neovim-releases. ${SHA_LINUX_64_TAR} ${SHA_APP_IMAGE} ${SHA_APP_IMAGE_ZSYNC} -${SHA_MACOS} +${SHA_MACOS_X86_64} +${SHA_MACOS_ARM64} ${SHA_WIN_64_ZIP} ${SHA_WIN_64_MSI} ``` diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 48a3901955..e0989120f3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -59,8 +59,19 @@ jobs: ./build/bin/nvim --version | head -n 3 >> $GITHUB_OUTPUT printf 'END\n' >> $GITHUB_OUTPUT - macOS: - runs-on: macos-14 + macos: + strategy: + fail-fast: false + matrix: + runner: [ macos-12, macos-14 ] + include: + - runner: macos-12 + arch: x86_64 + - runner: macos-14 + arch: arm64 + runs-on: ${{ matrix.runner }} + env: + MACOSX_DEPLOYMENT_TARGET: 11.0 steps: - uses: actions/checkout@v4 with: @@ -72,17 +83,33 @@ jobs: run: printf 'CMAKE_BUILD_TYPE=Release\n' >> $GITHUB_ENV - if: github.event_name == 'schedule' || (github.event_name == 'workflow_dispatch' && github.event.inputs.tag_name == 'nightly') run: printf 'CMAKE_BUILD_TYPE=RelWithDebInfo\n' >> $GITHUB_ENV - - name: Build universal binary - run: ./.github/scripts/build_universal_macos.sh + + - name: Build deps + run: | + cmake -S cmake.deps -B .deps -G Ninja \ + -D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ + -D CMAKE_FIND_FRAMEWORK=NEVER + cmake --build .deps + + - name: Build neovim + run: | + cmake -B build -G Ninja \ + -D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ + -D ENABLE_LIBINTL=OFF \ + -D CMAKE_FIND_FRAMEWORK=NEVER + cmake --build build + + - name: Package + run: cpack --config build/CPackConfig.cmake + - uses: actions/upload-artifact@v4 with: - name: nvim-macos - path: build/nvim-macos.tar.gz + name: nvim-macos-${{ matrix.arch }} + path: build/nvim-macos-${{ matrix.arch }}.tar.gz retention-days: 1 windows: runs-on: windows-2019 - name: windows (MSVC_64) steps: - uses: actions/checkout@v4 with: @@ -106,7 +133,7 @@ jobs: retention-days: 1 publish: - needs: [linux, macOS, windows] + needs: [linux, macos, windows] runs-on: ubuntu-latest env: GH_REPO: ${{ github.repository }} @@ -160,11 +187,16 @@ jobs: cd ./appimage sha256sum nvim.appimage.zsync > nvim.appimage.zsync.sha256sum echo "SHA_APP_IMAGE_ZSYNC=$(cat nvim.appimage.zsync.sha256sum)" >> $GITHUB_ENV - - name: Generate macOS SHA256 checksums + - name: Generate macos x86_64 SHA256 checksums run: | - cd ./nvim-macos - sha256sum nvim-macos.tar.gz > nvim-macos.tar.gz.sha256sum - echo "SHA_MACOS=$(cat nvim-macos.tar.gz.sha256sum)" >> $GITHUB_ENV + cd ./nvim-macos-x86_64 + sha256sum nvim-macos-x86_64.tar.gz > nvim-macos-x86_64.tar.gz.sha256sum + echo "SHA_MACOS_X86_64=$(cat nvim-macos-x86_64.tar.gz.sha256sum)" >> $GITHUB_ENV + - name: Generate macos arm64 SHA256 checksums + run: | + cd ./nvim-macos-arm64 + sha256sum nvim-macos-arm64.tar.gz > nvim-macos-arm64.tar.gz.sha256sum + echo "SHA_MACOS_ARM64=$(cat nvim-macos-arm64.tar.gz.sha256sum)" >> $GITHUB_ENV - name: Generate Win64 SHA256 checksums run: | cd ./nvim-win64 @@ -179,6 +211,6 @@ jobs: run: | envsubst < "$GITHUB_WORKSPACE/.github/workflows/notes.md" > "$RUNNER_TEMP/notes.md" if [ "$TAG_NAME" != "nightly" ]; then - gh release create stable $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos/* nvim-linux64/* appimage/* nvim-win64/* + gh release create stable $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos-x86_64/* nvim-macos-arm64/* nvim-linux64/* appimage/* nvim-win64/* fi - gh release create $TAG_NAME $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos/* nvim-linux64/* appimage/* nvim-win64/* + gh release create $TAG_NAME $PRERELEASE --notes-file "$RUNNER_TEMP/notes.md" --title "$SUBJECT" --target $GITHUB_SHA nvim-macos-x86_64/* nvim-macos-arm64/* nvim-linux64/* appimage/* nvim-win64/* diff --git a/CMakeLists.txt b/CMakeLists.txt index c3b37cbb35..b56c71cb14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -307,7 +307,6 @@ ExternalProject_Add(uncrustify URL_HASH SHA256=ecaf4c0adca14c36dfffa30bc28e69865115ecd602c90eb16a8cddccb41caad2 DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/uncrustify CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} EXCLUDE_FROM_ALL TRUE DOWNLOAD_NO_PROGRESS TRUE) diff --git a/cmake.deps/cmake/BuildGettext.cmake b/cmake.deps/cmake/BuildGettext.cmake index c80a826f96..29127dc811 100644 --- a/cmake.deps/cmake/BuildGettext.cmake +++ b/cmake.deps/cmake/BuildGettext.cmake @@ -8,7 +8,6 @@ if(MSVC) CMAKE_ARGS ${DEPS_CMAKE_ARGS} -D LIBICONV_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include -D LIBICONV_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}libcharset${CMAKE_STATIC_LIBRARY_SUFFIX}$${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}libiconv${CMAKE_STATIC_LIBRARY_SUFFIX} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) else() message(FATAL_ERROR "Trying to build gettext in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") diff --git a/cmake.deps/cmake/BuildLibiconv.cmake b/cmake.deps/cmake/BuildLibiconv.cmake index 93dc251166..13126dc916 100644 --- a/cmake.deps/cmake/BuildLibiconv.cmake +++ b/cmake.deps/cmake/BuildLibiconv.cmake @@ -6,7 +6,6 @@ if(MSVC) ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibiconvCMakeLists.txt ${DEPS_BUILD_DIR}/src/libiconv/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) else() message(FATAL_ERROR "Trying to build libiconv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") diff --git a/cmake.deps/cmake/BuildLibuv.cmake b/cmake.deps/cmake/BuildLibuv.cmake index aacee9fd4a..6f241f63f6 100644 --- a/cmake.deps/cmake/BuildLibuv.cmake +++ b/cmake.deps/cmake/BuildLibuv.cmake @@ -6,5 +6,4 @@ ExternalProject_Add(libuv -D BUILD_TESTING=OFF -D LIBUV_BUILD_SHARED=OFF -D UV_LINT_W4=OFF - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildLibvterm.cmake b/cmake.deps/cmake/BuildLibvterm.cmake index a3b59d9374..3415d8debe 100644 --- a/cmake.deps/cmake/BuildLibvterm.cmake +++ b/cmake.deps/cmake/BuildLibvterm.cmake @@ -5,5 +5,4 @@ ExternalProject_Add(libvterm ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibvtermCMakeLists.txt ${DEPS_BUILD_DIR}/src/libvterm/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildLpeg.cmake b/cmake.deps/cmake/BuildLpeg.cmake index a8455a9976..2dd9d62968 100644 --- a/cmake.deps/cmake/BuildLpeg.cmake +++ b/cmake.deps/cmake/BuildLpeg.cmake @@ -5,7 +5,6 @@ ExternalProject_Add(lpeg ${CMAKE_CURRENT_SOURCE_DIR}/cmake/LpegCMakeLists.txt ${DEPS_BUILD_DIR}/src/lpeg/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} -DCMAKE_C_FLAGS=${DEPS_INCLUDE_FLAGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) if(USE_BUNDLED_LUAJIT) diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index c5068d6986..8182afcd7d 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -4,16 +4,13 @@ function(BuildLuajit) cmake_parse_arguments(_luajit "" - "TARGET" + "" "CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND;DEPENDS" ${ARGN}) - if(NOT _luajit_TARGET) - set(_luajit_TARGET "luajit") - endif() get_externalproject_options(luajit ${DEPS_IGNORE_SHA}) - ExternalProject_Add(${_luajit_TARGET} - DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/${_luajit_TARGET} + ExternalProject_Add(luajit + DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luajit CONFIGURE_COMMAND "${_luajit_CONFIGURE_COMMAND}" BUILD_IN_SOURCE 1 BUILD_COMMAND "${_luajit_BUILD_COMMAND}" @@ -47,49 +44,11 @@ if(APPLE) set(DEPLOYMENT_TARGET "MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}") endif() -if((UNIX AND NOT APPLE) OR (APPLE AND NOT CMAKE_OSX_ARCHITECTURES)) +if(UNIX) BuildLuaJit(INSTALL_COMMAND ${BUILDCMD_UNIX} CC=${DEPS_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} ${DEPLOYMENT_TARGET} install) -elseif(CMAKE_OSX_ARCHITECTURES AND APPLE) - - set(LUAJIT_C_COMPILER "${CMAKE_C_COMPILER}") - if(CMAKE_OSX_SYSROOT) - set(LUAJIT_C_COMPILER "${LUAJIT_C_COMPILER} -isysroot${CMAKE_OSX_SYSROOT}") - endif() - - # Passing multiple `-arch` flags to the LuaJIT build will cause it to fail. - # To get a working universal build, we build each requested architecture slice - # individually then `lipo` them all up. - set(LUAJIT_SRC_DIR "${DEPS_BUILD_DIR}/src/luajit") - foreach(ARCH IN LISTS CMAKE_OSX_ARCHITECTURES) - set(STATIC_CC "${LUAJIT_C_COMPILER} -arch ${ARCH}") - set(DYNAMIC_CC "${LUAJIT_C_COMPILER} -arch ${ARCH} -fPIC") - set(TARGET_LD "${LUAJIT_C_COMPILER} -arch ${ARCH}") - list(APPEND LUAJIT_THIN_EXECUTABLES "${LUAJIT_SRC_DIR}-${ARCH}/src/luajit") - list(APPEND LUAJIT_THIN_STATIC_LIBS "${LUAJIT_SRC_DIR}-${ARCH}/src/libluajit.a") - list(APPEND LUAJIT_THIN_DYLIBS "${LUAJIT_SRC_DIR}-${ARCH}/src/libluajit.so") - list(APPEND LUAJIT_THIN_TARGETS "luajit-${ARCH}") - - # See https://luajit.org/install.html#cross. - BuildLuaJit(TARGET "luajit-${ARCH}" - BUILD_COMMAND ${BUILDCMD_UNIX} - CC=${LUAJIT_C_COMPILER} STATIC_CC=${STATIC_CC} - DYNAMIC_CC=${DYNAMIC_CC} TARGET_LD=${TARGET_LD} - PREFIX=${DEPS_INSTALL_DIR} - ${DEPLOYMENT_TARGET}) - endforeach() - BuildLuaJit( - CONFIGURE_COMMAND ${BUILDCMD_UNIX} CC=${LUAJIT_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} ${DEPLOYMENT_TARGET} - COMMAND ${CMAKE_COMMAND} -E rm -f ${LUAJIT_SRC_DIR}/src/luajit ${LUAJIT_SRC_DIR}/src/libluajit.so ${LUAJIT_SRC_DIR}/src/libluajit.a - BUILD_COMMAND lipo ${LUAJIT_THIN_EXECUTABLES} -create -output ${LUAJIT_SRC_DIR}/src/luajit - COMMAND lipo ${LUAJIT_THIN_STATIC_LIBS} -create -output ${LUAJIT_SRC_DIR}/src/libluajit.a - COMMAND lipo ${LUAJIT_THIN_DYLIBS} -create -output ${LUAJIT_SRC_DIR}/src/libluajit.so - INSTALL_COMMAND ${BUILDCMD_UNIX} CC=${LUAJIT_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} ${DEPLOYMENT_TARGET} install - DEPENDS ${LUAJIT_THIN_TARGETS} - ) - elseif(MINGW) if(CMAKE_GENERATOR MATCHES "Ninja") diff --git a/cmake.deps/cmake/BuildLuv.cmake b/cmake.deps/cmake/BuildLuv.cmake index beadf028ee..2e07f9e337 100644 --- a/cmake.deps/cmake/BuildLuv.cmake +++ b/cmake.deps/cmake/BuildLuv.cmake @@ -31,7 +31,6 @@ ExternalProject_Add(luv DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luv SOURCE_DIR ${DEPS_BUILD_DIR}/src/luv CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LUV_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) if(USE_BUNDLED_LUAJIT) diff --git a/cmake.deps/cmake/BuildMsgpack.cmake b/cmake.deps/cmake/BuildMsgpack.cmake index 190a37bbc6..8f82dab140 100644 --- a/cmake.deps/cmake/BuildMsgpack.cmake +++ b/cmake.deps/cmake/BuildMsgpack.cmake @@ -4,5 +4,4 @@ ExternalProject_Add(msgpack CMAKE_ARGS ${DEPS_CMAKE_ARGS} -D MSGPACK_BUILD_TESTS=OFF -D MSGPACK_BUILD_EXAMPLES=OFF - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildTreesitter.cmake b/cmake.deps/cmake/BuildTreesitter.cmake index 6757185425..7eb98163b9 100644 --- a/cmake.deps/cmake/BuildTreesitter.cmake +++ b/cmake.deps/cmake/BuildTreesitter.cmake @@ -5,5 +5,4 @@ ExternalProject_Add(treesitter ${CMAKE_CURRENT_SOURCE_DIR}/cmake/TreesitterCMakeLists.txt ${DEPS_BUILD_DIR}/src/treesitter/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.deps/cmake/BuildTreesitterParsers.cmake b/cmake.deps/cmake/BuildTreesitterParsers.cmake index 892e5928a5..837d075d20 100644 --- a/cmake.deps/cmake/BuildTreesitterParsers.cmake +++ b/cmake.deps/cmake/BuildTreesitterParsers.cmake @@ -25,7 +25,6 @@ function(BuildTSParser) ${DEPS_BUILD_DIR}/src/${NAME}/CMakeLists.txt CMAKE_ARGS ${DEPS_CMAKE_ARGS} -D PARSERLANG=${TS_LANG} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) endfunction() diff --git a/cmake.deps/cmake/BuildUnibilium.cmake b/cmake.deps/cmake/BuildUnibilium.cmake index bb9c8f183b..7ce4b5fbf2 100644 --- a/cmake.deps/cmake/BuildUnibilium.cmake +++ b/cmake.deps/cmake/BuildUnibilium.cmake @@ -2,5 +2,4 @@ get_externalproject_options(unibilium ${DEPS_IGNORE_SHA}) ExternalProject_Add(unibilium DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/unibilium CMAKE_ARGS ${DEPS_CMAKE_ARGS} - CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS} ${EXTERNALPROJECT_OPTIONS}) diff --git a/cmake.packaging/CMakeLists.txt b/cmake.packaging/CMakeLists.txt index fa815da7f9..645215ec92 100644 --- a/cmake.packaging/CMakeLists.txt +++ b/cmake.packaging/CMakeLists.txt @@ -44,7 +44,7 @@ if(WIN32) list(APPEND CPACK_WIX_EXTENSIONS WixUtilExtension) list(APPEND CPACK_WIX_PATCH_FILE ${CMAKE_CURRENT_LIST_DIR}/WixPatch.xml) elseif(APPLE) - set(CPACK_PACKAGE_FILE_NAME "nvim-macos") + set(CPACK_PACKAGE_FILE_NAME "nvim-macos-${CMAKE_SYSTEM_PROCESSOR}") set(CPACK_GENERATOR TGZ) set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_LIST_DIR}/neovim.icns) elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") diff --git a/cmake/Deps.cmake b/cmake/Deps.cmake index 2e9a78ee22..7a098415d7 100644 --- a/cmake/Deps.cmake +++ b/cmake/Deps.cmake @@ -18,8 +18,6 @@ if(APPLE) list(APPEND DEPS_CMAKE_ARGS -D CMAKE_FIND_FRAMEWORK=${CMAKE_FIND_FRAMEWORK}) endif() -set(DEPS_CMAKE_CACHE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}) - # MAKE_PRG if(UNIX) find_program(MAKE_PRG NAMES gmake make) @@ -48,11 +46,6 @@ set(DEPS_C_COMPILER "${CMAKE_C_COMPILER}") if(CMAKE_OSX_SYSROOT) set(DEPS_C_COMPILER "${DEPS_C_COMPILER} -isysroot${CMAKE_OSX_SYSROOT}") endif() -if(CMAKE_OSX_ARCHITECTURES) - foreach(ARCH IN LISTS CMAKE_OSX_ARCHITECTURES) - set(DEPS_C_COMPILER "${DEPS_C_COMPILER} -arch ${ARCH}") - endforeach() -endif() function(get_externalproject_options name DEPS_IGNORE_SHA) string(TOUPPER ${name} name_allcaps)