aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authordundargoc <33953936+dundargoc@users.noreply.github.com>2023-03-02 22:50:43 +0100
committerGitHub <noreply@github.com>2023-03-02 22:50:43 +0100
commit4cf4ae93df6af09ef3a0df678bb3d154b65bf731 (patch)
treee9b47e7b94fe74f1f568cfbca89790716a1c0625 /cmake
parentf449121764c19cebda7b8b2c970b76bc8121bae7 (diff)
downloadrneovim-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 'cmake')
-rw-r--r--cmake/FindIconv.cmake6
-rw-r--r--cmake/FindLibTermkey.cmake5
-rw-r--r--cmake/FindLibintl.cmake (renamed from cmake/FindLibIntl.cmake)36
-rw-r--r--cmake/FindLibluv.cmake (renamed from cmake/FindLibLUV.cmake)2
-rw-r--r--cmake/FindLibtermkey.cmake9
-rw-r--r--cmake/FindLibuv.cmake (renamed from cmake/FindLibUV.cmake)2
-rw-r--r--cmake/FindLibvterm.cmake (renamed from cmake/Findlibvterm.cmake)2
-rw-r--r--cmake/FindLuajit.cmake (renamed from cmake/FindLuaJit.cmake)2
-rw-r--r--cmake/FindMsgpack.cmake22
-rw-r--r--cmake/FindTreeSitter.cmake5
-rw-r--r--cmake/FindTreesitter.cmake40
-rw-r--r--cmake/FindUnibilium.cmake (renamed from cmake/Findunibilium.cmake)2
12 files changed, 97 insertions, 36 deletions
diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake
index b0ffa1bd75..48c1514ff2 100644
--- a/cmake/FindIconv.cmake
+++ b/cmake/FindIconv.cmake
@@ -6,3 +6,9 @@ find_library(ICONV_LIBRARY NAMES iconv libiconv)
find_package_handle_standard_args(Iconv DEFAULT_MSG
ICONV_INCLUDE_DIR)
mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIBRARY)
+
+add_library(iconv INTERFACE)
+target_include_directories(iconv SYSTEM BEFORE INTERFACE ${ICONV_INCLUDE_DIR})
+if(ICONV_LIBRARY)
+ target_link_libraries(iconv INTERFACE ${ICONV_LIBRARY})
+endif()
diff --git a/cmake/FindLibTermkey.cmake b/cmake/FindLibTermkey.cmake
deleted file mode 100644
index 368cd21354..0000000000
--- a/cmake/FindLibTermkey.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-find_path(LIBTERMKEY_INCLUDE_DIR termkey.h)
-find_library(LIBTERMKEY_LIBRARY NAMES termkey)
-find_package_handle_standard_args(LibTermkey DEFAULT_MSG
- LIBTERMKEY_LIBRARY LIBTERMKEY_INCLUDE_DIR)
-mark_as_advanced(LIBTERMKEY_INCLUDE_DIR LIBTERMKEY_LIBRARY)
diff --git a/cmake/FindLibIntl.cmake b/cmake/FindLibintl.cmake
index 8b512e5a7e..630a3545fc 100644
--- a/cmake/FindLibIntl.cmake
+++ b/cmake/FindLibintl.cmake
@@ -3,32 +3,32 @@ include(CheckVariableExists)
# Append custom gettext path to CMAKE_PREFIX_PATH
# if installed via Mac Homebrew
-if (CMAKE_HOST_APPLE)
- find_program(HOMEBREW_PROG brew)
- if (EXISTS ${HOMEBREW_PROG})
- execute_process(COMMAND ${HOMEBREW_PROG} --prefix gettext
+if (APPLE)
+ find_program(HOMEBREW_PRG brew)
+ if (EXISTS ${HOMEBREW_PRG})
+ execute_process(COMMAND ${HOMEBREW_PRG} --prefix gettext
OUTPUT_STRIP_TRAILING_WHITESPACE
OUTPUT_VARIABLE HOMEBREW_GETTEXT_PREFIX)
list(APPEND CMAKE_PREFIX_PATH "${HOMEBREW_GETTEXT_PREFIX}")
endif()
endif()
-find_path(LibIntl_INCLUDE_DIR
+find_path(LIBINTL_INCLUDE_DIR
NAMES libintl.h
PATH_SUFFIXES gettext
)
-find_library(LibIntl_LIBRARY
+find_library(LIBINTL_LIBRARY
NAMES intl libintl
)
-if (LibIntl_INCLUDE_DIR)
- list(APPEND CMAKE_REQUIRED_INCLUDES "${LibIntl_INCLUDE_DIR}")
+if (LIBINTL_INCLUDE_DIR)
+ list(APPEND CMAKE_REQUIRED_INCLUDES "${LIBINTL_INCLUDE_DIR}")
endif()
# On some systems (linux+glibc) libintl is passively available.
# So only specify the library if one was found.
-if (LibIntl_LIBRARY)
- list(APPEND CMAKE_REQUIRED_LIBRARIES "${LibIntl_LIBRARY}")
+if (LIBINTL_LIBRARY)
+ list(APPEND CMAKE_REQUIRED_LIBRARIES "${LIBINTL_LIBRARY}")
endif()
if (MSVC)
list(APPEND CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARY})
@@ -36,7 +36,7 @@ endif()
# On macOS, if libintl is a static library then we also need
# to link libiconv and CoreFoundation.
-get_filename_component(LibIntl_EXT "${LibIntl_LIBRARY}" EXT)
+get_filename_component(LibIntl_EXT "${LIBINTL_LIBRARY}" EXT)
if (APPLE AND (LibIntl_EXT STREQUAL ".a"))
set(LibIntl_STATIC TRUE)
find_library(CoreFoundation_FRAMEWORK CoreFoundation)
@@ -59,14 +59,14 @@ endif()
if (LibIntl_STATIC)
list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "${ICONV_LIBRARY}" "${CoreFoundation_FRAMEWORK}")
endif()
-if (LibIntl_INCLUDE_DIR)
- list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES "${LibIntl_INCLUDE_DIR}")
+if (LIBINTL_INCLUDE_DIR)
+ list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES "${LIBINTL_INCLUDE_DIR}")
endif()
-if (LibIntl_LIBRARY)
- list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "${LibIntl_LIBRARY}")
+if (LIBINTL_LIBRARY)
+ list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "${LIBINTL_LIBRARY}")
endif()
-set(REQUIRED_VARIABLES LibIntl_LIBRARY LIBTERMKEY_INCLUDE_DIR)
+set(REQUIRED_VARIABLES LIBINTL_LIBRARY LIBINTL_INCLUDE_DIR)
if (HAVE_WORKING_LIBINTL)
# On some systems (linux+glibc) libintl is passively available.
# If HAVE_WORKING_LIBINTL then we consider the requirement satisfied.
@@ -75,6 +75,6 @@ if (HAVE_WORKING_LIBINTL)
check_variable_exists(_nl_msg_cat_cntr HAVE_NL_MSG_CAT_CNTR)
endif()
-find_package_handle_standard_args(LibIntl DEFAULT_MSG
+find_package_handle_standard_args(Libintl DEFAULT_MSG
${REQUIRED_VARIABLES})
-mark_as_advanced(LIBTERMKEY_INCLUDE_DIR LIBTERMKEY_LIBRARY)
+mark_as_advanced(LIBINTL_LIBRARY LIBINTL_INCLUDE_DIR)
diff --git a/cmake/FindLibLUV.cmake b/cmake/FindLibluv.cmake
index 94d706e1fc..9a74d5d0e1 100644
--- a/cmake/FindLibLUV.cmake
+++ b/cmake/FindLibluv.cmake
@@ -8,7 +8,7 @@ find_library(LIBLUV_LIBRARY NAMES ${LIBLUV_NAMES})
set(LIBLUV_LIBRARIES ${LIBLUV_LIBRARY})
set(LIBLUV_INCLUDE_DIRS ${LIBLUV_INCLUDE_DIR})
-find_package_handle_standard_args(LibLUV DEFAULT_MSG
+find_package_handle_standard_args(Libluv DEFAULT_MSG
LIBLUV_LIBRARY LIBLUV_INCLUDE_DIR)
mark_as_advanced(LIBLUV_INCLUDE_DIR LIBLUV_LIBRARY)
diff --git a/cmake/FindLibtermkey.cmake b/cmake/FindLibtermkey.cmake
new file mode 100644
index 0000000000..1fc8ac78f2
--- /dev/null
+++ b/cmake/FindLibtermkey.cmake
@@ -0,0 +1,9 @@
+find_path(LIBTERMKEY_INCLUDE_DIR termkey.h)
+find_library(LIBTERMKEY_LIBRARY NAMES termkey)
+find_package_handle_standard_args(Libtermkey DEFAULT_MSG
+ LIBTERMKEY_LIBRARY LIBTERMKEY_INCLUDE_DIR)
+mark_as_advanced(LIBTERMKEY_INCLUDE_DIR LIBTERMKEY_LIBRARY)
+
+add_library(libtermkey INTERFACE)
+target_include_directories(libtermkey SYSTEM BEFORE INTERFACE ${LIBTERMKEY_INCLUDE_DIR})
+target_link_libraries(libtermkey INTERFACE ${LIBTERMKEY_LIBRARY})
diff --git a/cmake/FindLibUV.cmake b/cmake/FindLibuv.cmake
index a134ca0917..0f6e80d915 100644
--- a/cmake/FindLibUV.cmake
+++ b/cmake/FindLibuv.cmake
@@ -63,7 +63,7 @@ if(Threads_FOUND)
list(APPEND LIBUV_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
endif()
-find_package_handle_standard_args(LibUV DEFAULT_MSG
+find_package_handle_standard_args(Libuv DEFAULT_MSG
LIBUV_LIBRARY LIBUV_INCLUDE_DIR)
mark_as_advanced(LIBUV_INCLUDE_DIR LIBUV_LIBRARY)
diff --git a/cmake/Findlibvterm.cmake b/cmake/FindLibvterm.cmake
index 4a2ae48ffa..ad2e682b30 100644
--- a/cmake/Findlibvterm.cmake
+++ b/cmake/FindLibvterm.cmake
@@ -11,7 +11,7 @@ if(LIBVTERM_INCLUDE_DIR AND EXISTS "${LIBVTERM_INCLUDE_DIR}/vterm.h")
set(VTERM_VERSION ${VTERM_VERSION_MAJOR}.${VTERM_VERSION_MINOR})
endif()
-find_package_handle_standard_args(libvterm
+find_package_handle_standard_args(Libvterm
REQUIRED_VARS LIBVTERM_INCLUDE_DIR LIBVTERM_LIBRARY
VERSION_VAR VTERM_VERSION)
diff --git a/cmake/FindLuaJit.cmake b/cmake/FindLuajit.cmake
index e3f47eee83..924e4c80d4 100644
--- a/cmake/FindLuaJit.cmake
+++ b/cmake/FindLuajit.cmake
@@ -14,7 +14,7 @@ find_library(LUAJIT_LIBRARY NAMES ${LUAJIT_NAMES})
set(LUAJIT_LIBRARIES ${LUAJIT_LIBRARY})
set(LUAJIT_INCLUDE_DIRS ${LUAJIT_INCLUDE_DIR})
-find_package_handle_standard_args(LuaJit DEFAULT_MSG
+find_package_handle_standard_args(Luajit DEFAULT_MSG
LUAJIT_LIBRARY LUAJIT_INCLUDE_DIR)
mark_as_advanced(LUAJIT_INCLUDE_DIR LUAJIT_LIBRARY)
diff --git a/cmake/FindMsgpack.cmake b/cmake/FindMsgpack.cmake
index 8187bce08d..43c4c3c16b 100644
--- a/cmake/FindMsgpack.cmake
+++ b/cmake/FindMsgpack.cmake
@@ -22,9 +22,25 @@ find_library(MSGPACK_LIBRARY NAMES ${MSGPACK_NAMES}
mark_as_advanced(MSGPACK_INCLUDE_DIR MSGPACK_LIBRARY)
-set(MSGPACK_LIBRARIES ${MSGPACK_LIBRARY})
-set(MSGPACK_INCLUDE_DIRS ${MSGPACK_INCLUDE_DIR})
-
find_package_handle_standard_args(Msgpack
REQUIRED_VARS MSGPACK_LIBRARY MSGPACK_INCLUDE_DIR
VERSION_VAR MSGPACK_VERSION_STRING)
+
+add_library(msgpack INTERFACE)
+target_include_directories(msgpack SYSTEM BEFORE INTERFACE ${MSGPACK_INCLUDE_DIR})
+target_link_libraries(msgpack INTERFACE ${MSGPACK_LIBRARY})
+
+list(APPEND CMAKE_REQUIRED_INCLUDES "${MSGPACK_INCLUDE_DIR}")
+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_DIR}")
+if(MSGPACK_HAS_FLOAT32)
+ target_compile_definitions(msgpack INTERFACE NVIM_MSGPACK_HAS_FLOAT32)
+endif()
diff --git a/cmake/FindTreeSitter.cmake b/cmake/FindTreeSitter.cmake
deleted file mode 100644
index 2850a61b57..0000000000
--- a/cmake/FindTreeSitter.cmake
+++ /dev/null
@@ -1,5 +0,0 @@
-find_path(TreeSitter_INCLUDE_DIR tree_sitter/api.h)
-find_library(TreeSitter_LIBRARY NAMES tree-sitter)
-find_package_handle_standard_args(TreeSitter DEFAULT_MSG
- TreeSitter_LIBRARY TreeSitter_INCLUDE_DIR)
-mark_as_advanced(TreeSitter_LIBRARY TreeSitter_INCLUDE_DIR)
diff --git a/cmake/FindTreesitter.cmake b/cmake/FindTreesitter.cmake
new file mode 100644
index 0000000000..ef308ad5e1
--- /dev/null
+++ b/cmake/FindTreesitter.cmake
@@ -0,0 +1,40 @@
+find_path(TREESITTER_INCLUDE_DIR tree_sitter/api.h)
+find_library(TREESITTER_LIBRARY NAMES tree-sitter)
+find_package_handle_standard_args(Treesitter DEFAULT_MSG
+ TREESITTER_LIBRARY TREESITTER_INCLUDE_DIR)
+mark_as_advanced(TREESITTER_LIBRARY TREESITTER_INCLUDE_DIR)
+
+add_library(treesitter INTERFACE)
+target_include_directories(treesitter SYSTEM BEFORE INTERFACE ${TREESITTER_INCLUDE_DIR})
+target_link_libraries(treesitter INTERFACE ${TREESITTER_LIBRARY})
+
+list(APPEND CMAKE_REQUIRED_INCLUDES "${TREESITTER_INCLUDE_DIR}")
+list(APPEND CMAKE_REQUIRED_LIBRARIES "${TREESITTER_LIBRARY}")
+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(treesitter 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(treesitter INTERFACE NVIM_TS_HAS_SET_ALLOCATOR)
+endif()
+list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES "${TREESITTER_INCLUDE_DIR}")
+list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "${TREESITTER_LIBRARY}")
diff --git a/cmake/Findunibilium.cmake b/cmake/FindUnibilium.cmake
index 3dbac31b5b..35a9016b19 100644
--- a/cmake/Findunibilium.cmake
+++ b/cmake/FindUnibilium.cmake
@@ -1,7 +1,7 @@
find_path(UNIBILIUM_INCLUDE_DIR unibilium.h)
find_library(UNIBILIUM_LIBRARY unibilium)
-find_package_handle_standard_args(unibilium
+find_package_handle_standard_args(Unibilium
REQUIRED_VARS UNIBILIUM_INCLUDE_DIR UNIBILIUM_LIBRARY)
add_library(unibilium INTERFACE)