aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt3
-rw-r--r--cmake/FindIconv.cmake21
-rw-r--r--cmake/FindLibIntl.cmake21
-rw-r--r--cmake/FindLibLUV.cmake3
-rw-r--r--cmake/FindLibTermkey.cmake13
-rw-r--r--cmake/FindLibUV.cmake4
-rw-r--r--cmake/FindLuaJit.cmake3
-rw-r--r--cmake/FindMsgpack.cmake5
-rw-r--r--cmake/FindTreeSitter.cmake16
-rw-r--r--cmake/LibFindMacros.cmake269
-rwxr-xr-xsrc/nvim/CMakeLists.txt18
11 files changed, 26 insertions, 350 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7944dec396..223e2ad111 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,8 +22,9 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
include(CheckCCompilerFlag)
include(CheckCSourceCompiles)
+include(FindPackageHandleStandardArgs)
include(InstallHelpers)
-include(LuaHelpers) # Find Lua interpreter
+include(LuaHelpers)
include(PreventInTreeBuilds)
include(Util)
diff --git a/cmake/FindIconv.cmake b/cmake/FindIconv.cmake
index a164abfea8..b0ffa1bd75 100644
--- a/cmake/FindIconv.cmake
+++ b/cmake/FindIconv.cmake
@@ -1,23 +1,8 @@
# TODO(dundargoc): FindIconv is shipped by default on cmake version 3.11+. This
# file can be removed once we decide to upgrade minimum cmake version.
-# - Try to find iconv
-# Once done, this will define
-#
-# Iconv_FOUND - system has iconv
-# Iconv_INCLUDE_DIRS - the iconv include directories
-# Iconv_LIBRARIES - link these to use iconv
-
-include(LibFindMacros)
-
find_path(ICONV_INCLUDE_DIR NAMES iconv.h)
find_library(ICONV_LIBRARY NAMES iconv libiconv)
-
-set(Iconv_PROCESS_INCLUDES ICONV_INCLUDE_DIR)
-if(ICONV_LIBRARY)
- set(Iconv_PROCESS_LIBS ICONV_LIBRARY)
-endif()
-
-libfind_process(Iconv)
-
-mark_as_advanced(ICONV_LIBRARY)
+find_package_handle_standard_args(Iconv DEFAULT_MSG
+ ICONV_INCLUDE_DIR)
+mark_as_advanced(ICONV_INCLUDE_DIR ICONV_LIBRARY)
diff --git a/cmake/FindLibIntl.cmake b/cmake/FindLibIntl.cmake
index d78b39ab40..8b512e5a7e 100644
--- a/cmake/FindLibIntl.cmake
+++ b/cmake/FindLibIntl.cmake
@@ -1,13 +1,5 @@
-# - Try to find libintl
-# Once done, this will define
-#
-# LibIntl_FOUND - system has libintl
-# LibIntl_INCLUDE_DIRS - the libintl include directories
-# LibIntl_LIBRARIES - link these to use libintl
-
include(CheckCSourceCompiles)
include(CheckVariableExists)
-include(LibFindMacros)
# Append custom gettext path to CMAKE_PREFIX_PATH
# if installed via Mac Homebrew
@@ -74,18 +66,15 @@ if (LibIntl_LIBRARY)
list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES "${LibIntl_LIBRARY}")
endif()
+set(REQUIRED_VARIABLES LibIntl_LIBRARY LIBTERMKEY_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.
- # Unset REQUIRED so that libfind_process(LibIntl) can proceed.
- if(LibIntl_FIND_REQUIRED)
- unset(LibIntl_FIND_REQUIRED)
- endif()
- set(LibIntl_FIND_QUIETLY ON)
+ unset(REQUIRED_VARIABLES)
check_variable_exists(_nl_msg_cat_cntr HAVE_NL_MSG_CAT_CNTR)
endif()
-set(LibIntl_PROCESS_INCLUDES LibIntl_INCLUDE_DIR)
-set(LibIntl_PROCESS_LIBS LibIntl_LIBRARY)
-libfind_process(LibIntl)
+find_package_handle_standard_args(LibIntl DEFAULT_MSG
+ ${REQUIRED_VARIABLES})
+mark_as_advanced(LIBTERMKEY_INCLUDE_DIR LIBTERMKEY_LIBRARY)
diff --git a/cmake/FindLibLUV.cmake b/cmake/FindLibLUV.cmake
index 8fc2c8509b..94d706e1fc 100644
--- a/cmake/FindLibLUV.cmake
+++ b/cmake/FindLibLUV.cmake
@@ -8,9 +8,6 @@ find_library(LIBLUV_LIBRARY NAMES ${LIBLUV_NAMES})
set(LIBLUV_LIBRARIES ${LIBLUV_LIBRARY})
set(LIBLUV_INCLUDE_DIRS ${LIBLUV_INCLUDE_DIR})
-include(FindPackageHandleStandardArgs)
-# handle the QUIETLY and REQUIRED arguments and set LIBLUV_FOUND to TRUE
-# if all listed variables are TRUE
find_package_handle_standard_args(LibLUV DEFAULT_MSG
LIBLUV_LIBRARY LIBLUV_INCLUDE_DIR)
diff --git a/cmake/FindLibTermkey.cmake b/cmake/FindLibTermkey.cmake
index f1f644dbd0..368cd21354 100644
--- a/cmake/FindLibTermkey.cmake
+++ b/cmake/FindLibTermkey.cmake
@@ -1,16 +1,5 @@
find_path(LIBTERMKEY_INCLUDE_DIR termkey.h)
-
-list(APPEND LIBTERMKEY_NAMES termkey)
-
-find_library(LIBTERMKEY_LIBRARY NAMES ${LIBTERMKEY_NAMES})
-
-set(LIBTERMKEY_LIBRARIES ${LIBTERMKEY_LIBRARY})
-set(LIBTERMKEY_INCLUDE_DIRS ${LIBTERMKEY_INCLUDE_DIR})
-
-include(FindPackageHandleStandardArgs)
-# handle the QUIETLY and REQUIRED arguments and set LIBTERMKEY_FOUND to TRUE
-# if all listed variables are TRUE
+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/FindLibUV.cmake b/cmake/FindLibUV.cmake
index ce8037b858..a134ca0917 100644
--- a/cmake/FindLibUV.cmake
+++ b/cmake/FindLibUV.cmake
@@ -63,10 +63,6 @@ if(Threads_FOUND)
list(APPEND LIBUV_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
endif()
-include(FindPackageHandleStandardArgs)
-
-# handle the QUIETLY and REQUIRED arguments and set LIBUV_FOUND to TRUE
-# if all listed variables are TRUE
find_package_handle_standard_args(LibUV DEFAULT_MSG
LIBUV_LIBRARY LIBUV_INCLUDE_DIR)
diff --git a/cmake/FindLuaJit.cmake b/cmake/FindLuaJit.cmake
index d89e3d7dfa..e3f47eee83 100644
--- a/cmake/FindLuaJit.cmake
+++ b/cmake/FindLuaJit.cmake
@@ -14,9 +14,6 @@ find_library(LUAJIT_LIBRARY NAMES ${LUAJIT_NAMES})
set(LUAJIT_LIBRARIES ${LUAJIT_LIBRARY})
set(LUAJIT_INCLUDE_DIRS ${LUAJIT_INCLUDE_DIR})
-include(FindPackageHandleStandardArgs)
-# handle the QUIETLY and REQUIRED arguments and set LUAJIT_FOUND to TRUE
-# if all listed variables are TRUE
find_package_handle_standard_args(LuaJit DEFAULT_MSG
LUAJIT_LIBRARY LUAJIT_INCLUDE_DIR)
diff --git a/cmake/FindMsgpack.cmake b/cmake/FindMsgpack.cmake
index 7ab8239f8d..8187bce08d 100644
--- a/cmake/FindMsgpack.cmake
+++ b/cmake/FindMsgpack.cmake
@@ -18,8 +18,6 @@ else()
endif()
find_library(MSGPACK_LIBRARY NAMES ${MSGPACK_NAMES}
- # Check each directory for all names to avoid using headers/libraries from
- # different places.
NAMES_PER_DIR)
mark_as_advanced(MSGPACK_INCLUDE_DIR MSGPACK_LIBRARY)
@@ -27,9 +25,6 @@ mark_as_advanced(MSGPACK_INCLUDE_DIR MSGPACK_LIBRARY)
set(MSGPACK_LIBRARIES ${MSGPACK_LIBRARY})
set(MSGPACK_INCLUDE_DIRS ${MSGPACK_INCLUDE_DIR})
-include(FindPackageHandleStandardArgs)
-# handle the QUIETLY and REQUIRED arguments and set MSGPACK_FOUND to TRUE
-# if all listed variables are TRUE
find_package_handle_standard_args(Msgpack
REQUIRED_VARS MSGPACK_LIBRARY MSGPACK_INCLUDE_DIR
VERSION_VAR MSGPACK_VERSION_STRING)
diff --git a/cmake/FindTreeSitter.cmake b/cmake/FindTreeSitter.cmake
index ae0928e9f7..2850a61b57 100644
--- a/cmake/FindTreeSitter.cmake
+++ b/cmake/FindTreeSitter.cmake
@@ -1,11 +1,5 @@
-# - Try to find tree-sitter
-# Once done, this will define
-#
-# TreeSitter_FOUND - system has tree-sitter
-# TreeSitter_INCLUDE_DIRS - the tree-sitter include directories
-# TreeSitter_LIBRARIES - link these to use tree-sitter
-
-include(LibFindMacros)
-
-libfind_pkg_detect(TreeSitter tree-sitter FIND_PATH tree_sitter/api.h FIND_LIBRARY tree-sitter)
-libfind_process(TreeSitter)
+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/LibFindMacros.cmake b/cmake/LibFindMacros.cmake
deleted file mode 100644
index 726a8631f0..0000000000
--- a/cmake/LibFindMacros.cmake
+++ /dev/null
@@ -1,269 +0,0 @@
-# Version 2.2
-# Public Domain, originally written by Lasse Kärkkäinen <tronic>
-# Maintained at https://github.com/Tronic/cmake-modules
-# Please send your improvements as pull requests on Github.
-
-# Find another package and make it a dependency of the current package.
-# This also automatically forwards the "REQUIRED" argument.
-# Usage: libfind_package(<prefix> <another package> [extra args to find_package])
-macro (libfind_package PREFIX PKG)
- set(${PREFIX}_args ${PKG} ${ARGN})
- if (${PREFIX}_FIND_REQUIRED)
- set(${PREFIX}_args ${${PREFIX}_args} REQUIRED)
- endif()
- find_package(${${PREFIX}_args})
- set(${PREFIX}_DEPENDENCIES ${${PREFIX}_DEPENDENCIES};${PKG})
- unset(${PREFIX}_args)
-endmacro()
-
-# A simple wrapper to make pkg-config searches a bit easier.
-# Works the same as CMake's internal pkg_check_modules but is always quiet.
-macro (libfind_pkg_check_modules)
- find_package(PkgConfig QUIET)
- if (PKG_CONFIG_FOUND)
- pkg_check_modules(${ARGN} QUIET)
- endif()
-endmacro()
-
-# Avoid useless copy&pasta by doing what most simple libraries do anyway:
-# pkg-config, find headers, find library.
-# Usage: libfind_pkg_detect(<prefix> <pkg-config args> FIND_PATH <name> [other args] FIND_LIBRARY <name> [other args])
-# E.g. libfind_pkg_detect(SDL2 sdl2 FIND_PATH SDL.h PATH_SUFFIXES SDL2 FIND_LIBRARY SDL2)
-function (libfind_pkg_detect PREFIX)
- # Parse arguments
- set(argname pkgargs)
- foreach (i ${ARGN})
- if ("${i}" STREQUAL "FIND_PATH")
- set(argname pathargs)
- elseif ("${i}" STREQUAL "FIND_LIBRARY")
- set(argname libraryargs)
- else()
- set(${argname} ${${argname}} ${i})
- endif()
- endforeach()
- if (NOT pkgargs)
- message(FATAL_ERROR "libfind_pkg_detect requires at least a pkg_config package name to be passed.")
- endif()
- # Find library
- libfind_pkg_check_modules(${PREFIX}_PKGCONF ${pkgargs})
- if (pathargs)
- find_path(${PREFIX}_INCLUDE_DIR NAMES ${pathargs} HINTS ${${PREFIX}_PKGCONF_INCLUDE_DIRS})
- endif()
- if (libraryargs)
- find_library(${PREFIX}_LIBRARY NAMES ${libraryargs} HINTS ${${PREFIX}_PKGCONF_LIBRARY_DIRS})
- endif()
- # Read pkg-config version
- if (${PREFIX}_PKGCONF_VERSION)
- set(${PREFIX}_VERSION ${${PREFIX}_PKGCONF_VERSION} PARENT_SCOPE)
- endif()
-endfunction()
-
-# Extracts a version #define from a version.h file, output stored to <PREFIX>_VERSION.
-# Usage: libfind_version_header(Foobar foobar/version.h FOOBAR_VERSION_STR)
-# Fourth argument "QUIET" may be used for silently testing different define names.
-# This function does nothing if the version variable is already defined.
-function (libfind_version_header PREFIX VERSION_H DEFINE_NAME)
- # Skip processing if we already have a version or if the include dir was not found
- if (${PREFIX}_VERSION OR NOT ${PREFIX}_INCLUDE_DIR)
- return()
- endif()
- set(quiet ${${PREFIX}_FIND_QUIETLY})
- # Process optional arguments
- foreach(arg ${ARGN})
- if (arg STREQUAL "QUIET")
- set(quiet TRUE)
- else()
- message(AUTHOR_WARNING "Unknown argument ${arg} to libfind_version_header ignored.")
- endif()
- endforeach()
- # Read the header and parse for version number
- set(filename "${${PREFIX}_INCLUDE_DIR}/${VERSION_H}")
- if (NOT EXISTS ${filename})
- if (NOT quiet)
- message(AUTHOR_WARNING "Unable to find ${${PREFIX}_INCLUDE_DIR}/${VERSION_H}")
- endif()
- return()
- endif()
- file(READ "${filename}" header)
- string(REGEX REPLACE ".*#[ \t]*define[ \t]*${DEFINE_NAME}[ \t]*\"([^\n]*)\".*" "\\1" match "${header}")
- # No regex match?
- if (match STREQUAL header)
- if (NOT quiet)
- message(AUTHOR_WARNING "Unable to find \#define ${DEFINE_NAME} \"<version>\" from ${${PREFIX}_INCLUDE_DIR}/${VERSION_H}")
- endif()
- return()
- endif()
- # Export the version string
- set(${PREFIX}_VERSION "${match}" PARENT_SCOPE)
-endfunction()
-
-# Do the final processing once the paths have been detected.
-# If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain
-# all the variables, each of which contain one include directory.
-# Ditto for ${PREFIX}_PROCESS_LIBS and library files.
-# Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES.
-# Also handles errors in case library detection was required, etc.
-function (libfind_process PREFIX)
- # Skip processing if already processed during this configuration run
- if (${PREFIX}_FOUND)
- return()
- endif()
-
- set(found TRUE) # Start with the assumption that the package was found
-
- # Did we find any files? Did we miss includes? These are for formatting better error messages.
- set(some_files FALSE)
- set(missing_headers FALSE)
-
- # Shorthands for some variables that we need often
- set(quiet ${${PREFIX}_FIND_QUIETLY})
- set(required ${${PREFIX}_FIND_REQUIRED})
- set(exactver ${${PREFIX}_FIND_VERSION_EXACT})
- set(findver "${${PREFIX}_FIND_VERSION}")
- set(version "${${PREFIX}_VERSION}")
-
- # Lists of config option names (all, includes, libs)
- unset(configopts)
- set(includeopts ${${PREFIX}_PROCESS_INCLUDES})
- set(libraryopts ${${PREFIX}_PROCESS_LIBS})
-
- # Process deps to add to
- foreach (i ${PREFIX} ${${PREFIX}_DEPENDENCIES})
- if (DEFINED ${i}_INCLUDE_OPTS OR DEFINED ${i}_LIBRARY_OPTS)
- # The package seems to export option lists that we can use, woohoo!
- list(APPEND includeopts ${${i}_INCLUDE_OPTS})
- list(APPEND libraryopts ${${i}_LIBRARY_OPTS})
- else()
- # If plural forms don't exist or they equal singular forms
- if ((NOT DEFINED ${i}_INCLUDE_DIRS AND NOT DEFINED ${i}_LIBRARIES) OR
- (${i}_INCLUDE_DIR STREQUAL ${i}_INCLUDE_DIRS AND ${i}_LIBRARY STREQUAL ${i}_LIBRARIES))
- # Singular forms can be used
- if (DEFINED ${i}_INCLUDE_DIR)
- list(APPEND includeopts ${i}_INCLUDE_DIR)
- endif()
- if (DEFINED ${i}_LIBRARY)
- list(APPEND libraryopts ${i}_LIBRARY)
- endif()
- else()
- # Oh no, we don't know the option names
- message(FATAL_ERROR "We couldn't determine config variable names for ${i} includes and libs. Aieeh!")
- endif()
- endif()
- endforeach()
-
- if (includeopts)
- list(REMOVE_DUPLICATES includeopts)
- endif()
-
- if (libraryopts)
- list(REMOVE_DUPLICATES libraryopts)
- endif()
-
- string(REGEX REPLACE ".*[ ;]([^ ;]*(_INCLUDE_DIRS|_LIBRARIES))" "\\1" tmp "${includeopts} ${libraryopts}")
- if (NOT tmp STREQUAL "${includeopts} ${libraryopts}")
- message(AUTHOR_WARNING "Plural form ${tmp} found in config options of ${PREFIX}. This works as before but is now deprecated. Please only use singular forms INCLUDE_DIR and LIBRARY, and update your find scripts for LibFindMacros > 2.0 automatic dependency system (most often you can simply remove the PROCESS variables entirely).")
- endif()
-
- # Include/library names separated by spaces (notice: not CMake lists)
- unset(includes)
- unset(libs)
-
- # Process all includes and set found false if any are missing
- foreach (i ${includeopts})
- list(APPEND configopts ${i})
- if (NOT "${${i}}" STREQUAL "${i}-NOTFOUND")
- list(APPEND includes "${${i}}")
- else()
- set(found FALSE)
- set(missing_headers TRUE)
- endif()
- endforeach()
-
- # Process all libraries and set found false if any are missing
- foreach (i ${libraryopts})
- list(APPEND configopts ${i})
- if (NOT "${${i}}" STREQUAL "${i}-NOTFOUND")
- list(APPEND libs "${${i}}")
- else()
- set (found FALSE)
- endif()
- endforeach()
-
- # Version checks
- if (found AND findver)
- if (NOT version)
- message(WARNING "The find module for ${PREFIX} does not provide version information, so we'll just assume that it is OK. Please fix the module or remove package version requirements to get rid of this warning.")
- elseif (version VERSION_LESS findver OR (exactver AND NOT version VERSION_EQUAL findver))
- set(found FALSE)
- set(version_unsuitable TRUE)
- endif()
- endif()
-
- # If all-OK, hide all config options, export variables, print status and exit
- if (found)
- foreach (i ${configopts})
- mark_as_advanced(${i})
- endforeach()
- if (NOT quiet)
- message(STATUS "Found ${PREFIX} ${${PREFIX}_VERSION}")
- if (LIBFIND_DEBUG)
- message(STATUS " ${PREFIX}_DEPENDENCIES=${${PREFIX}_DEPENDENCIES}")
- message(STATUS " ${PREFIX}_INCLUDE_OPTS=${includeopts}")
- message(STATUS " ${PREFIX}_INCLUDE_DIRS=${includes}")
- message(STATUS " ${PREFIX}_LIBRARY_OPTS=${libraryopts}")
- message(STATUS " ${PREFIX}_LIBRARIES=${libs}")
- endif()
- endif()
- set (${PREFIX}_INCLUDE_OPTS ${includeopts} PARENT_SCOPE)
- set (${PREFIX}_LIBRARY_OPTS ${libraryopts} PARENT_SCOPE)
- set (${PREFIX}_INCLUDE_DIRS ${includes} PARENT_SCOPE)
- set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE)
- set (${PREFIX}_FOUND TRUE PARENT_SCOPE)
- return()
- endif()
-
- # Format messages for debug info and the type of error
- set(vars "Relevant CMake configuration variables:\n")
- foreach (i ${configopts})
- mark_as_advanced(CLEAR ${i})
- set(val ${${i}})
- if ("${val}" STREQUAL "${i}-NOTFOUND")
- set (val "<not found>")
- elseif (val AND NOT EXISTS ${val})
- set (val "${val} (does not exist)")
- else()
- set(some_files TRUE)
- endif()
- set(vars "${vars} ${i}=${val}\n")
- endforeach()
- set(vars "${vars}You may use CMake GUI, cmake -D or ccmake to modify the values. Delete CMakeCache.txt to discard all values and force full re-detection if necessary.\n")
- if (version_unsuitable)
- set(msg "${PREFIX} ${${PREFIX}_VERSION} was found but")
- if (exactver)
- set(msg "${msg} only version ${findver} is acceptable.")
- else()
- set(msg "${msg} version ${findver} is the minimum requirement.")
- endif()
- else()
- if (missing_headers)
- set(msg "We could not find development headers for ${PREFIX}. Do you have the necessary dev package installed?")
- elseif (some_files)
- set(msg "We only found some files of ${PREFIX}, not all of them. Perhaps your installation is incomplete or maybe we just didn't look in the right place?")
- if(findver)
- set(msg "${msg} This could also be caused by incompatible version (if it helps, at least ${PREFIX} ${findver} should work).")
- endif()
- else()
- set(msg "We were unable to find package ${PREFIX}.")
- endif()
- endif()
-
- # Fatal error out if REQUIRED
- if (required)
- set(msg "REQUIRED PACKAGE NOT FOUND\n${msg} This package is REQUIRED and you need to install it or adjust CMake configuration in order to continue building ${CMAKE_PROJECT_NAME}.")
- message(FATAL_ERROR "${msg}\n${vars}")
- endif()
- # Otherwise just print a nasty warning
- if (NOT quiet)
- message(WARNING "WARNING: MISSING PACKAGE\n${msg} This package is NOT REQUIRED and you may ignore this warning but by doing so you may miss some functionality of ${CMAKE_PROJECT_NAME}. \n${vars}")
- endif()
-endfunction()
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
index 8884273649..9bd79a6ba7 100755
--- a/src/nvim/CMakeLists.txt
+++ b/src/nvim/CMakeLists.txt
@@ -25,29 +25,31 @@ 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_DIRS})
-target_link_libraries(main_lib INTERFACE ${TreeSitter_LIBRARIES})
+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_DIRS})
-target_link_libraries(main_lib INTERFACE ${LIBTERMKEY_LIBRARIES})
+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_DIRS})
-target_link_libraries(main_lib INTERFACE ${Iconv_LIBRARIES})
+target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${ICONV_INCLUDE_DIR})
+if(ICONV_LIBRARY)
+ target_link_libraries(main_lib INTERFACE ${ICONV_LIBRARY})
+endif()
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_DIRS})
- if (LibIntl_FOUND)
+ target_include_directories(main_lib SYSTEM BEFORE INTERFACE ${LibIntl_INCLUDE_DIR})
+ if (LibIntl_LIBRARY)
target_link_libraries(main_lib INTERFACE ${LibIntl_LIBRARY})
endif()
endif()