aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRui Abreu Ferreira <raf-ep@gmx.com>2015-09-23 23:31:39 +0100
committerSeth Jackson <sethjackson@gmail.com>2015-11-29 23:48:01 -0500
commitf22dfeb00ddc36d33238c8fb650cbcda6572af6b (patch)
treedcef93d72c4372efc42e0035786b98db7f5b64fa
parent7d42e9b7e8169da45e32c415babc27b197a26f8a (diff)
downloadrneovim-f22dfeb00ddc36d33238c8fb650cbcda6572af6b.tar.gz
rneovim-f22dfeb00ddc36d33238c8fb650cbcda6572af6b.tar.bz2
rneovim-f22dfeb00ddc36d33238c8fb650cbcda6572af6b.zip
cmake: Don't use check_library_exists for Win32 API libraries
When building for X86 the CMake check_library_exists always fails to find functions from the Win32 API due to name mangling conventions. The convention for API functions is __stdcall and the CMake test code assumes __cdecl. Since these are libraries from the Windows API we can simply link against the libraries without checking for the functions.
-rw-r--r--cmake/FindLibUV.cmake21
1 files changed, 5 insertions, 16 deletions
diff --git a/cmake/FindLibUV.cmake b/cmake/FindLibUV.cmake
index 8542100e67..dcdd5e48b7 100644
--- a/cmake/FindLibUV.cmake
+++ b/cmake/FindLibUV.cmake
@@ -59,11 +59,6 @@ if(HAVE_LIBDL)
list(APPEND LIBUV_LIBRARIES dl)
endif()
-check_library_exists(iphlpapi GetAdaptersAddresses "iphlpapi.h" HAVE_LIBIPHLPAPI)
-if(HAVE_LIBIPHLPAPI)
- list(APPEND LIBUV_LIBRARIES iphlpapi)
-endif()
-
check_library_exists(kstat kstat_lookup "kstat.h" HAVE_LIBKSTAT)
if(HAVE_LIBKSTAT)
list(APPEND LIBUV_LIBRARIES kstat)
@@ -84,11 +79,6 @@ if(HAVE_LIBPERFSTAT)
list(APPEND LIBUV_LIBRARIES perfstat)
endif()
-check_library_exists(psapi GetProcessMemoryInfo "psapi.h" HAVE_LIBPSAPI)
-if(HAVE_LIBPSAPI)
- list(APPEND LIBUV_LIBRARIES psapi)
-endif()
-
check_library_exists(rt clock_gettime "time.h" HAVE_LIBRT)
if(HAVE_LIBRT)
list(APPEND LIBUV_LIBRARIES rt)
@@ -99,13 +89,12 @@ if(HAVE_LIBSENDFILE)
list(APPEND LIBUV_LIBRARIES sendfile)
endif()
-check_library_exists(userenv GetUserProfileDirectoryW "userenv.h" HAVE_LIBUSERENV)
-if(HAVE_LIBUSERENV)
+if(WIN32)
+ # check_library_exists() does not work for Win32 API calls in X86 due to name
+ # mangling calling conventions
+ list(APPEND LIBUV_LIBRARIES iphlpapi)
+ list(APPEND LIBUV_LIBRARIES psapi)
list(APPEND LIBUV_LIBRARIES userenv)
-endif()
-
-check_library_exists(ws2_32 WSAStartup "winsock2.h" HAVE_LIBWS232)
-if(HAVE_LIBWS232)
list(APPEND LIBUV_LIBRARIES ws2_32)
endif()