mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge pull request #19958 from dundargoc/build/cmake/cleanup
build: remove ARGS from add_custom_command It's a command that doesn't do anything, kept only for compatibility reasons. build: remove unnecessary policy related code Having cmake version 3.10 as the required minimum version ensures these are set to new by default. build: replace deprecated CMAKE_COMPILER_IS_GNUCC variable Instead use the recommended form CMAKE_C_COMPILER_ID MATCHES "GNU" build: remove unnecessary build functions These functions serve no purpose if they're only used as intermediary functions that passes on arguments to ExternalProject_Add.
This commit is contained in:
commit
bb35422659
@ -6,12 +6,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.10)
|
cmake_minimum_required(VERSION 3.10)
|
||||||
project(nvim C)
|
project(nvim C)
|
||||||
|
|
||||||
if(POLICY CMP0065)
|
|
||||||
cmake_policy(SET CMP0065 NEW)
|
|
||||||
endif()
|
|
||||||
if(POLICY CMP0060)
|
|
||||||
cmake_policy(SET CMP0060 NEW)
|
|
||||||
endif()
|
|
||||||
if(POLICY CMP0075)
|
if(POLICY CMP0075)
|
||||||
cmake_policy(SET CMP0075 NEW)
|
cmake_policy(SET CMP0075 NEW)
|
||||||
endif()
|
endif()
|
||||||
@ -102,7 +96,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|||||||
# 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.
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
|
||||||
set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ")
|
set(CMAKE_INCLUDE_SYSTEM_FLAG_C "-isystem ")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
@ -176,7 +170,7 @@ if(CMAKE_C_FLAGS_RELEASE MATCHES "-O3")
|
|||||||
string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
string(REPLACE "-O3" "-O2" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_C_COMPILER_ID MATCHES "GNU")
|
||||||
check_c_compiler_flag(-Og HAS_OG_FLAG)
|
check_c_compiler_flag(-Og HAS_OG_FLAG)
|
||||||
else()
|
else()
|
||||||
set(HAS_OG_FLAG 0)
|
set(HAS_OG_FLAG 0)
|
||||||
|
@ -1,17 +1,5 @@
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
ExternalProject_Add(libtermkey
|
set(LIBTERMKEY_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
|
||||||
URL ${LIBTERMKEY_URL}
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libtermkey
|
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libtermkey
|
|
||||||
-DURL=${LIBTERMKEY_URL}
|
|
||||||
-DEXPECTED_SHA256=${LIBTERMKEY_SHA256}
|
|
||||||
-DTARGET=libtermkey
|
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
|
||||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/libtermkeyCMakeLists.txt
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/libtermkeyCMakeLists.txt
|
||||||
${DEPS_BUILD_DIR}/src/libtermkey/CMakeLists.txt
|
${DEPS_BUILD_DIR}/src/libtermkey/CMakeLists.txt
|
||||||
COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/libtermkey
|
COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/libtermkey
|
||||||
@ -24,12 +12,18 @@ ExternalProject_Add(libtermkey
|
|||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||||
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
||||||
-DUNIBILIUM_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include
|
-DUNIBILIUM_INCLUDE_DIRS=${DEPS_INSTALL_DIR}/include
|
||||||
-DUNIBILIUM_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX}
|
-DUNIBILIUM_LIBRARIES=${DEPS_LIB_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}unibilium${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
|
set(LIBTERMKEY_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>)
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
set(LIBTERMKEY_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
||||||
else()
|
else()
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
|
|
||||||
|
set(LIBTERMKEY_BUILD_COMMAND "" BUILD_IN_SOURCE 1)
|
||||||
|
set(LIBTERMKEY_INSTALL_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER}
|
||||||
|
PREFIX=${DEPS_INSTALL_DIR} PKG_CONFIG_PATH=${DEPS_LIB_DIR}/pkgconfig
|
||||||
|
CFLAGS=-fPIC LDFLAGS+=-static ${DEFAULT_MAKE_CFLAGS} install)
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(libtermkey
|
ExternalProject_Add(libtermkey
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
URL ${LIBTERMKEY_URL}
|
URL ${LIBTERMKEY_URL}
|
||||||
@ -42,16 +36,8 @@ ExternalProject_Add(libtermkey
|
|||||||
-DTARGET=libtermkey
|
-DTARGET=libtermkey
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND "${LIBTERMKEY_CONFIGURE_COMMAND}"
|
||||||
BUILD_IN_SOURCE 1
|
BUILD_COMMAND "${LIBTERMKEY_BUILD_COMMAND}"
|
||||||
BUILD_COMMAND ""
|
INSTALL_COMMAND "${LIBTERMKEY_INSTALL_COMMAND}")
|
||||||
INSTALL_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER}
|
|
||||||
PREFIX=${DEPS_INSTALL_DIR}
|
|
||||||
PKG_CONFIG_PATH=${DEPS_LIB_DIR}/pkgconfig
|
|
||||||
CFLAGS=-fPIC
|
|
||||||
LDFLAGS+=-static
|
|
||||||
${DEFAULT_MAKE_CFLAGS}
|
|
||||||
install)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS libtermkey)
|
list(APPEND THIRD_PARTY_DEPS libtermkey)
|
||||||
|
@ -1,36 +1,3 @@
|
|||||||
# BuildLibvterm(CONFIGURE_COMMAND ... BUILD_COMMAND ... INSTALL_COMMAND ...)
|
|
||||||
# Failing to pass a command argument will result in no command being run
|
|
||||||
function(BuildLibvterm)
|
|
||||||
cmake_parse_arguments(_libvterm
|
|
||||||
""
|
|
||||||
""
|
|
||||||
"PATCH_COMMAND;CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
|
|
||||||
${ARGN})
|
|
||||||
|
|
||||||
if(NOT _libvterm_CONFIGURE_COMMAND AND NOT _libvterm_BUILD_COMMAND
|
|
||||||
AND NOT _libvterm_INSTALL_COMMAND)
|
|
||||||
message(FATAL_ERROR "Must pass at least one of CONFIGURE_COMMAND, BUILD_COMMAND, INSTALL_COMMAND")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(libvterm
|
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
|
||||||
URL ${LIBVTERM_URL}
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libvterm
|
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libvterm
|
|
||||||
-DURL=${LIBVTERM_URL}
|
|
||||||
-DEXPECTED_SHA256=${LIBVTERM_SHA256}
|
|
||||||
-DTARGET=libvterm
|
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
|
||||||
PATCH_COMMAND "${_libvterm_PATCH_COMMAND}"
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND "${_libvterm_CONFIGURE_COMMAND}"
|
|
||||||
BUILD_COMMAND "${_libvterm_BUILD_COMMAND}"
|
|
||||||
INSTALL_COMMAND "${_libvterm_INSTALL_COMMAND}")
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(LIBVTERM_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
set(LIBVTERM_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibvtermCMakeLists.txt
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibvtermCMakeLists.txt
|
||||||
@ -59,9 +26,21 @@ else()
|
|||||||
install)
|
install)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
BuildLibvterm(PATCH_COMMAND ${LIBVTERM_PATCH_COMMAND}
|
ExternalProject_Add(libvterm
|
||||||
CONFIGURE_COMMAND ${LIBVTERM_CONFIGURE_COMMAND}
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
BUILD_COMMAND ${LIBVTERM_BUILD_COMMAND}
|
URL ${LIBVTERM_URL}
|
||||||
INSTALL_COMMAND ${LIBVTERM_INSTALL_COMMAND})
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libvterm
|
||||||
|
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
||||||
|
-DPREFIX=${DEPS_BUILD_DIR}
|
||||||
|
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libvterm
|
||||||
|
-DURL=${LIBVTERM_URL}
|
||||||
|
-DEXPECTED_SHA256=${LIBVTERM_SHA256}
|
||||||
|
-DTARGET=libvterm
|
||||||
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
|
BUILD_IN_SOURCE 1
|
||||||
|
CONFIGURE_COMMAND "${LIBVTERM_CONFIGURE_COMMAND}"
|
||||||
|
BUILD_COMMAND "${LIBVTERM_BUILD_COMMAND}"
|
||||||
|
INSTALL_COMMAND "${LIBVTERM_INSTALL_COMMAND}")
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS libvterm)
|
list(APPEND THIRD_PARTY_DEPS libvterm)
|
||||||
|
@ -1,36 +1,3 @@
|
|||||||
# BuildLua(CONFIGURE_COMMAND ... BUILD_COMMAND ... INSTALL_COMMAND ...)
|
|
||||||
# Reusable function to build lua, wraps ExternalProject_Add.
|
|
||||||
# Failing to pass a command argument will result in no command being run
|
|
||||||
function(BuildLua)
|
|
||||||
cmake_parse_arguments(_lua
|
|
||||||
""
|
|
||||||
""
|
|
||||||
"CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
|
|
||||||
${ARGN})
|
|
||||||
|
|
||||||
if(NOT _lua_CONFIGURE_COMMAND AND NOT _lua_BUILD_COMMAND
|
|
||||||
AND NOT _lua_INSTALL_COMMAND)
|
|
||||||
message(FATAL_ERROR "Must pass at least one of CONFIGURE_COMMAND, BUILD_COMMAND, INSTALL_COMMAND")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(lua
|
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
|
||||||
URL ${LUA_URL}
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua
|
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/lua
|
|
||||||
-DURL=${LUA_URL}
|
|
||||||
-DEXPECTED_SHA256=${LUA_SHA256}
|
|
||||||
-DTARGET=lua
|
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
|
||||||
CONFIGURE_COMMAND "${_lua_CONFIGURE_COMMAND}"
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
BUILD_COMMAND "${_lua_BUILD_COMMAND}"
|
|
||||||
INSTALL_COMMAND "${_lua_INSTALL_COMMAND}")
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set(LUA_TARGET linux)
|
set(LUA_TARGET linux)
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||||
@ -72,16 +39,26 @@ set(LUA_CONFIGURE_COMMAND
|
|||||||
-e "s@\\(#define LUA_ROOT[ ]*\"\\)/usr/local@\\1${DEPS_INSTALL_DIR}@"
|
-e "s@\\(#define LUA_ROOT[ ]*\"\\)/usr/local@\\1${DEPS_INSTALL_DIR}@"
|
||||||
-i ${DEPS_BUILD_DIR}/src/lua/src/luaconf.h)
|
-i ${DEPS_BUILD_DIR}/src/lua/src/luaconf.h)
|
||||||
set(LUA_INSTALL_TOP_ARG "INSTALL_TOP=${DEPS_INSTALL_DIR}")
|
set(LUA_INSTALL_TOP_ARG "INSTALL_TOP=${DEPS_INSTALL_DIR}")
|
||||||
set(LUA_BUILD_COMMAND
|
|
||||||
${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET})
|
|
||||||
set(LUA_INSTALL_COMMAND
|
|
||||||
${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install)
|
|
||||||
|
|
||||||
message(STATUS "Lua target is ${LUA_TARGET}")
|
message(STATUS "Lua target is ${LUA_TARGET}")
|
||||||
|
|
||||||
BuildLua(CONFIGURE_COMMAND ${LUA_CONFIGURE_COMMAND}
|
ExternalProject_Add(lua
|
||||||
BUILD_COMMAND ${LUA_BUILD_COMMAND}
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
INSTALL_COMMAND ${LUA_INSTALL_COMMAND})
|
URL ${LUA_URL}
|
||||||
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua
|
||||||
|
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
||||||
|
-DPREFIX=${DEPS_BUILD_DIR}
|
||||||
|
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/lua
|
||||||
|
-DURL=${LUA_URL}
|
||||||
|
-DEXPECTED_SHA256=${LUA_SHA256}
|
||||||
|
-DTARGET=lua
|
||||||
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
|
CONFIGURE_COMMAND "${LUA_CONFIGURE_COMMAND}"
|
||||||
|
BUILD_IN_SOURCE 1
|
||||||
|
BUILD_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET}
|
||||||
|
INSTALL_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install)
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS lua)
|
list(APPEND THIRD_PARTY_DEPS lua)
|
||||||
|
|
||||||
set(BUSTED ${DEPS_INSTALL_DIR}/bin/busted)
|
set(BUSTED ${DEPS_INSTALL_DIR}/bin/busted)
|
||||||
|
@ -9,39 +9,6 @@
|
|||||||
|
|
||||||
option(USE_BUNDLED_BUSTED "Use the bundled version of busted to run tests." ON)
|
option(USE_BUNDLED_BUSTED "Use the bundled version of busted to run tests." ON)
|
||||||
|
|
||||||
# BuildLuarocks(CONFIGURE_COMMAND ... BUILD_COMMAND ... INSTALL_COMMAND ...)
|
|
||||||
# Reusable function to build luarocks, wraps ExternalProject_Add.
|
|
||||||
# Failing to pass a command argument will result in no command being run
|
|
||||||
function(BuildLuarocks)
|
|
||||||
cmake_parse_arguments(_luarocks
|
|
||||||
""
|
|
||||||
""
|
|
||||||
"CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
|
|
||||||
${ARGN})
|
|
||||||
|
|
||||||
if(NOT _luarocks_CONFIGURE_COMMAND AND NOT _luarocks_BUILD_COMMAND
|
|
||||||
AND NOT _luarocks_INSTALL_COMMAND)
|
|
||||||
message(FATAL_ERROR "Must pass at least one of CONFIGURE_COMMAND, BUILD_COMMAND, INSTALL_COMMAND")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(luarocks
|
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
|
||||||
URL ${LUAROCKS_URL}
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luarocks
|
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/luarocks
|
|
||||||
-DURL=${LUAROCKS_URL}
|
|
||||||
-DEXPECTED_SHA256=${LUAROCKS_SHA256}
|
|
||||||
-DTARGET=luarocks
|
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
|
||||||
BUILD_IN_SOURCE 1
|
|
||||||
CONFIGURE_COMMAND "${_luarocks_CONFIGURE_COMMAND}"
|
|
||||||
BUILD_COMMAND "${_luarocks_BUILD_COMMAND}"
|
|
||||||
INSTALL_COMMAND "${_luarocks_INSTALL_COMMAND}")
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
# The luarocks binary location
|
# The luarocks binary location
|
||||||
set(LUAROCKS_BINARY ${HOSTDEPS_BIN_DIR}/luarocks)
|
set(LUAROCKS_BINARY ${HOSTDEPS_BIN_DIR}/luarocks)
|
||||||
|
|
||||||
@ -90,10 +57,9 @@ if(UNIX)
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
BuildLuarocks(
|
set(LUAROCKS_CONFIGURE_COMMAND ${DEPS_BUILD_DIR}/src/luarocks/configure
|
||||||
CONFIGURE_COMMAND ${DEPS_BUILD_DIR}/src/luarocks/configure
|
--prefix=${HOSTDEPS_INSTALL_DIR} --force-config ${LUAROCKS_OPTS})
|
||||||
--prefix=${HOSTDEPS_INSTALL_DIR} --force-config ${LUAROCKS_OPTS}
|
set(LUAROCKS_INSTALL_COMMAND ${MAKE_PRG} -j1 bootstrap)
|
||||||
INSTALL_COMMAND ${MAKE_PRG} -j1 bootstrap)
|
|
||||||
elseif(MSVC OR MINGW)
|
elseif(MSVC OR MINGW)
|
||||||
|
|
||||||
if(MINGW)
|
if(MINGW)
|
||||||
@ -103,7 +69,7 @@ elseif(MSVC OR MINGW)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Ignore USE_BUNDLED_LUAJIT - always ON for native Win32
|
# Ignore USE_BUNDLED_LUAJIT - always ON for native Win32
|
||||||
BuildLuarocks(INSTALL_COMMAND install.bat /FORCECONFIG /NOREG /NOADMIN /Q /F
|
set(LUAROCKS_INSTALL_COMMAND install.bat /FORCECONFIG /NOREG /NOADMIN /Q /F
|
||||||
/LUA ${DEPS_INSTALL_DIR}
|
/LUA ${DEPS_INSTALL_DIR}
|
||||||
/LIB ${DEPS_LIB_DIR}
|
/LIB ${DEPS_LIB_DIR}
|
||||||
/BIN ${DEPS_BIN_DIR}
|
/BIN ${DEPS_BIN_DIR}
|
||||||
@ -119,6 +85,23 @@ else()
|
|||||||
message(FATAL_ERROR "Trying to build luarocks in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
message(FATAL_ERROR "Trying to build luarocks in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
ExternalProject_Add(luarocks
|
||||||
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
|
URL ${LUAROCKS_URL}
|
||||||
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luarocks
|
||||||
|
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
||||||
|
-DPREFIX=${DEPS_BUILD_DIR}
|
||||||
|
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/luarocks
|
||||||
|
-DURL=${LUAROCKS_URL}
|
||||||
|
-DEXPECTED_SHA256=${LUAROCKS_SHA256}
|
||||||
|
-DTARGET=luarocks
|
||||||
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
|
BUILD_IN_SOURCE 1
|
||||||
|
CONFIGURE_COMMAND "${LUAROCKS_CONFIGURE_COMMAND}"
|
||||||
|
BUILD_COMMAND ""
|
||||||
|
INSTALL_COMMAND "${LUAROCKS_INSTALL_COMMAND}")
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS luarocks)
|
list(APPEND THIRD_PARTY_DEPS luarocks)
|
||||||
|
|
||||||
if(USE_BUNDLED_LUAJIT)
|
if(USE_BUNDLED_LUAJIT)
|
||||||
@ -130,16 +113,14 @@ set(ROCKS_DIR ${HOSTDEPS_LIB_DIR}/luarocks/rocks-${LUA_VERSION})
|
|||||||
|
|
||||||
# mpack
|
# mpack
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/mpack
|
add_custom_command(OUTPUT ${ROCKS_DIR}/mpack
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY} build mpack 1.0.8-0 ${LUAROCKS_BUILDARGS}
|
||||||
ARGS build mpack 1.0.8-0 ${LUAROCKS_BUILDARGS}
|
|
||||||
DEPENDS luarocks)
|
DEPENDS luarocks)
|
||||||
add_custom_target(mpack DEPENDS ${ROCKS_DIR}/mpack)
|
add_custom_target(mpack DEPENDS ${ROCKS_DIR}/mpack)
|
||||||
list(APPEND THIRD_PARTY_DEPS mpack)
|
list(APPEND THIRD_PARTY_DEPS mpack)
|
||||||
|
|
||||||
# lpeg
|
# lpeg
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/lpeg
|
add_custom_command(OUTPUT ${ROCKS_DIR}/lpeg
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY} build lpeg 1.0.2-1 ${LUAROCKS_BUILDARGS}
|
||||||
ARGS build lpeg 1.0.2-1 ${LUAROCKS_BUILDARGS}
|
|
||||||
DEPENDS mpack)
|
DEPENDS mpack)
|
||||||
add_custom_target(lpeg DEPENDS ${ROCKS_DIR}/lpeg)
|
add_custom_target(lpeg DEPENDS ${ROCKS_DIR}/lpeg)
|
||||||
list(APPEND THIRD_PARTY_DEPS lpeg)
|
list(APPEND THIRD_PARTY_DEPS lpeg)
|
||||||
@ -147,8 +128,7 @@ list(APPEND THIRD_PARTY_DEPS lpeg)
|
|||||||
if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA)
|
if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA)
|
||||||
# luabitop
|
# luabitop
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/luabitop
|
add_custom_command(OUTPUT ${ROCKS_DIR}/luabitop
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY} build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS}
|
||||||
ARGS build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS}
|
|
||||||
DEPENDS lpeg)
|
DEPENDS lpeg)
|
||||||
add_custom_target(luabitop DEPENDS ${ROCKS_DIR}/luabitop)
|
add_custom_target(luabitop DEPENDS ${ROCKS_DIR}/luabitop)
|
||||||
list(APPEND THIRD_PARTY_DEPS luabitop)
|
list(APPEND THIRD_PARTY_DEPS luabitop)
|
||||||
@ -163,8 +143,7 @@ if(USE_BUNDLED_BUSTED)
|
|||||||
|
|
||||||
# penlight
|
# penlight
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/penlight
|
add_custom_command(OUTPUT ${ROCKS_DIR}/penlight
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY} build penlight 1.5.4-1 ${LUAROCKS_BUILDARGS}
|
||||||
ARGS build penlight 1.5.4-1 ${LUAROCKS_BUILDARGS}
|
|
||||||
DEPENDS ${PENLIGHT_DEPENDS})
|
DEPENDS ${PENLIGHT_DEPENDS})
|
||||||
add_custom_target(penlight DEPENDS ${ROCKS_DIR}/penlight)
|
add_custom_target(penlight DEPENDS ${ROCKS_DIR}/penlight)
|
||||||
|
|
||||||
@ -177,15 +156,13 @@ if(USE_BUNDLED_BUSTED)
|
|||||||
set(LUACHECK_EXE "${HOSTDEPS_BIN_DIR}/luacheck")
|
set(LUACHECK_EXE "${HOSTDEPS_BIN_DIR}/luacheck")
|
||||||
endif()
|
endif()
|
||||||
add_custom_command(OUTPUT ${BUSTED_EXE}
|
add_custom_command(OUTPUT ${BUSTED_EXE}
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY} build busted 2.0.0 ${LUAROCKS_BUILDARGS}
|
||||||
ARGS build busted 2.0.0 ${LUAROCKS_BUILDARGS}
|
|
||||||
DEPENDS penlight)
|
DEPENDS penlight)
|
||||||
add_custom_target(busted DEPENDS ${BUSTED_EXE})
|
add_custom_target(busted DEPENDS ${BUSTED_EXE})
|
||||||
|
|
||||||
# luacheck
|
# luacheck
|
||||||
add_custom_command(OUTPUT ${LUACHECK_EXE}
|
add_custom_command(OUTPUT ${LUACHECK_EXE}
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY} build luacheck 0.23.0-1 ${LUAROCKS_BUILDARGS}
|
||||||
ARGS build luacheck 0.23.0-1 ${LUAROCKS_BUILDARGS}
|
|
||||||
DEPENDS busted)
|
DEPENDS busted)
|
||||||
add_custom_target(luacheck DEPENDS ${LUACHECK_EXE})
|
add_custom_target(luacheck DEPENDS ${LUACHECK_EXE})
|
||||||
|
|
||||||
@ -195,8 +172,7 @@ if(USE_BUNDLED_BUSTED)
|
|||||||
set(NVIM_CLIENT_DEPS luacheck luv-static lua-compat-5.3)
|
set(NVIM_CLIENT_DEPS luacheck luv-static lua-compat-5.3)
|
||||||
else()
|
else()
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/luv
|
add_custom_command(OUTPUT ${ROCKS_DIR}/luv
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY} build luv ${LUV_VERSION} ${LUAROCKS_BUILDARGS}
|
||||||
ARGS build luv ${LUV_VERSION} ${LUAROCKS_BUILDARGS}
|
|
||||||
DEPENDS luacheck)
|
DEPENDS luacheck)
|
||||||
add_custom_target(luv DEPENDS ${ROCKS_DIR}/luv)
|
add_custom_target(luv DEPENDS ${ROCKS_DIR}/luv)
|
||||||
set(NVIM_CLIENT_DEPS luv)
|
set(NVIM_CLIENT_DEPS luv)
|
||||||
@ -204,8 +180,7 @@ if(USE_BUNDLED_BUSTED)
|
|||||||
|
|
||||||
# nvim-client: https://github.com/neovim/lua-client
|
# nvim-client: https://github.com/neovim/lua-client
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/nvim-client
|
add_custom_command(OUTPUT ${ROCKS_DIR}/nvim-client
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY} build nvim-client 0.2.4-1 ${LUAROCKS_BUILDARGS}
|
||||||
ARGS build nvim-client 0.2.4-1 ${LUAROCKS_BUILDARGS}
|
|
||||||
DEPENDS ${NVIM_CLIENT_DEPS})
|
DEPENDS ${NVIM_CLIENT_DEPS})
|
||||||
add_custom_target(nvim-client DEPENDS ${ROCKS_DIR}/nvim-client)
|
add_custom_target(nvim-client DEPENDS ${ROCKS_DIR}/nvim-client)
|
||||||
|
|
||||||
|
@ -1,57 +1,3 @@
|
|||||||
# BuildLuv(PATCH_COMMAND ... CONFIGURE_COMMAND ... BUILD_COMMAND ... INSTALL_COMMAND ...)
|
|
||||||
# Reusable function to build luv, wraps ExternalProject_Add.
|
|
||||||
# Failing to pass a command argument will result in no command being run
|
|
||||||
function(BuildLuv)
|
|
||||||
cmake_parse_arguments(_luv
|
|
||||||
""
|
|
||||||
""
|
|
||||||
"PATCH_COMMAND;CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
|
|
||||||
${ARGN})
|
|
||||||
|
|
||||||
if(NOT _luv_CONFIGURE_COMMAND AND NOT _luv_BUILD_COMMAND
|
|
||||||
AND NOT _luv_INSTALL_COMMAND)
|
|
||||||
message(FATAL_ERROR "Must pass at least one of CONFIGURE_COMMAND, BUILD_COMMAND, INSTALL_COMMAND")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(lua-compat-5.3
|
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
|
||||||
URL ${LUA_COMPAT53_URL}
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua-compat-5.3
|
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/lua-compat-5.3
|
|
||||||
-DURL=${LUA_COMPAT53_URL}
|
|
||||||
-DEXPECTED_SHA256=${LUA_COMPAT53_SHA256}
|
|
||||||
-DTARGET=lua-compat-5.3
|
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
|
||||||
PATCH_COMMAND ""
|
|
||||||
CONFIGURE_COMMAND ""
|
|
||||||
BUILD_COMMAND ""
|
|
||||||
INSTALL_COMMAND "")
|
|
||||||
|
|
||||||
ExternalProject_Add(luv-static
|
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
|
||||||
DEPENDS lua-compat-5.3
|
|
||||||
URL ${LUV_URL}
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luv
|
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/luv
|
|
||||||
-DURL=${LUV_URL}
|
|
||||||
-DEXPECTED_SHA256=${LUV_SHA256}
|
|
||||||
-DTARGET=luv-static
|
|
||||||
# The source is shared with BuildLuarocks (with USE_BUNDLED_LUV).
|
|
||||||
-DSRC_DIR=${DEPS_BUILD_DIR}/src/luv
|
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
|
||||||
PATCH_COMMAND "${_luv_PATCH_COMMAND}"
|
|
||||||
CONFIGURE_COMMAND "${_luv_CONFIGURE_COMMAND}"
|
|
||||||
BUILD_COMMAND "${_luv_BUILD_COMMAND}"
|
|
||||||
INSTALL_COMMAND "${_luv_INSTALL_COMMAND}"
|
|
||||||
LIST_SEPARATOR |)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
set(LUV_SRC_DIR ${DEPS_BUILD_DIR}/src/luv)
|
set(LUV_SRC_DIR ${DEPS_BUILD_DIR}/src/luv)
|
||||||
set(LUV_INCLUDE_FLAGS
|
set(LUV_INCLUDE_FLAGS
|
||||||
"-I${DEPS_INSTALL_DIR}/include -I${DEPS_INSTALL_DIR}/include/luajit-2.1")
|
"-I${DEPS_INSTALL_DIR}/include -I${DEPS_INSTALL_DIR}/include/luajit-2.1")
|
||||||
@ -110,13 +56,41 @@ else()
|
|||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(LUV_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>)
|
ExternalProject_Add(lua-compat-5.3
|
||||||
set(LUV_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
|
URL ${LUA_COMPAT53_URL}
|
||||||
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua-compat-5.3
|
||||||
|
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
||||||
|
-DPREFIX=${DEPS_BUILD_DIR}
|
||||||
|
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/lua-compat-5.3
|
||||||
|
-DURL=${LUA_COMPAT53_URL}
|
||||||
|
-DEXPECTED_SHA256=${LUA_COMPAT53_SHA256}
|
||||||
|
-DTARGET=lua-compat-5.3
|
||||||
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
|
CONFIGURE_COMMAND ""
|
||||||
|
BUILD_COMMAND ""
|
||||||
|
INSTALL_COMMAND "")
|
||||||
|
|
||||||
BuildLuv(PATCH_COMMAND ${LUV_PATCH_COMMAND}
|
ExternalProject_Add(luv-static
|
||||||
CONFIGURE_COMMAND ${LUV_CONFIGURE_COMMAND}
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
BUILD_COMMAND ${LUV_BUILD_COMMAND}
|
DEPENDS lua-compat-5.3
|
||||||
INSTALL_COMMAND ${LUV_INSTALL_COMMAND})
|
URL ${LUV_URL}
|
||||||
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luv
|
||||||
|
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
||||||
|
-DPREFIX=${DEPS_BUILD_DIR}
|
||||||
|
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/luv
|
||||||
|
-DURL=${LUV_URL}
|
||||||
|
-DEXPECTED_SHA256=${LUV_SHA256}
|
||||||
|
-DTARGET=luv-static
|
||||||
|
# The source is shared with BuildLuarocks (with USE_BUNDLED_LUV).
|
||||||
|
-DSRC_DIR=${DEPS_BUILD_DIR}/src/luv
|
||||||
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
|
CONFIGURE_COMMAND "${LUV_CONFIGURE_COMMAND}"
|
||||||
|
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
|
||||||
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>
|
||||||
|
LIST_SEPARATOR |)
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS luv-static)
|
list(APPEND THIRD_PARTY_DEPS luv-static)
|
||||||
if(USE_BUNDLED_LUAJIT)
|
if(USE_BUNDLED_LUAJIT)
|
||||||
|
@ -1,36 +1,3 @@
|
|||||||
# BuildMsgpack(CONFIGURE_COMMAND ... BUILD_COMMAND ... INSTALL_COMMAND ...)
|
|
||||||
# Reusable function to build msgpack, wraps ExternalProject_Add.
|
|
||||||
# Failing to pass a command argument will result in no command being run
|
|
||||||
function(BuildMsgpack)
|
|
||||||
cmake_parse_arguments(_msgpack
|
|
||||||
""
|
|
||||||
""
|
|
||||||
"CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
|
|
||||||
${ARGN})
|
|
||||||
|
|
||||||
if(NOT _msgpack_CONFIGURE_COMMAND AND NOT _msgpack_BUILD_COMMAND
|
|
||||||
AND NOT _msgpack_INSTALL_COMMAND)
|
|
||||||
message(FATAL_ERROR "Must pass at least one of CONFIGURE_COMMAND, BUILD_COMMAND, INSTALL_COMMAND")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(msgpack
|
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
|
||||||
URL ${MSGPACK_URL}
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/msgpack
|
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/msgpack
|
|
||||||
-DURL=${MSGPACK_URL}
|
|
||||||
-DEXPECTED_SHA256=${MSGPACK_SHA256}
|
|
||||||
-DTARGET=msgpack
|
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
|
||||||
CONFIGURE_COMMAND "${_msgpack_CONFIGURE_COMMAND}"
|
|
||||||
BUILD_COMMAND "${_msgpack_BUILD_COMMAND}"
|
|
||||||
INSTALL_COMMAND "${_msgpack_INSTALL_COMMAND}"
|
|
||||||
LIST_SEPARATOR |)
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
set(MSGPACK_CONFIGURE_COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/msgpack
|
set(MSGPACK_CONFIGURE_COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/msgpack
|
||||||
-DMSGPACK_BUILD_TESTS=OFF
|
-DMSGPACK_BUILD_TESTS=OFF
|
||||||
-DMSGPACK_BUILD_EXAMPLES=OFF
|
-DMSGPACK_BUILD_EXAMPLES=OFF
|
||||||
@ -40,9 +7,6 @@ set(MSGPACK_CONFIGURE_COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/msgpack
|
|||||||
"-DCMAKE_C_FLAGS:STRING=${CMAKE_C_COMPILER_ARG1} -fPIC"
|
"-DCMAKE_C_FLAGS:STRING=${CMAKE_C_COMPILER_ARG1} -fPIC"
|
||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR})
|
-DCMAKE_GENERATOR=${CMAKE_GENERATOR})
|
||||||
|
|
||||||
set(MSGPACK_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>)
|
|
||||||
set(MSGPACK_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
# Same as Unix without fPIC
|
# Same as Unix without fPIC
|
||||||
set(MSGPACK_CONFIGURE_COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/msgpack
|
set(MSGPACK_CONFIGURE_COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/msgpack
|
||||||
@ -58,8 +22,21 @@ if(MSVC)
|
|||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR})
|
-DCMAKE_GENERATOR=${CMAKE_GENERATOR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
BuildMsgpack(CONFIGURE_COMMAND ${MSGPACK_CONFIGURE_COMMAND}
|
ExternalProject_Add(msgpack
|
||||||
BUILD_COMMAND ${MSGPACK_BUILD_COMMAND}
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
INSTALL_COMMAND ${MSGPACK_INSTALL_COMMAND})
|
URL ${MSGPACK_URL}
|
||||||
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/msgpack
|
||||||
|
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
||||||
|
-DPREFIX=${DEPS_BUILD_DIR}
|
||||||
|
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/msgpack
|
||||||
|
-DURL=${MSGPACK_URL}
|
||||||
|
-DEXPECTED_SHA256=${MSGPACK_SHA256}
|
||||||
|
-DTARGET=msgpack
|
||||||
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
|
CONFIGURE_COMMAND "${MSGPACK_CONFIGURE_COMMAND}"
|
||||||
|
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
|
||||||
|
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>
|
||||||
|
LIST_SEPARATOR |)
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS msgpack)
|
list(APPEND THIRD_PARTY_DEPS msgpack)
|
||||||
|
@ -1,17 +1,20 @@
|
|||||||
# BuildTreeSitter(TARGET targetname CONFIGURE_COMMAND ... BUILD_COMMAND ... INSTALL_COMMAND ...)
|
if(MSVC)
|
||||||
function(BuildTreeSitter)
|
set(TREESITTER_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
cmake_parse_arguments(_treesitter
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/TreesitterCMakeLists.txt
|
||||||
"BUILD_IN_SOURCE"
|
${DEPS_BUILD_DIR}/src/tree-sitter/CMakeLists.txt
|
||||||
"TARGET"
|
COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/tree-sitter/CMakeLists.txt
|
||||||
"CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
|
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||||
${ARGN})
|
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||||
|
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
||||||
if(NOT _treesitter_CONFIGURE_COMMAND AND NOT _treesitter_BUILD_COMMAND
|
${BUILD_TYPE_STRING}
|
||||||
AND NOT _treesitter_INSTALL_COMMAND)
|
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR})
|
||||||
message(FATAL_ERROR "Must pass at least one of CONFIGURE_COMMAND, BUILD_COMMAND, INSTALL_COMMAND")
|
set(TREESITTER_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>)
|
||||||
endif()
|
set(TREESITTER_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
||||||
if(NOT _treesitter_TARGET)
|
else()
|
||||||
set(_treesitter_TARGET "tree-sitter")
|
set(TS_CFLAGS "-O3 -Wall -Wextra")
|
||||||
|
set(TREESITTER_BUILD_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER} CFLAGS=${TS_CFLAGS})
|
||||||
|
set(TREESITTER_INSTALL_COMMAND
|
||||||
|
${MAKE_PRG} CC=${DEPS_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} install)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(tree-sitter
|
ExternalProject_Add(tree-sitter
|
||||||
@ -27,33 +30,9 @@ function(BuildTreeSitter)
|
|||||||
-DTARGET=tree-sitter
|
-DTARGET=tree-sitter
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
BUILD_IN_SOURCE ${_treesitter_BUILD_IN_SOURCE}
|
BUILD_IN_SOURCE 1
|
||||||
PATCH_COMMAND ""
|
CONFIGURE_COMMAND "${TREESITTER_CONFIGURE_COMMAND}"
|
||||||
CONFIGURE_COMMAND "${_treesitter_CONFIGURE_COMMAND}"
|
BUILD_COMMAND "${TREESITTER_BUILD_COMMAND}"
|
||||||
BUILD_COMMAND "${_treesitter_BUILD_COMMAND}"
|
INSTALL_COMMAND "${TREESITTER_INSTALL_COMMAND}")
|
||||||
INSTALL_COMMAND "${_treesitter_INSTALL_COMMAND}")
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
if(MSVC)
|
|
||||||
BuildTreeSitter(BUILD_IN_SOURCE
|
|
||||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/TreesitterCMakeLists.txt
|
|
||||||
${DEPS_BUILD_DIR}/src/tree-sitter/CMakeLists.txt
|
|
||||||
COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/tree-sitter/CMakeLists.txt
|
|
||||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
|
||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
|
||||||
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
|
||||||
${BUILD_TYPE_STRING}
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR}
|
|
||||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
set(TS_CFLAGS "-O3 -Wall -Wextra")
|
|
||||||
BuildTreeSitter(BUILD_IN_SOURCE
|
|
||||||
CONFIGURE_COMMAND ""
|
|
||||||
BUILD_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER} CFLAGS=${TS_CFLAGS}
|
|
||||||
INSTALL_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} install)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS tree-sitter)
|
list(APPEND THIRD_PARTY_DEPS tree-sitter)
|
||||||
|
@ -1,17 +1,5 @@
|
|||||||
if(WIN32)
|
if(WIN32)
|
||||||
ExternalProject_Add(unibilium
|
set(UNIBILIUM_CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
|
||||||
URL ${UNIBILIUM_URL}
|
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/unibilium
|
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/unibilium
|
|
||||||
-DURL=${UNIBILIUM_URL}
|
|
||||||
-DEXPECTED_SHA256=${UNIBILIUM_SHA256}
|
|
||||||
-DTARGET=unibilium
|
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
|
||||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/UnibiliumCMakeLists.txt
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/UnibiliumCMakeLists.txt
|
||||||
${DEPS_BUILD_DIR}/src/unibilium/CMakeLists.txt
|
${DEPS_BUILD_DIR}/src/unibilium/CMakeLists.txt
|
||||||
COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/unibilium
|
COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/unibilium
|
||||||
@ -20,10 +8,16 @@ if(WIN32)
|
|||||||
-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN}
|
-DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN}
|
||||||
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
||||||
${BUILD_TYPE_STRING}
|
${BUILD_TYPE_STRING}
|
||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
-DCMAKE_GENERATOR=${CMAKE_GENERATOR})
|
||||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>
|
set(UNIBILIUM_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>)
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
set(UNIBILIUM_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
||||||
else()
|
else()
|
||||||
|
set(UNIBILIUM_BUILD_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER}
|
||||||
|
PREFIX=${DEPS_INSTALL_DIR} CFLAGS=-fPIC LDFLAGS+=-static
|
||||||
|
BUILD_IN_SOURCE 1)
|
||||||
|
set(UNIBILIUM_INSTALL_COMMAND ${MAKE_PRG} PREFIX=${DEPS_INSTALL_DIR} install)
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(unibilium
|
ExternalProject_Add(unibilium
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
URL ${UNIBILIUM_URL}
|
URL ${UNIBILIUM_URL}
|
||||||
@ -36,13 +30,8 @@ else()
|
|||||||
-DTARGET=unibilium
|
-DTARGET=unibilium
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND "${UNIBILIUM_CONFIGURE_COMMAND}"
|
||||||
BUILD_IN_SOURCE 1
|
BUILD_COMMAND "${UNIBILIUM_BUILD_COMMAND}"
|
||||||
BUILD_COMMAND ${MAKE_PRG} CC=${DEPS_C_COMPILER}
|
INSTALL_COMMAND "${UNIBILIUM_INSTALL_COMMAND}")
|
||||||
PREFIX=${DEPS_INSTALL_DIR}
|
|
||||||
CFLAGS=-fPIC
|
|
||||||
LDFLAGS+=-static
|
|
||||||
INSTALL_COMMAND ${MAKE_PRG} PREFIX=${DEPS_INSTALL_DIR} install)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS unibilium)
|
list(APPEND THIRD_PARTY_DEPS unibilium)
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
# Set LC_ALL to meet expectations of some locale-sensitive tests.
|
# Set LC_ALL to meet expectations of some locale-sensitive tests.
|
||||||
set(ENV{LC_ALL} "en_US.UTF-8")
|
set(ENV{LC_ALL} "en_US.UTF-8")
|
||||||
|
|
||||||
if(POLICY CMP0012)
|
|
||||||
# Handle CI=true, without dev warnings.
|
|
||||||
cmake_policy(SET CMP0012 NEW)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(ENV{VIMRUNTIME} ${WORKING_DIR}/runtime)
|
set(ENV{VIMRUNTIME} ${WORKING_DIR}/runtime)
|
||||||
set(ENV{NVIM_RPLUGIN_MANIFEST} ${BUILD_DIR}/Xtest_rplugin_manifest)
|
set(ENV{NVIM_RPLUGIN_MANIFEST} ${BUILD_DIR}/Xtest_rplugin_manifest)
|
||||||
set(ENV{XDG_CONFIG_HOME} ${BUILD_DIR}/Xtest_xdg/config)
|
set(ENV{XDG_CONFIG_HOME} ${BUILD_DIR}/Xtest_xdg/config)
|
||||||
|
@ -443,11 +443,6 @@ endif()
|
|||||||
|
|
||||||
set(NVIM_EXEC_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES} ${LUA_PREFERRED_LIBRARIES})
|
set(NVIM_EXEC_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES} ${LUA_PREFERRED_LIBRARIES})
|
||||||
|
|
||||||
# Add IPO flags (for LTO), or error if CMake does not know the flags. #8654
|
|
||||||
if(POLICY CMP0069)
|
|
||||||
cmake_policy(SET CMP0069 NEW)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_executable(nvim ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS}
|
add_executable(nvim ${NVIM_GENERATED_FOR_SOURCES} ${NVIM_GENERATED_FOR_HEADERS}
|
||||||
${NVIM_GENERATED_SOURCES} ${NVIM_SOURCES} ${NVIM_HEADERS}
|
${NVIM_GENERATED_SOURCES} ${NVIM_SOURCES} ${NVIM_HEADERS}
|
||||||
${EXTERNAL_SOURCES} ${EXTERNAL_HEADERS})
|
${EXTERNAL_SOURCES} ${EXTERNAL_HEADERS})
|
||||||
@ -461,7 +456,7 @@ set_property(TARGET nvim APPEND PROPERTY
|
|||||||
INCLUDE_DIRECTORIES ${LUA_PREFERRED_INCLUDE_DIRS})
|
INCLUDE_DIRECTORIES ${LUA_PREFERRED_INCLUDE_DIRS})
|
||||||
set_property(TARGET nvim PROPERTY ENABLE_EXPORTS TRUE)
|
set_property(TARGET nvim PROPERTY ENABLE_EXPORTS TRUE)
|
||||||
|
|
||||||
if(ENABLE_LTO AND (POLICY CMP0069))
|
if(ENABLE_LTO)
|
||||||
include(CheckIPOSupported)
|
include(CheckIPOSupported)
|
||||||
check_ipo_supported(RESULT IPO_SUPPORTED)
|
check_ipo_supported(RESULT IPO_SUPPORTED)
|
||||||
if(IPO_SUPPORTED AND (NOT CMAKE_BUILD_TYPE MATCHES Debug))
|
if(IPO_SUPPORTED AND (NOT CMAKE_BUILD_TYPE MATCHES Debug))
|
||||||
|
Loading…
Reference in New Issue
Block a user