aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt20
-rw-r--r--cmake.config/CMakeLists.txt4
-rw-r--r--runtime/CMakeLists.txt12
-rw-r--r--src/nvim/CMakeLists.txt78
-rw-r--r--src/nvim/po/CMakeLists.txt10
-rw-r--r--test/CMakeLists.txt14
-rw-r--r--test/functional/fixtures/CMakeLists.txt2
7 files changed, 72 insertions, 68 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d64d1fc723..6dedbfd714 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -37,13 +37,8 @@ include(Util)
# Variables
#-------------------------------------------------------------------------------
set(FUNCS_DATA ${PROJECT_BINARY_DIR}/funcs_data.mpack)
-set(GENERATED_RUNTIME_DIR ${PROJECT_BINARY_DIR}/runtime)
set(TOUCHES_DIR ${PROJECT_BINARY_DIR}/touches)
-# GENERATED_RUNTIME_DIR
-set(GENERATED_HELP_TAGS ${GENERATED_RUNTIME_DIR}/doc/tags)
-set(GENERATED_SYN_VIM ${GENERATED_RUNTIME_DIR}/syntax/vim/generated.vim)
-
set_directory_properties(PROPERTIES
EP_PREFIX "${DEPS_BUILD_DIR}")
@@ -60,6 +55,12 @@ if(${CMAKE_VERSION} VERSION_LESS 3.20)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
endif()
+if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.26)
+ set(COPY_DIRECTORY copy_directory_if_different)
+else()
+ set(COPY_DIRECTORY copy_directory)
+endif()
+
# Prefer our bundled versions of dependencies.
if(DEFINED ENV{DEPS_BUILD_DIR})
set(DEPS_PREFIX "$ENV{DEPS_BUILD_DIR}/usr" CACHE PATH "Path prefix for finding dependencies")
@@ -231,7 +232,7 @@ set(STYLUA_DIRS runtime scripts src test)
add_glob_target(
TARGET lintlua-luacheck
- COMMAND $<TARGET_FILE:nvim>
+ COMMAND $<TARGET_FILE:nvim_bin>
FLAGS -ll ${PROJECT_SOURCE_DIR}/test/lua_runner.lua ${CMAKE_BINARY_DIR}/usr luacheck -q
GLOB_DIRS runtime scripts src test
GLOB_PAT *.lua
@@ -258,8 +259,8 @@ add_glob_target(
TOUCH_STRATEGY PER_DIR)
add_custom_target(lintcommit
- COMMAND $<TARGET_FILE:nvim> -u NONE -l ${PROJECT_SOURCE_DIR}/scripts/lintcommit.lua main)
-add_dependencies(lintcommit nvim)
+ COMMAND $<TARGET_FILE:nvim_bin> -u NONE -l ${PROJECT_SOURCE_DIR}/scripts/lintcommit.lua main)
+add_dependencies(lintcommit nvim_bin)
add_custom_target(lint)
add_dependencies(lint lintc lintlua lintsh lintcommit)
@@ -280,6 +281,9 @@ install_helper(
FILES ${CMAKE_SOURCE_DIR}/src/man/nvim.1
DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+add_custom_target(nvim ALL)
+add_dependencies(nvim nvim_bin nvim_runtime_deps nvim_runtime)
+
add_subdirectory(src/nvim)
add_subdirectory(cmake.config)
add_subdirectory(runtime)
diff --git a/cmake.config/CMakeLists.txt b/cmake.config/CMakeLists.txt
index d333cc216a..f3cc803cf5 100644
--- a/cmake.config/CMakeLists.txt
+++ b/cmake.config/CMakeLists.txt
@@ -148,7 +148,7 @@ foreach(BUILD_TYPE Debug Release RelWithDebInfo MinSizeRel)
set(GEN_RHS "${CMAKE_C_FLAGS_${BUILD_TYPE_UPPER}} ")
string(APPEND VERSION_STRING "$<${GEN_CONFIG}:${GEN_RHS}>")
- set(GEN_RHS "$<$<BOOL:$<TARGET_PROPERTY:nvim,INTERPROCEDURAL_OPTIMIZATION_${BUILD_TYPE_UPPER}>>:${CMAKE_C_COMPILE_OPTIONS_IPO}>")
+ set(GEN_RHS "$<$<BOOL:$<TARGET_PROPERTY:nvim_bin,INTERPROCEDURAL_OPTIMIZATION_${BUILD_TYPE_UPPER}>>:${CMAKE_C_COMPILE_OPTIONS_IPO}>")
string(APPEND VERSION_STRING "$<${GEN_CONFIG}:${GEN_RHS}>")
endforeach()
@@ -161,7 +161,7 @@ function(append_target_expression)
""
${ARGN})
- set(TARGET_EXPRESSION "$<TARGET_PROPERTY:nvim,${ARG_PROPERTY}>")
+ set(TARGET_EXPRESSION "$<TARGET_PROPERTY:nvim_bin,${ARG_PROPERTY}>")
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL 3.15)
set(TARGET_EXPRESSION "$<REMOVE_DUPLICATES:${TARGET_EXPRESSION}>")
endif()
diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
index a44713d4ce..c9655ad9b9 100644
--- a/runtime/CMakeLists.txt
+++ b/runtime/CMakeLists.txt
@@ -1,5 +1,9 @@
-set(SYN_VIM_GENERATOR ${PROJECT_SOURCE_DIR}/src/nvim/generators/gen_vimvim.lua)
+set(GENERATED_RUNTIME_DIR ${PROJECT_BINARY_DIR}/runtime)
+
+set(GENERATED_HELP_TAGS ${GENERATED_RUNTIME_DIR}/doc/tags)
set(GENERATED_PACKAGE_DIR ${GENERATED_RUNTIME_DIR}/pack/dist/opt)
+set(GENERATED_SYN_VIM ${GENERATED_RUNTIME_DIR}/syntax/vim/generated.vim)
+set(SYN_VIM_GENERATOR ${PROJECT_SOURCE_DIR}/src/nvim/generators/gen_vimvim.lua)
file(MAKE_DIRECTORY ${GENERATED_RUNTIME_DIR}/syntax/vim)
@@ -32,7 +36,7 @@ foreach(PACKAGE ${PACKAGES})
COMMAND "${PROJECT_BINARY_DIR}/bin/nvim"
-u NONE -i NONE -e --headless -c "helptags doc" -c quit
DEPENDS
- nvim
+ nvim_bin
nvim_runtime_deps
WORKING_DIRECTORY "${GENERATED_PACKAGE_DIR}/${PACKNAME}"
)
@@ -66,7 +70,7 @@ add_custom_command(OUTPUT ${GENERATED_HELP_TAGS}
COMMAND "${PROJECT_BINARY_DIR}/bin/nvim"
-u NONE -i NONE -e --headless -c "helptags ++t doc" -c quit
DEPENDS
- nvim
+ nvim_bin
nvim_runtime_deps
WORKING_DIRECTORY "${GENERATED_RUNTIME_DIR}"
)
@@ -81,7 +85,7 @@ add_custom_target(doc_html
)
add_custom_target(
- runtime ALL
+ nvim_runtime
DEPENDS
${GENERATED_SYN_VIM}
${GENERATED_HELP_TAGS}
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
index 98a9301da6..451ab7c303 100644
--- a/src/nvim/CMakeLists.txt
+++ b/src/nvim/CMakeLists.txt
@@ -1,7 +1,11 @@
add_library(main_lib INTERFACE)
-add_executable(nvim)
-set_target_properties(nvim
+# Internally we need to make a distinction between "nvim without runtime files"
+# (nvim_bin) and "nvim with runtime files" (nvim).
+add_executable(nvim_bin EXCLUDE_FROM_ALL)
+set_target_properties(nvim_bin PROPERTIES OUTPUT_NAME nvim)
+
+set_target_properties(nvim_bin
PROPERTIES
EXPORT_COMPILE_COMMANDS ON
ENABLE_EXPORTS TRUE)
@@ -115,7 +119,7 @@ elseif(MINGW)
target_compile_definitions(main_lib INTERFACE __USE_MINGW_ANSI_STDIO)
# Enable wmain
- target_link_libraries(nvim PRIVATE -municode)
+ target_link_libraries(nvim_bin PRIVATE -municode)
elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
if(CMAKE_C_COMPILER_VERSION VERSION_LESS 10)
target_compile_options(main_lib INTERFACE -Wno-conversion)
@@ -134,7 +138,7 @@ elseif(CMAKE_C_COMPILER_ID MATCHES "Clang")
# workaround for clang-11 on macOS, supported on later versions
if(NOT APPLE)
- target_link_libraries(nvim PRIVATE -Wl,--no-undefined)
+ target_link_libraries(nvim_bin PRIVATE -Wl,--no-undefined)
endif()
endif()
@@ -150,16 +154,16 @@ if(CMAKE_SYSTEM_NAME MATCHES "Windows")
target_compile_definitions(main_lib INTERFACE _WIN32_WINNT=0x0602 MSWIN)
target_link_libraries(main_lib INTERFACE netapi32)
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
- target_link_libraries(nvim PRIVATE "-framework CoreServices")
+ target_link_libraries(nvim_bin PRIVATE "-framework CoreServices")
# Actually export symbols - symbols may not be visible even though
# ENABLE_EXPORTS is set to true. See
# https://github.com/neovim/neovim/issues/25295
- target_link_options(nvim PRIVATE "-Wl,-export_dynamic")
+ target_link_options(nvim_bin PRIVATE "-Wl,-export_dynamic")
elseif(CMAKE_SYSTEM_NAME MATCHES "OpenBSD")
target_link_libraries(main_lib INTERFACE pthread c++abi)
elseif(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
- target_link_libraries(nvim PRIVATE -lsocket)
+ target_link_libraries(nvim_bin PRIVATE -lsocket)
endif()
check_c_compiler_flag(-Wimplicit-fallthrough HAVE_WIMPLICIT_FALLTHROUGH_FLAG)
@@ -205,35 +209,35 @@ if(ENABLE_ASAN_UBSAN)
if(NOT MSVC)
if(CI_BUILD)
# Try to recover from all sanitize issues so we get reports about all failures
- target_compile_options(nvim PRIVATE -fsanitize-recover=all)
+ target_compile_options(nvim_bin PRIVATE -fsanitize-recover=all)
else()
- target_compile_options(nvim PRIVATE -fno-sanitize-recover=all)
+ target_compile_options(nvim_bin PRIVATE -fno-sanitize-recover=all)
endif()
- target_compile_options(nvim PRIVATE
+ target_compile_options(nvim_bin PRIVATE
-fno-omit-frame-pointer
-fno-optimize-sibling-calls
-fsanitize=undefined)
endif()
- target_compile_options(nvim PRIVATE -fsanitize=address)
- target_link_libraries(nvim PRIVATE -fsanitize=address -fsanitize=undefined)
- target_compile_definitions(nvim PRIVATE ENABLE_ASAN_UBSAN)
+ target_compile_options(nvim_bin PRIVATE -fsanitize=address)
+ target_link_libraries(nvim_bin PRIVATE -fsanitize=address -fsanitize=undefined)
+ target_compile_definitions(nvim_bin PRIVATE ENABLE_ASAN_UBSAN)
endif()
if(ENABLE_MSAN)
message(STATUS "Enabling memory sanitizer for nvim.")
- target_compile_options(nvim PRIVATE
+ target_compile_options(nvim_bin PRIVATE
-fsanitize=memory
-fsanitize-memory-track-origins
-fno-omit-frame-pointer
-fno-optimize-sibling-calls)
- target_link_libraries(nvim PRIVATE -fsanitize=memory -fsanitize-memory-track-origins)
+ target_link_libraries(nvim_bin PRIVATE -fsanitize=memory -fsanitize-memory-track-origins)
endif()
if(ENABLE_TSAN)
message(STATUS "Enabling thread sanitizer for nvim.")
- target_compile_options(nvim PRIVATE -fsanitize=thread -fPIE)
- target_link_libraries(nvim PRIVATE -fsanitize=thread)
+ target_compile_options(nvim_bin PRIVATE -fsanitize=thread -fPIE)
+ target_link_libraries(nvim_bin PRIVATE -fsanitize=thread)
endif()
option(CI_BUILD "CI, extra flags will be set" OFF)
@@ -254,7 +258,7 @@ if(ENABLE_IWYU)
string(APPEND iwyu_flags "-Xiwyu;--no_fwd_decls;")
string(APPEND iwyu_flags "-Xiwyu;--mapping_file=${PROJECT_SOURCE_DIR}/cmake.config/iwyu/mapping.imp")
- set_target_properties(nvim PROPERTIES C_INCLUDE_WHAT_YOU_USE "${iwyu_flags}")
+ set_target_properties(nvim_bin PROPERTIES C_INCLUDE_WHAT_YOU_USE "${iwyu_flags}")
target_compile_definitions(main_lib INTERFACE EXITFREE)
endif()
@@ -284,7 +288,7 @@ endif()
#-------------------------------------------------------------------------------
set(API_METADATA ${PROJECT_BINARY_DIR}/api_metadata.mpack)
-set(BINARY_LIB_DIR ${PROJECT_BINARY_DIR}/lib/nvim/)
+set(BINARY_LIB_DIR ${PROJECT_BINARY_DIR}/lib/nvim)
set(GENERATED_DIR ${PROJECT_BINARY_DIR}/src/nvim/auto)
set(GENERATED_INCLUDES_DIR ${PROJECT_BINARY_DIR}/include)
set(GENERATOR_DIR ${CMAKE_CURRENT_LIST_DIR}/generators)
@@ -436,7 +440,7 @@ if(CI_BUILD)
# TODO(bfredl): debug log level also exposes some errors with EXITFREE in ASAN build.
else()
# Minimize logging for release-type builds.
- target_compile_definitions(nvim PRIVATE $<$<CONFIG:Debug>:NVIM_LOG_DEBUG>)
+ target_compile_definitions(nvim_bin PRIVATE $<$<CONFIG:Debug>:NVIM_LOG_DEBUG>)
endif()
if(ENABLE_ASAN_UBSAN OR ENABLE_MSAN OR ENABLE_TSAN)
@@ -685,8 +689,8 @@ if(PREFER_LUA)
message(STATUS "luajit not used, skipping unit tests")
else()
file(GLOB UNIT_TEST_FIXTURES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/test/unit/fixtures/*.c)
- target_sources(nvim PRIVATE ${UNIT_TEST_FIXTURES})
- target_compile_definitions(nvim PRIVATE UNIT_TESTING)
+ target_sources(nvim_bin PRIVATE ${UNIT_TEST_FIXTURES})
+ target_compile_definitions(nvim_bin PRIVATE UNIT_TESTING)
endif()
target_sources(main_lib INTERFACE
@@ -700,32 +704,33 @@ target_sources(main_lib INTERFACE
target_sources(nlua0 PUBLIC ${NLUA0_SOURCES})
-target_link_libraries(nvim PRIVATE main_lib PUBLIC libuv)
-install_helper(TARGETS nvim)
+target_link_libraries(nvim_bin PRIVATE main_lib PUBLIC libuv)
+install_helper(TARGETS nvim_bin)
if(MSVC)
- install(FILES $<TARGET_PDB_FILE:nvim> DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
+ install(FILES $<TARGET_PDB_FILE:nvim_bin> DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
endif()
if(ENABLE_LTO)
include(CheckIPOSupported)
check_ipo_supported(RESULT IPO_SUPPORTED)
if(IPO_SUPPORTED)
- set_target_properties(nvim PROPERTIES
+ set_target_properties(nvim_bin PROPERTIES
INTERPROCEDURAL_OPTIMIZATION_RELEASE TRUE
INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO TRUE
INTERPROCEDURAL_OPTIMIZATION_MINSIZEREL TRUE)
endif()
endif()
+add_custom_target(nvim_runtime_deps)
if(WIN32)
# Copy DLLs and third-party tools to bin/ and install them along with nvim
- add_custom_target(nvim_runtime_deps ALL
- COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_BINARY_DIR}/windows_runtime_deps/
+ add_custom_command(TARGET nvim_runtime_deps
+ COMMAND ${CMAKE_COMMAND} -E ${COPY_DIRECTORY} ${PROJECT_BINARY_DIR}/windows_runtime_deps/
${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
install(DIRECTORY ${PROJECT_BINARY_DIR}/windows_runtime_deps/
DESTINATION ${CMAKE_INSTALL_BINDIR})
- add_custom_target(nvim_dll_deps DEPENDS nvim
+ add_custom_target(nvim_dll_deps DEPENDS nvim_bin
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/windows_runtime_deps
COMMAND ${CMAKE_COMMAND}
-D CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
@@ -755,18 +760,11 @@ if(WIN32)
add_custom_target(external_blobs
COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/external_blobs.cmake)
add_dependencies(nvim_runtime_deps external_blobs)
-else()
- add_custom_target(nvim_runtime_deps) # Stub target to avoid CMP0046.
endif()
-file(MAKE_DIRECTORY ${BINARY_LIB_DIR})
-
# install treesitter parser if bundled
if(EXISTS ${DEPS_PREFIX}/lib/nvim/parser)
- file(GLOB TREESITTER_PARSERS CONFIGURE_DEPENDS ${DEPS_PREFIX}/lib/nvim/parser/*)
- foreach(parser_lib ${TREESITTER_PARSERS})
- file(COPY ${parser_lib} DESTINATION ${BINARY_LIB_DIR}/parser)
- endforeach()
+ add_custom_command(TARGET nvim_runtime_deps COMMAND ${CMAKE_COMMAND} -E ${COPY_DIRECTORY} ${DEPS_PREFIX}/lib/nvim/parser ${BINARY_LIB_DIR}/parser)
endif()
install(DIRECTORY ${BINARY_LIB_DIR}
@@ -842,7 +840,7 @@ add_glob_target(
add_custom_target(copy_compile_commands
COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_BINARY_DIR}/compile_commands.json ${PROJECT_SOURCE_DIR}/compile_commands.json)
-add_dependencies(copy_compile_commands nvim)
+add_dependencies(copy_compile_commands nvim_bin)
add_dependencies(lintc-clang-tidy copy_compile_commands)
add_dependencies(clang-analyzer copy_compile_commands)
@@ -926,7 +924,7 @@ add_custom_command(
OUTPUT ${MPACK_FILES}
COMMAND ${PROJECT_SOURCE_DIR}/scripts/gen_vimdoc.py
DEPENDS
- nvim
+ nvim_bin
${API_SOURCES}
${LUA_SOURCES}
${VIMDOC_FILES}
@@ -938,7 +936,7 @@ add_custom_command(
add_custom_command(
OUTPUT ${GEN_EVAL_TOUCH}
COMMAND ${CMAKE_COMMAND} -E touch ${GEN_EVAL_TOUCH}
- COMMAND $<TARGET_FILE:nvim> -l ${PROJECT_SOURCE_DIR}/scripts/gen_eval_files.lua
+ COMMAND $<TARGET_FILE:nvim_bin> -l ${PROJECT_SOURCE_DIR}/scripts/gen_eval_files.lua
DEPENDS
${API_METADATA}
${NVIM_RUNTIME_DIR}/doc/api.mpack
diff --git a/src/nvim/po/CMakeLists.txt b/src/nvim/po/CMakeLists.txt
index 68e572911c..a4c95df3f1 100644
--- a/src/nvim/po/CMakeLists.txt
+++ b/src/nvim/po/CMakeLists.txt
@@ -53,16 +53,16 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
list(SORT NVIM_RELATIVE_SOURCES)
add_custom_command(
OUTPUT ${NVIM_POT}
- COMMAND $<TARGET_FILE:nvim> -u NONE -i NONE -n --headless --cmd "set cpo+=+"
+ COMMAND $<TARGET_FILE:nvim_bin> -u NONE -i NONE -n --headless --cmd "set cpo+=+"
-S ${CMAKE_CURRENT_SOURCE_DIR}/tojavascript.vim ${NVIM_POT} ${PROJECT_SOURCE_DIR}/runtime/optwin.vim
COMMAND ${XGETTEXT_PRG} -o ${NVIM_POT} --default-domain=nvim
--add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2
-D ${CMAKE_CURRENT_SOURCE_DIR} -D ${CMAKE_CURRENT_BINARY_DIR}
${NVIM_RELATIVE_SOURCES} optwin.js
- COMMAND $<TARGET_FILE:nvim> -u NONE -i NONE -n --headless --cmd "set cpo+=+"
+ COMMAND $<TARGET_FILE:nvim_bin> -u NONE -i NONE -n --headless --cmd "set cpo+=+"
-S ${CMAKE_CURRENT_SOURCE_DIR}/fixfilenames.vim ${NVIM_POT} ../../../runtime/optwin.vim
VERBATIM
- DEPENDS ${NVIM_SOURCES} nvim nvim_runtime_deps)
+ DEPENDS ${NVIM_SOURCES} nvim_bin nvim_runtime_deps)
set(LANGUAGE_MO_FILES)
set(UPDATE_PO_TARGETS)
@@ -88,7 +88,7 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
set(poFile ${CMAKE_CURRENT_SOURCE_DIR}/${name}.po)
add_custom_target(check-po-${name}
- COMMAND $<TARGET_FILE:nvim> -u NONE -n -e
+ COMMAND $<TARGET_FILE:nvim_bin> -u NONE -n -e
-S ${CMAKE_CURRENT_SOURCE_DIR}/check.vim
-c "if error == 0 | q | endif" -c cq ${poFile} ||
${CMAKE_COMMAND} -E echo "${name}.po failed the check."
@@ -182,6 +182,6 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
BuildMo(${LANGUAGE})
endforeach()
- add_custom_target(translations ALL DEPENDS ${LANGUAGE_MO_FILES})
+ add_custom_target(nvim_translations ALL DEPENDS ${LANGUAGE_MO_FILES})
add_custom_target(update-po DEPENDS ${UPDATE_PO_TARGETS})
endif()
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index da2c29010b..3ae11bd1a7 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -7,7 +7,7 @@ set(TEST_OPTIONS
-D CIRRUS_CI=$ENV{CIRRUS_CI}
-D CI_BUILD=${CI_BUILD}
-D DEPS_INSTALL_DIR=${DEPS_INSTALL_DIR}
- -D NVIM_PRG=$<TARGET_FILE:nvim>
+ -D NVIM_PRG=$<TARGET_FILE:nvim_bin>
-D TEST_DIR=${CMAKE_CURRENT_SOURCE_DIR}
-D WORKING_DIR=${PROJECT_SOURCE_DIR})
@@ -18,9 +18,8 @@ if(LUA_HAS_FFI)
-D TEST_TYPE=unit
${TEST_OPTIONS}
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
- DEPENDS nvim
USES_TERMINAL)
- add_dependencies(unittest lua-dev-deps)
+ add_dependencies(unittest lua-dev-deps nvim)
else()
message(WARNING "disabling unit tests: no Luajit FFI in ${LUA_PRG}")
endif()
@@ -34,16 +33,15 @@ add_custom_target(functionaltest
-D TEST_TYPE=functional
${TEST_OPTIONS}
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
- DEPENDS nvim printenv-test printargs-test shell-test pwsh-test streams-test tty-test ${GENERATED_HELP_TAGS} ${GENERATED_SYN_VIM}
+ DEPENDS printenv-test printargs-test shell-test pwsh-test streams-test tty-test
USES_TERMINAL)
+add_dependencies(functionaltest lua-dev-deps nvim)
add_custom_target(benchmark
COMMAND ${CMAKE_COMMAND}
-D TEST_TYPE=benchmark
${TEST_OPTIONS}
-P ${PROJECT_SOURCE_DIR}/cmake/RunTests.cmake
- DEPENDS nvim tty-test
+ DEPENDS tty-test
USES_TERMINAL)
-
-add_dependencies(functionaltest lua-dev-deps)
-add_dependencies(benchmark lua-dev-deps)
+add_dependencies(benchmark lua-dev-deps nvim)
diff --git a/test/functional/fixtures/CMakeLists.txt b/test/functional/fixtures/CMakeLists.txt
index 6e64b1e4dc..150407fe46 100644
--- a/test/functional/fixtures/CMakeLists.txt
+++ b/test/functional/fixtures/CMakeLists.txt
@@ -5,7 +5,7 @@ endif()
if(WIN32)
target_compile_definitions(test_lib INTERFACE MSWIN)
endif()
-target_link_libraries(test_lib INTERFACE nvim)
+target_link_libraries(test_lib INTERFACE nvim_bin)
add_executable(tty-test EXCLUDE_FROM_ALL tty-test.c)
add_executable(shell-test EXCLUDE_FROM_ALL shell-test.c)