diff options
author | dundargoc <33953936+dundargoc@users.noreply.github.com> | 2023-03-02 22:50:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-02 22:50:43 +0100 |
commit | 4cf4ae93df6af09ef3a0df678bb3d154b65bf731 (patch) | |
tree | e9b47e7b94fe74f1f568cfbca89790716a1c0625 /src | |
parent | f449121764c19cebda7b8b2c970b76bc8121bae7 (diff) | |
download | rneovim-4cf4ae93df6af09ef3a0df678bb3d154b65bf731.tar.gz rneovim-4cf4ae93df6af09ef3a0df678bb3d154b65bf731.tar.bz2 rneovim-4cf4ae93df6af09ef3a0df678bb3d154b65bf731.zip |
build: cmake cleanup (#22251)
- Remove unused code
- Use consistent casing. Variable names such as LibLuV_LIBRARIES is
needlessly jarring, even if the name might be technically correct.
- Use title casing for packages. find_package(unibilium) requires the
find_module to be named "Findunibilium.cmake", which makes it harder
to spot when scanning the files. Instead, use "Unibilium".
Diffstat (limited to 'src')
-rwxr-xr-x | src/nvim/CMakeLists.txt | 122 | ||||
-rw-r--r-- | src/nvim/po/CMakeLists.txt | 3 |
2 files changed, 33 insertions, 92 deletions
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt index 9bd79a6ba7..8c23b501f9 100755 --- a/src/nvim/CMakeLists.txt +++ b/src/nvim/CMakeLists.txt @@ -1,22 +1,19 @@ add_library(main_lib INTERFACE) add_executable(nvim main.c) -add_library(libuv_lib INTERFACE) +add_library(libuv INTERFACE) find_package(libuv CONFIG) if(TARGET libuv::uv_a) - target_link_libraries(libuv_lib INTERFACE libuv::uv_a) + target_link_libraries(libuv INTERFACE libuv::uv_a) + mark_as_advanced(libuv_DIR) else() # Fall back to find module for older libuv versions that don't provide config file - find_package(LibUV 1.28.0 REQUIRED MODULE) - target_include_directories(libuv_lib SYSTEM BEFORE INTERFACE ${LIBUV_INCLUDE_DIRS}) - target_link_libraries(libuv_lib INTERFACE ${LIBUV_LIBRARIES}) + find_package(Libuv 1.28.0 REQUIRED MODULE) + target_include_directories(libuv SYSTEM BEFORE INTERFACE ${LIBUV_INCLUDE_DIRS}) + target_link_libraries(libuv INTERFACE ${LIBUV_LIBRARIES}) endif() -find_package(Msgpack 1.0.0 REQUIRED) -target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${MSGPACK_INCLUDE_DIRS}) -target_link_libraries(main_lib INTERFACE ${MSGPACK_LIBRARIES}) - -find_package(LibLUV 1.43.0 REQUIRED) +find_package(Libluv 1.43.0 REQUIRED) target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${LIBLUV_INCLUDE_DIRS}) # Use "luv" as imported library, to work around CMake using "-lluv" for # "luv.so". #10407 @@ -24,33 +21,28 @@ add_library(luv UNKNOWN IMPORTED) set_target_properties(luv PROPERTIES IMPORTED_LOCATION ${LIBLUV_LIBRARIES}) target_link_libraries(main_lib INTERFACE luv) -find_package(TreeSitter REQUIRED) -target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${TreeSitter_INCLUDE_DIR}) -target_link_libraries(main_lib INTERFACE ${TreeSitter_LIBRARY}) - -find_package(unibilium 2.0 REQUIRED) -target_link_libraries(main_lib INTERFACE unibilium) - -find_package(LibTermkey 0.22 REQUIRED) -target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${LIBTERMKEY_INCLUDE_DIR}) -target_link_libraries(main_lib INTERFACE ${LIBTERMKEY_LIBRARY}) - -find_package(libvterm 0.3 REQUIRED) -target_link_libraries(main_lib INTERFACE libvterm) - find_package(Iconv REQUIRED) -target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${ICONV_INCLUDE_DIR}) -if(ICONV_LIBRARY) - target_link_libraries(main_lib INTERFACE ${ICONV_LIBRARY}) -endif() +find_package(Libtermkey 0.22 REQUIRED) +find_package(Libvterm 0.3 REQUIRED) +find_package(Msgpack 1.0.0 REQUIRED) +find_package(Treesitter REQUIRED) +find_package(Unibilium 2.0 REQUIRED) + +target_link_libraries(main_lib INTERFACE + iconv + libtermkey + libvterm + msgpack + treesitter + unibilium) option(ENABLE_LIBINTL "enable libintl" ON) if(ENABLE_LIBINTL) - # LibIntl (not Intl) selects our FindLibIntl.cmake script. #8464 - find_package(LibIntl REQUIRED) - target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${LibIntl_INCLUDE_DIR}) - if (LibIntl_LIBRARY) - target_link_libraries(main_lib INTERFACE ${LibIntl_LIBRARY}) + # Libintl (not Intl) selects our FindLibintl.cmake script. #8464 + find_package(Libintl REQUIRED) + target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${LIBINTL_INCLUDE_DIR}) + if (LIBINTL_LIBRARY) + target_link_libraries(main_lib INTERFACE ${LIBINTL_LIBRARY}) endif() endif() @@ -61,9 +53,9 @@ if(PREFER_LUA) target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${LUA_INCLUDE_DIR}) target_link_libraries(main_lib INTERFACE ${LUA_LIBRARIES}) # Passive (not REQUIRED): if LUAJIT_FOUND is not set, fixtures for unittests is skipped. - find_package(LuaJit) + find_package(Luajit) else() - find_package(LuaJit REQUIRED) + find_package(Luajit REQUIRED) target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${LUAJIT_INCLUDE_DIRS}) target_link_libraries(main_lib INTERFACE ${LUAJIT_LIBRARIES}) endif() @@ -191,52 +183,6 @@ if(UNSIGNED_CHAR) target_compile_options(main_lib INTERFACE -funsigned-char) endif() -list(APPEND CMAKE_REQUIRED_INCLUDES "${MSGPACK_INCLUDE_DIRS}") -check_c_source_compiles(" -#include <msgpack.h> - -int -main(void) -{ - return MSGPACK_OBJECT_FLOAT32; -} -" MSGPACK_HAS_FLOAT32) -list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES "${MSGPACK_INCLUDE_DIRS}") -if(MSGPACK_HAS_FLOAT32) - target_compile_definitions(main_lib INTERFACE NVIM_MSGPACK_HAS_FLOAT32) -endif() - -list(APPEND CMAKE_REQUIRED_INCLUDES "${TreeSitter_INCLUDE_DIRS}") -list(APPEND CMAKE_REQUIRED_LIBRARIES "${TreeSitter_LIBRARIES}") -check_c_source_compiles(" -#include <tree_sitter/api.h> -int -main(void) -{ - TSQueryCursor *cursor = ts_query_cursor_new(); - ts_query_cursor_set_match_limit(cursor, 32); - return 0; -} -" TS_HAS_SET_MATCH_LIMIT) -if(TS_HAS_SET_MATCH_LIMIT) - target_compile_definitions(main_lib INTERFACE NVIM_TS_HAS_SET_MATCH_LIMIT) -endif() -check_c_source_compiles(" -#include <stdlib.h> -#include <tree_sitter/api.h> -int -main(void) -{ - ts_set_allocator(malloc, calloc, realloc, free); - return 0; -} -" TS_HAS_SET_ALLOCATOR) -if(TS_HAS_SET_ALLOCATOR) - target_compile_definitions(main_lib INTERFACE NVIM_TS_HAS_SET_ALLOCATOR) -endif() -list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES "${TreeSitter_INCLUDE_DIRS}") -list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "${TreeSitter_LIBRARIES}") - target_compile_definitions(main_lib INTERFACE INCLUDE_GENERATED_DECLARATIONS) # Remove --sort-common from linker flags, as this seems to cause bugs (see #2641, #3374). @@ -260,7 +206,7 @@ endif() if(CMAKE_C_COMPILER_ID STREQUAL "GNU" OR CMAKE_C_COMPILER_ID STREQUAL "Clang") if(CMAKE_SYSTEM_NAME STREQUAL "SunOS") target_link_libraries(nvim PRIVATE -Wl,--no-undefined -lsocket) - elseif(NOT CMAKE_SYSTEM_NAME STREQUAL "Darwin") + elseif(NOT APPLE) target_link_libraries(nvim PRIVATE -Wl,--no-undefined) endif() @@ -287,7 +233,7 @@ if(WIN32) # Enable wmain target_link_libraries(nvim PRIVATE -municode) endif() -elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin") +elseif(APPLE) target_link_libraries(nvim PRIVATE "-framework CoreServices") endif() @@ -437,7 +383,7 @@ else() endif() # Log level (MIN_LOG_LEVEL in log.h) -if($ENV{CI} MATCHES "true") +if($ENV{CI}) set(MIN_LOG_LEVEL 3) endif() if("${MIN_LOG_LEVEL}" MATCHES "^$") @@ -466,7 +412,7 @@ get_target_property(prop main_lib INTERFACE_INCLUDE_DIRECTORIES) foreach(gen_include ${prop}) list(APPEND gen_cflags "-I${gen_include}") endforeach() -if(CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_OSX_SYSROOT) +if(APPLE AND CMAKE_OSX_SYSROOT) list(APPEND gen_cflags "-isysroot") list(APPEND gen_cflags "${CMAKE_OSX_SYSROOT}") endif() @@ -718,7 +664,7 @@ if(${CMAKE_VERSION} VERSION_LESS 3.20) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) endif() -target_link_libraries(nvim PRIVATE main_lib PUBLIC libuv_lib) +target_link_libraries(nvim PRIVATE main_lib PUBLIC libuv) install_helper(TARGETS nvim) if(MSVC) install(FILES $<TARGET_PDB_FILE:nvim> DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL) @@ -829,12 +775,10 @@ if(WIN32) file(WRITE ${PROJECT_BINARY_DIR}/external_blobs.cmake ${EXTERNAL_BLOBS_SCRIPT}) add_custom_target(external_blobs COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/external_blobs.cmake) - set_target_properties(external_blobs PROPERTIES FOLDER deps) add_dependencies(nvim_runtime_deps external_blobs) else() add_custom_target(nvim_runtime_deps) # Stub target to avoid CMP0046. endif() -set_target_properties(nvim_runtime_deps PROPERTIES FOLDER deps) file(MAKE_DIRECTORY ${BINARY_LIB_DIR}) @@ -862,7 +806,7 @@ set_target_properties( OUTPUT_NAME ${LIBNVIM_NAME} ) target_compile_definitions(libnvim PRIVATE MAKE_LIB) -target_link_libraries(libnvim PRIVATE main_lib PUBLIC libuv_lib) +target_link_libraries(libnvim PRIVATE main_lib PUBLIC libuv) if(CLANG_ASAN_UBSAN) message(STATUS "Enabling Clang address sanitizer and undefined behavior sanitizer for nvim.") diff --git a/src/nvim/po/CMakeLists.txt b/src/nvim/po/CMakeLists.txt index 74f043fe03..68e572911c 100644 --- a/src/nvim/po/CMakeLists.txt +++ b/src/nvim/po/CMakeLists.txt @@ -95,7 +95,6 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG) COMMENT "Checking ${name}.po" VERBATIM DEPENDS ${poFile}) - set_target_properties(check-po-${name} PROPERTIES FOLDER po/check) endmacro() macro(BuildPoIconvGenericWithCharset @@ -182,9 +181,7 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG) BuildMo(${LANGUAGE}) endforeach() - set_target_properties(${UPDATE_PO_TARGETS} PROPERTIES FOLDER po/update) add_custom_target(translations ALL DEPENDS ${LANGUAGE_MO_FILES}) add_custom_target(update-po DEPENDS ${UPDATE_PO_TARGETS}) - set_target_properties(translations update-po PROPERTIES FOLDER po) endif() |