mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
build(macos): use consistent MACOSX_DEPLOYMENT_TARGET (#19430)
Use the same logic for both deps (including LuaJIT, for which setting this variable is mandatory) and Nvim: either the eponymous environment variable if set, or the current software version if not. Removes annoying warnings when building locally on macOS.
This commit is contained in:
parent
871ff8d62f
commit
9e15bdde3b
@ -89,6 +89,16 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|||||||
# them be included as one of the first places to look for dependencies.
|
# them be included as one of the first places to look for dependencies.
|
||||||
list(APPEND CMAKE_PREFIX_PATH /sw /opt/local)
|
list(APPEND CMAKE_PREFIX_PATH /sw /opt/local)
|
||||||
|
|
||||||
|
# If the macOS deployment target is not set manually (via $MACOSX_DEPLOYMENT_TARGET),
|
||||||
|
# fall back to local system version. Needs to be done both here and in cmake.deps.
|
||||||
|
if(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
|
execute_process(COMMAND sw_vers -productVersion
|
||||||
|
OUTPUT_VARIABLE MACOS_VERSION
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "${MACOS_VERSION}")
|
||||||
|
endif()
|
||||||
|
message("Using deployment target ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
|
|
||||||
# Work around some old, broken detection by CMake for knowing when to use the
|
# Work around some old, broken detection by CMake for knowing when to use the
|
||||||
# isystem flag. Apple's compilers have supported this for quite some time
|
# isystem flag. Apple's compilers have supported this for quite some time
|
||||||
# now.
|
# now.
|
||||||
|
@ -132,6 +132,18 @@ if(CMAKE_OSX_ARCHITECTURES)
|
|||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
# If the macOS deployment target is not set manually (via $MACOSX_DEPLOYMENT_TARGET),
|
||||||
|
# fall back to local system version. Needs to be done here and in top-level CMakeLists.txt.
|
||||||
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
|
if(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
|
execute_process(COMMAND sw_vers -productVersion
|
||||||
|
OUTPUT_VARIABLE MACOS_VERSION
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "${MACOS_VERSION}")
|
||||||
|
endif()
|
||||||
|
message("-- Using deployment target ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
|
endif()
|
||||||
|
|
||||||
set(HOSTDEPS_INSTALL_DIR "${DEPS_INSTALL_DIR}")
|
set(HOSTDEPS_INSTALL_DIR "${DEPS_INSTALL_DIR}")
|
||||||
set(HOSTDEPS_BIN_DIR "${DEPS_BIN_DIR}")
|
set(HOSTDEPS_BIN_DIR "${DEPS_BIN_DIR}")
|
||||||
set(HOSTDEPS_LIB_DIR "${DEPS_LIB_DIR}")
|
set(HOSTDEPS_LIB_DIR "${DEPS_LIB_DIR}")
|
||||||
|
@ -60,17 +60,10 @@ set(BUILDCMD_UNIX ${MAKE_PRG} CFLAGS=-fPIC
|
|||||||
CCDEBUG+=-g
|
CCDEBUG+=-g
|
||||||
Q=)
|
Q=)
|
||||||
|
|
||||||
|
# Setting MACOSX_DEPLOYMENT_TARGET is mandatory for LuaJIT; use version set by
|
||||||
|
# cmake.deps/CMakeLists.txt (either environment variable or current system version).
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
if(CMAKE_OSX_DEPLOYMENT_TARGET)
|
set(DEPLOYMENT_TARGET "MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
set(DEPLOYMENT_TARGET "MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
|
||||||
else()
|
|
||||||
execute_process(COMMAND sw_vers -productVersion
|
|
||||||
OUTPUT_VARIABLE MACOS_VERSION
|
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
||||||
set(DEPLOYMENT_TARGET "MACOSX_DEPLOYMENT_TARGET=${MACOS_VERSION}")
|
|
||||||
endif()
|
|
||||||
else()
|
|
||||||
set(DEPLOYMENT_TARGET "")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if((UNIX AND NOT APPLE) OR (APPLE AND NOT CMAKE_OSX_ARCHITECTURES))
|
if((UNIX AND NOT APPLE) OR (APPLE AND NOT CMAKE_OSX_ARCHITECTURES))
|
||||||
|
Loading…
Reference in New Issue
Block a user