From 5d387c338828d176f335f2a9cec8882ecc4ba954 Mon Sep 17 00:00:00 2001 From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Date: Mon, 10 Apr 2023 02:31:13 +0800 Subject: [PATCH] build(ci): ensure correct headers are used on macOS Currently, the release build picks up headers in `/Library/Frameworks/Mono.framework/Headers`. You can verify this by downloading the latest nightly build and checking the output of `nvim --version`. These headers are likely to be from a different version of `libintl` than the one we link to. Let's avoid usage of them by setting `CMAKE_FIND_FRAMEWORK` to `NEVER`. --- .github/scripts/build_universal_macos.sh | 12 ++++++++++-- .github/workflows/test.yml | 2 ++ cmake.deps/CMakeLists.txt | 3 ++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/.github/scripts/build_universal_macos.sh b/.github/scripts/build_universal_macos.sh index 392eec62ac..4dfe0d0cf8 100755 --- a/.github/scripts/build_universal_macos.sh +++ b/.github/scripts/build_universal_macos.sh @@ -23,9 +23,17 @@ echo "Build release" cd "$GITHUB_WORKSPACE" MACOSX_DEPLOYMENT_TARGET="$(sw_vers -productVersion | cut -f1 -d.)" export MACOSX_DEPLOYMENT_TARGET -cmake -S cmake.deps -B .deps -G Ninja -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 +cmake -S cmake.deps -B .deps -G Ninja \ + -D CMAKE_BUILD_TYPE=${NVIM_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=${NVIM_BUILD_TYPE} -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 +cmake -B build -G Ninja \ + -D CMAKE_BUILD_TYPE=${NVIM_BUILD_TYPE} \ + -D CMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \ + -D CMAKE_OSX_ARCHITECTURES=arm64\;x86_64 \ + -D CMAKE_FIND_FRAMEWORK=NEVER cmake --build build cmake --install build --prefix build/release/nvim-macos cd build diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 86561e468b..8215a79b35 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -143,6 +143,8 @@ jobs: flags: -D UNSIGNED_CHAR=ON - cc: clang runner: macos-12 + flags: -D CMAKE_FIND_FRAMEWORK=NEVER + deps_flags: -D CMAKE_FIND_FRAMEWORK=NEVER # functionaltest-lua is our dumping ground for non-mainline configurations. # 1. Check that the tests pass with PUC Lua instead of LuaJIT. diff --git a/cmake.deps/CMakeLists.txt b/cmake.deps/CMakeLists.txt index e9314ffe02..5ac34cbf26 100644 --- a/cmake.deps/CMakeLists.txt +++ b/cmake.deps/CMakeLists.txt @@ -17,7 +17,8 @@ set(DEPS_CMAKE_ARGS -D CMAKE_C_STANDARD=99 -D CMAKE_GENERATOR=${CMAKE_GENERATOR} -D CMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM} - -D CMAKE_POSITION_INDEPENDENT_CODE=ON) + -D CMAKE_POSITION_INDEPENDENT_CODE=ON + -D CMAKE_FIND_FRAMEWORK=${CMAKE_FIND_FRAMEWORK}) set(DEPS_CMAKE_CACHE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES})