aboutsummaryrefslogtreecommitdiff
path: root/cmake/Find.cmake
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2023-11-29 21:52:58 +0000
committerJosh Rahm <joshuarahm@gmail.com>2023-11-29 21:52:58 +0000
commit931bffbda3668ddc609fc1da8f9eb576b170aa52 (patch)
treed8c1843a95da5ea0bb4acc09f7e37843d9995c86 /cmake/Find.cmake
parent142d9041391780ac15b89886a54015fdc5c73995 (diff)
parent4a8bf24ac690004aedf5540fa440e788459e5e34 (diff)
downloadrneovim-userreg.tar.gz
rneovim-userreg.tar.bz2
rneovim-userreg.zip
Merge remote-tracking branch 'upstream/master' into userreguserreg
Diffstat (limited to 'cmake/Find.cmake')
-rw-r--r--cmake/Find.cmake39
1 files changed, 39 insertions, 0 deletions
diff --git a/cmake/Find.cmake b/cmake/Find.cmake
new file mode 100644
index 0000000000..b363052510
--- /dev/null
+++ b/cmake/Find.cmake
@@ -0,0 +1,39 @@
+# Functions to aid the built-in find_ functions
+
+# Same as find_path, but always search in .deps directory first and then everything else.
+function(find_path2)
+ find_path_nvim(${ARGV})
+ find_path(${ARGV})
+endfunction()
+
+function(find_path_nvim)
+ set(CMAKE_FIND_FRAMEWORK NEVER)
+ set(CMAKE_FIND_APPBUNDLE NEVER)
+ find_path(${ARGV} NO_CMAKE_SYSTEM_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH)
+endfunction()
+
+# Same as find_library, but with the following search order:
+# 1. Only search in .deps directory. Only search for static libraries.
+# 2. Only search in .deps directory. Search all libraries
+# 3. Search everywhere, all libraries
+function(find_library2)
+ find_library_nvim(STATIC ${ARGV})
+ find_library_nvim(${ARGV})
+ find_library(${ARGV})
+endfunction()
+
+function(find_library_nvim)
+ cmake_parse_arguments(ARG
+ "STATIC"
+ ""
+ ""
+ ${ARGN})
+ list(REMOVE_ITEM ARGN STATIC)
+
+ if(ARG_STATIC)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
+ endif()
+ set(CMAKE_FIND_FRAMEWORK NEVER)
+ set(CMAKE_FIND_APPBUNDLE NEVER)
+ find_library(${ARGN} NO_CMAKE_SYSTEM_PATH NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH)
+endfunction()