]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
build: Fix Xcode build of zstd (#1296)
authorGregor Jasny <gjasny@googlemail.com>
Wed, 7 Jun 2023 19:11:07 +0000 (21:11 +0200)
committerGitHub <noreply@github.com>
Wed, 7 Jun 2023 19:11:07 +0000 (21:11 +0200)
Reproducer (CMake 3.26.4, Xcode 14.3):

    cmake -B _build -GXcode -DCMAKE_OSX_ARCHITECTURES=x86_64 \
          -DZSTD_FROM_INTERNET=ON -DREDIS_STORAGE_BACKEND=OFF
    cmake --build _build

See facebook/zstd#3622

cmake/Findzstd.cmake

index dd18b772242b5fd01827e983da980b763cbb4929..14aeda5c26207a14a18ac638fc6a9a16487a240c 100644 (file)
@@ -57,6 +57,11 @@ if(do_download)
   set(zstd_dir   ${CMAKE_BINARY_DIR}/zstd-${zstd_version})
   set(zstd_build ${CMAKE_BINARY_DIR}/zstd-build)
 
+  if(XCODE)
+    # See https://github.com/facebook/zstd/pull/3665
+    set(zstd_patch PATCH_COMMAND sed -i .bak -e s/^set_source_files_properties.*PROPERTIES.*LANGUAGE.*C/\#&/ build/cmake/lib/CMakeLists.txt)
+  endif()
+
   include(FetchContent)
   FetchContent_Declare(
     zstd
@@ -64,6 +69,7 @@ if(do_download)
     URL_HASH SHA256=9c4396cc829cfae319a6e2615202e82aad41372073482fce286fac78646d3ee4
     SOURCE_DIR ${zstd_dir}
     BINARY_DIR ${zstd_build}
+    ${zstd_patch}
   )
 
   FetchContent_GetProperties(zstd)