From 4bc1a16d36dbb46fac922f02dfa22c367b15eab1 Mon Sep 17 00:00:00 2001 From: fgsfds Date: Thu, 21 Nov 2024 19:31:14 +0100 Subject: [PATCH] build: osx: set RPATH to executable path --- .github/workflows/c-cpp.yml | 12 ++++++------ CMakeLists.txt | 6 ++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 57e2021d2..0b7e6de0b 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -164,15 +164,15 @@ jobs: uses: actions/checkout@v4 - name: Build pd.x86_64 run: | - cmake -G"Unix Makefiles" -Bbuild -DCMAKE_MACOSX_RPATH=ON -DCMAKE_OSX_ARCHITECTURES=x86_64 . + cmake -G"Unix Makefiles" -Bbuild -DCMAKE_OSX_ARCHITECTURES=x86_64 . cmake --build build --target pd -j4 --clean-first - name: Build pd.pal.x86_64 run: | - cmake -G"Unix Makefiles" -Bbuild_pal -DCMAKE_MACOSX_RPATH=ON -DCMAKE_OSX_ARCHITECTURES=x86_64 -DROMID=pal-final . + cmake -G"Unix Makefiles" -Bbuild_pal -DCMAKE_OSX_ARCHITECTURES=x86_64 -DROMID=pal-final . cmake --build build_pal --target pd -j4 --clean-first - name: Build pd.jpn.x86_64 run: | - cmake -G"Unix Makefiles" -Bbuild_jpn -DCMAKE_MACOSX_RPATH=ON -DCMAKE_OSX_ARCHITECTURES=x86_64 -DROMID=jpn-final . + cmake -G"Unix Makefiles" -Bbuild_jpn -DCMAKE_OSX_ARCHITECTURES=x86_64 -DROMID=jpn-final . cmake --build build_jpn --target pd -j4 --clean-first - name: Prepare artifact for packaging run: | @@ -202,15 +202,15 @@ jobs: uses: actions/checkout@v4 - name: Build pd.arm64 run: | - cmake -G"Unix Makefiles" -Bbuild -DCMAKE_MACOSX_RPATH=ON -DCMAKE_OSX_ARCHITECTURES=arm64 . + cmake -G"Unix Makefiles" -Bbuild -DCMAKE_OSX_ARCHITECTURES=arm64 . cmake --build build --target pd -j4 --clean-first - name: Build pd.pal.arm64 run: | - cmake -G"Unix Makefiles" -Bbuild_pal -DCMAKE_MACOSX_RPATH=ON -DCMAKE_OSX_ARCHITECTURES=arm64 -DROMID=pal-final . + cmake -G"Unix Makefiles" -Bbuild_pal -DCMAKE_OSX_ARCHITECTURES=arm64 -DROMID=pal-final . cmake --build build_pal --target pd -j4 --clean-first - name: Build pd.jpn.arm64 run: | - cmake -G"Unix Makefiles" -Bbuild_jpn -DCMAKE_MACOSX_RPATH=ON -DCMAKE_OSX_ARCHITECTURES=arm64 -DROMID=jpn-final . + cmake -G"Unix Makefiles" -Bbuild_jpn -DCMAKE_OSX_ARCHITECTURES=arm64 -DROMID=jpn-final . cmake --build build_jpn --target pd -j4 --clean-first - name: Prepare artifact for packaging run: | diff --git a/CMakeLists.txt b/CMakeLists.txt index 528460e65..184f937b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -186,6 +186,12 @@ add_compile_options($<$:-Wno-pointer-sign>) # C++ specific flags add_compile_options($<$:-Wno-unused-function>) +# Platform-specific flags +if (APPLE) + # Make it look for libs in the executable folder manually since CMake's rpath system is wack + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -rpath @executable_path") +endif() + # Dependencies set(LIBS )