mirror of
https://github.com/neovim/neovim.git
synced 2024-12-19 18:55:14 -07:00
a1c2da56ec
This reverts a large portion of
2c1e8f7e96
.
The conclusion from that commit is incorrect: local builds are not
used/updated correctly so much as it's not used at all. Instead the
build will always use `master` branch rather than the current files.
64 lines
1.9 KiB
CMake
64 lines
1.9 KiB
CMake
set(DEPS_INSTALL_DIR "${CMAKE_BINARY_DIR}/usr")
|
|
set(DEPS_BIN_DIR "${DEPS_INSTALL_DIR}/bin")
|
|
set(DEPS_LIB_DIR "${DEPS_INSTALL_DIR}/lib")
|
|
set(DEPS_SHARE_DIR "${DEPS_INSTALL_DIR}/share/lua/5.1")
|
|
|
|
set(DEPS_BUILD_DIR "${CMAKE_BINARY_DIR}/build")
|
|
set(DEPS_DOWNLOAD_DIR "${DEPS_BUILD_DIR}/downloads")
|
|
|
|
set(DEPS_CMAKE_ARGS
|
|
-D CMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
|
-D CMAKE_C_STANDARD=99
|
|
-D CMAKE_GENERATOR=${CMAKE_GENERATOR}
|
|
-D CMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
|
-D BUILD_SHARED_LIBS=OFF
|
|
-D CMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
-D CMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR})
|
|
if(APPLE)
|
|
list(APPEND DEPS_CMAKE_ARGS -D CMAKE_FIND_FRAMEWORK=${CMAKE_FIND_FRAMEWORK})
|
|
endif()
|
|
|
|
# MAKE_PRG
|
|
if(UNIX)
|
|
find_program(MAKE_PRG NAMES gmake make)
|
|
if(NOT MAKE_PRG)
|
|
message(FATAL_ERROR "GNU Make is required to build the dependencies.")
|
|
else()
|
|
message(STATUS "Found GNU Make at ${MAKE_PRG}")
|
|
endif()
|
|
endif()
|
|
# When using make, use the $(MAKE) variable to avoid warning about the job
|
|
# server.
|
|
if(CMAKE_GENERATOR MATCHES "Makefiles")
|
|
set(MAKE_PRG "$(MAKE)")
|
|
endif()
|
|
if(MINGW AND CMAKE_GENERATOR MATCHES "Ninja")
|
|
find_program(MAKE_PRG NAMES mingw32-make)
|
|
if(NOT MAKE_PRG)
|
|
message(FATAL_ERROR "GNU Make for mingw32 is required to build the dependencies.")
|
|
else()
|
|
message(STATUS "Found GNU Make for mingw32: ${MAKE_PRG}")
|
|
endif()
|
|
endif()
|
|
|
|
# DEPS_C_COMPILER
|
|
set(DEPS_C_COMPILER "${CMAKE_C_COMPILER}")
|
|
if(CMAKE_OSX_SYSROOT)
|
|
set(DEPS_C_COMPILER "${DEPS_C_COMPILER} -isysroot${CMAKE_OSX_SYSROOT}")
|
|
endif()
|
|
|
|
function(get_externalproject_options name DEPS_IGNORE_SHA)
|
|
string(TOUPPER ${name} name_allcaps)
|
|
set(url ${${name_allcaps}_URL})
|
|
|
|
set(EXTERNALPROJECT_OPTIONS
|
|
DOWNLOAD_NO_PROGRESS TRUE
|
|
EXTERNALPROJECT_OPTIONS URL ${${name_allcaps}_URL})
|
|
|
|
if(NOT ${DEPS_IGNORE_SHA})
|
|
list(APPEND EXTERNALPROJECT_OPTIONS URL_HASH SHA256=${${name_allcaps}_SHA256})
|
|
endif()
|
|
|
|
set(EXTERNALPROJECT_OPTIONS ${EXTERNALPROJECT_OPTIONS} PARENT_SCOPE)
|
|
endfunction()
|