diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2023-04-12 21:26:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-12 21:26:06 +0200 |
commit | 5a7280ba687f7d5b02a58fca652807161b69bfd9 (patch) | |
tree | be04b8e9566f318a50ac582b389bac122d123cce | |
parent | 23e9d625cf97715abce2c0dead416d8dcd9e6519 (diff) | |
download | rneovim-5a7280ba687f7d5b02a58fca652807161b69bfd9.tar.gz rneovim-5a7280ba687f7d5b02a58fca652807161b69bfd9.tar.bz2 rneovim-5a7280ba687f7d5b02a58fca652807161b69bfd9.zip |
build: create helper function for simplifying luarocks installation
The function keeps track of the previously installed rock, meaning we no
longer need to manually keep track of the dependency chain. This will
make adding or removing rocks much easier.
-rw-r--r-- | cmake.deps/cmake/BuildLuarocks.cmake | 58 |
1 files changed, 21 insertions, 37 deletions
diff --git a/cmake.deps/cmake/BuildLuarocks.cmake b/cmake.deps/cmake/BuildLuarocks.cmake index 901d1f17da..674a7eaee1 100644 --- a/cmake.deps/cmake/BuildLuarocks.cmake +++ b/cmake.deps/cmake/BuildLuarocks.cmake @@ -104,34 +104,29 @@ if(MSVC) set(PATH PATH=${DEPS_INSTALL_DIR}/luarocks/tools;$ENV{PATH}) endif() -# mpack -add_custom_command(OUTPUT ${ROCKS_DIR}/mpack - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build mpack 1.0.10-0 ${LUAROCKS_BUILDARGS} - DEPENDS luarocks) -add_custom_target(mpack ALL DEPENDS ${ROCKS_DIR}/mpack) - -# lpeg -add_custom_command(OUTPUT ${ROCKS_DIR}/lpeg - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build lpeg 1.0.2-1 ${LUAROCKS_BUILDARGS} - DEPENDS mpack) -add_custom_target(lpeg ALL DEPENDS ${ROCKS_DIR}/lpeg) +set(CURRENT_DEP luarocks) + +function(Download ROCK VER) + if(ARGV2) + set(OUTPUT ${ARGV2}) + else() + set(OUTPUT ${ROCKS_DIR}/${ROCK}) + endif() + add_custom_command(OUTPUT ${OUTPUT} + COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build ${ROCK} ${VER} ${LUAROCKS_BUILDARGS} + DEPENDS ${CURRENT_DEP}) + add_custom_target(${ROCK} ALL DEPENDS ${OUTPUT}) + set(CURRENT_DEP ${ROCK} PARENT_SCOPE) +endfunction() + +Download(mpack 1.0.10-0) +Download(lpeg 1.0.2-1) if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA) - # luabitop - add_custom_command(OUTPUT ${ROCKS_DIR}/luabitop - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build luabitop 1.0.2-3 ${LUAROCKS_BUILDARGS} - DEPENDS lpeg) - add_custom_target(luabitop ALL DEPENDS ${ROCKS_DIR}/luabitop) + Download(luabitop 1.0.2-3) endif() if(USE_BUNDLED_BUSTED) - if((NOT USE_BUNDLED_LUAJIT) AND USE_BUNDLED_LUA) - set(BUSTED_DEPENDS luabitop) - else() - set(BUSTED_DEPENDS lpeg) - endif() - - # busted if(WIN32) set(BUSTED_EXE "${DEPS_BIN_DIR}/busted.bat") set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck.bat") @@ -139,22 +134,11 @@ if(USE_BUNDLED_BUSTED) set(BUSTED_EXE "${DEPS_BIN_DIR}/busted") set(LUACHECK_EXE "${DEPS_BIN_DIR}/luacheck") endif() - add_custom_command(OUTPUT ${BUSTED_EXE} - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build busted 2.1.1 ${LUAROCKS_BUILDARGS} - DEPENDS ${BUSTED_DEPENDS}) - add_custom_target(busted ALL DEPENDS ${BUSTED_EXE}) - # luacheck - add_custom_command(OUTPUT ${LUACHECK_EXE} - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build luacheck 1.1.0-1 ${LUAROCKS_BUILDARGS} - DEPENDS busted) - add_custom_target(luacheck ALL DEPENDS ${LUACHECK_EXE}) + Download(busted 2.1.1 ${BUSTED_EXE}) + Download(luacheck 1.1.0-1 ${LUACHECK_EXE}) if (USE_BUNDLED_LUA OR NOT USE_BUNDLED_LUAJIT) - # coxpcall - add_custom_command(OUTPUT ${ROCKS_DIR}/coxpcall - COMMAND ${CMAKE_COMMAND} -E env "${PATH}" ${LUAROCKS_BINARY} build coxpcall 1.17.0-1 ${LUAROCKS_BUILDARGS} - DEPENDS luarocks) - add_custom_target(coxpcall ALL DEPENDS ${ROCKS_DIR}/coxpcall) + Download(coxpcall 1.17.0-1) endif() endif() |