mirror of
https://github.com/neovim/neovim.git
synced 2025-09-28 14:08:32 +00:00
build/CMake: find_package(… REQUIRED)
"Always use `find_package` with `REQUIRED`." - We make an exception for LuaJit (not REQUIRED): the `nvim-test` target is included only if we can find LuaJit. This is partially a cargo-cult (reference below), but it uncovered at least one problem: `find_package(LibIntl REQUIRED)` fails on my vanilla ubuntu 16.04 system. ref: https://schneide.blog/2017/11/06/4-tips-for-better-cmake/ > optional dependencies is nice, but skipping on REQUIRED is not the way > you want to do it. In the worst case, some of your features will just > not work if those packages are not found, with no explanation > whatsoever. Instead, use explicit feature-toggles (e.g. using option()) > that either skip the find_package call or use it with REQUIRED, so the > user will know that another lib is needed for this feature.
This commit is contained in:
@@ -484,7 +484,9 @@ set_property(
|
||||
APPEND_STRING PROPERTY COMPILE_FLAGS " -DMAKE_LIB "
|
||||
)
|
||||
|
||||
if(LUAJIT_FOUND)
|
||||
if(NOT LUAJIT_FOUND)
|
||||
message(STATUS "luajit not found, skipping nvim-test (unit tests) target")
|
||||
else()
|
||||
set(NVIM_TEST_LINK_LIBRARIES ${NVIM_LINK_LIBRARIES} ${LUAJIT_LIBRARIES})
|
||||
add_library(
|
||||
nvim-test
|
||||
|
@@ -1,4 +1,4 @@
|
||||
find_package(Gettext)
|
||||
find_package(Gettext REQUIRED)
|
||||
find_program(XGETTEXT_PRG xgettext)
|
||||
find_program(ICONV_PRG iconv)
|
||||
|
||||
|
Reference in New Issue
Block a user