mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 11:15:14 -07:00
0007aa50bd
This will reduce required boilerplate, but more importantly it will automatically unset variables ending on URL. This will help people needing to avoid to unset the URL variable each time a new dependency is added. It is possible that this may remove a non-download variable ending on "URL" in the future, however, the risk of this is likely much lower than the risk of someone forgetting to unset the variable.
63 lines
1.7 KiB
CMake
63 lines
1.7 KiB
CMake
set(LUV_INCLUDE_FLAGS
|
|
"-I${DEPS_INSTALL_DIR}/include -I${DEPS_INSTALL_DIR}/include/luajit-2.1")
|
|
|
|
set(LUV_CMAKE_ARGS
|
|
-D LUA_BUILD_TYPE=System
|
|
-D LUA_COMPAT53_DIR=${DEPS_BUILD_DIR}/src/lua-compat-5.3
|
|
-D WITH_SHARED_LIBUV=ON
|
|
-D BUILD_SHARED_LIBS=OFF
|
|
-D BUILD_STATIC_LIBS=ON
|
|
-D BUILD_MODULE=OFF)
|
|
|
|
if(USE_BUNDLED_LUAJIT)
|
|
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=LuaJit)
|
|
elseif(USE_BUNDLED_LUA)
|
|
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=Lua)
|
|
else()
|
|
find_package(Luajit)
|
|
if(LUAJIT_FOUND)
|
|
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=LuaJit)
|
|
else()
|
|
list(APPEND LUV_CMAKE_ARGS -D WITH_LUA_ENGINE=Lua)
|
|
endif()
|
|
endif()
|
|
|
|
if(USE_BUNDLED_LIBUV)
|
|
list(APPEND LUV_CMAKE_ARGS -D CMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR})
|
|
endif()
|
|
|
|
list(APPEND LUV_CMAKE_ARGS
|
|
"-DCMAKE_C_FLAGS:STRING=${LUV_INCLUDE_FLAGS}")
|
|
if(CMAKE_GENERATOR MATCHES "Unix Makefiles" AND
|
|
(CMAKE_SYSTEM_NAME MATCHES ".*BSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly"))
|
|
list(APPEND LUV_CMAKE_ARGS -D CMAKE_MAKE_PROGRAM=gmake)
|
|
endif()
|
|
|
|
ExternalProject_Add(lua-compat-5.3
|
|
URL ${LUA_COMPAT53_URL}
|
|
URL_HASH SHA256=${LUA_COMPAT53_SHA256}
|
|
DOWNLOAD_NO_PROGRESS TRUE
|
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua-compat-5.3
|
|
CONFIGURE_COMMAND ""
|
|
BUILD_COMMAND ""
|
|
INSTALL_COMMAND "")
|
|
|
|
ExternalProject_Add(luv-static
|
|
DEPENDS lua-compat-5.3
|
|
URL ${LUV_URL}
|
|
URL_HASH SHA256=${LUV_SHA256}
|
|
DOWNLOAD_NO_PROGRESS TRUE
|
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luv
|
|
SOURCE_DIR ${DEPS_BUILD_DIR}/src/luv
|
|
CMAKE_ARGS ${DEPS_CMAKE_ARGS} ${LUV_CMAKE_ARGS}
|
|
CMAKE_CACHE_ARGS ${DEPS_CMAKE_CACHE_ARGS})
|
|
|
|
if(USE_BUNDLED_LUAJIT)
|
|
add_dependencies(luv-static luajit)
|
|
elseif(USE_BUNDLED_LUA)
|
|
add_dependencies(luv-static lua)
|
|
endif()
|
|
if(USE_BUNDLED_LIBUV)
|
|
add_dependencies(luv-static libuv)
|
|
endif()
|