From 913588466dc981d5c1295f1a98e4de5e63b86a37 Mon Sep 17 00:00:00 2001 From: dm1try Date: Tue, 16 Oct 2018 03:35:15 +0300 Subject: [PATCH 1/2] build/macOS: fix luajit install step prevent luajit to assigning default value to MACOSX_DEPLOYMENT_TARGET ref #9050 --- third-party/cmake/BuildLuajit.cmake | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/third-party/cmake/BuildLuajit.cmake b/third-party/cmake/BuildLuajit.cmake index 721bca9f63..e965927f4e 100644 --- a/third-party/cmake/BuildLuajit.cmake +++ b/third-party/cmake/BuildLuajit.cmake @@ -50,8 +50,17 @@ set(INSTALLCMD_UNIX ${MAKE_PRG} CFLAGS=-fPIC install) if(UNIX) + if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") + # Set MACOSX_DEPLOYMENT_TARGET (else luajit defaults to 10.4). #9050 + # https://github.com/LuaJIT/LuaJIT/blob/b025b01c5b9d23f6218c7d72b7aafa3f1ab1e08a/src/Makefile#L301-L303 + set(DEPLOYMENT_TARGET "MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}") + else() + set(DEPLOYMENT_TARGET "") + endif() + BuildLuaJit(INSTALL_COMMAND ${INSTALLCMD_UNIX} - CC=${DEPS_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR}) + CC=${DEPS_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} + ${DEPLOYMENT_TARGET}) elseif(MINGW AND CMAKE_CROSSCOMPILING) From 31f63c8d55fdd1108d391b35e4e95ad67492ff34 Mon Sep 17 00:00:00 2001 From: dm1try Date: Tue, 16 Oct 2018 03:52:04 +0300 Subject: [PATCH 2/2] build/macOS: provide SDK path to deps compiler otherwise, system headers cannot be found on Mojave they were moved from /usr/include to SDK path --- third-party/CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt index 4ca00b26cd..2c59d79c55 100644 --- a/third-party/CMakeLists.txt +++ b/third-party/CMakeLists.txt @@ -98,6 +98,10 @@ else() set(DEPS_C_COMPILER "${CMAKE_C_COMPILER}") endif() +if(CMAKE_OSX_SYSROOT) + set(DEPS_C_COMPILER "${DEPS_C_COMPILER} -isysroot${CMAKE_OSX_SYSROOT}") +endif() + # Cross compiling: use these for dependencies built for the # HOST system, when not crosscompiling these should be the # same as DEPS_*. Except when targeting Unix in which case