-
Notifications
You must be signed in to change notification settings - Fork 381
Expand file tree
/
Copy pathSetupPostgresqlDeps.cmake
More file actions
56 lines (47 loc) · 1.93 KB
/
SetupPostgresqlDeps.cmake
File metadata and controls
56 lines (47 loc) · 1.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
include_guard(GLOBAL)
_userver_macos_set_default_dir(USERVER_PG_INCLUDE_DIR "pg_config;--includedir")
_userver_macos_set_default_dir(USERVER_PG_LIBRARY_DIR "pg_config;--libdir")
_userver_macos_set_default_dir(USERVER_PG_SERVER_INCLUDE_DIR "pg_config;--includedir-server")
_userver_macos_set_default_dir(USERVER_PG_SERVER_LIBRARY_DIR "pg_config;--pkglibdir")
find_package(OpenLDAP CONFIG QUIET)
if(OpenLDAP_FOUND)
set(LDAP_LIBRARY openldap::openldap)
endif()
if(NOT LDAP_LIBRARY)
find_library(LDAP_LIBRARY NAMES libldap.so libldap.dylib libldap.framework)
endif()
if(NOT LDAP_LIBRARY)
message(
FATAL_ERROR
"Failed to find libldap.so.\n" "The linux system ldap installs shared objects with very ugly names, "
"so please install `libldap2-dev` package. " "For Mac OS X please install `openldap`."
)
endif()
message(STATUS "Found ldap: ${LDAP_LIBRARY}")
find_package(PostgreSQLInternal REQUIRED)
find_package(GssApi REQUIRED)
find_package(Threads REQUIRED)
find_package(OpenSSL REQUIRED)
include(CheckLibraryExists)
check_library_exists(m sin "" USERVER_HAS_LIB_MATH)
set(USERVER_LIB_MATH)
if(USERVER_HAS_LIB_MATH)
set(USERVER_LIB_MATH m)
endif()
get_target_property(PQ_EXTRA_INITIAL_LIBRARIES_LIST PostgreSQLInternal INTERFACE_LINK_LIBRARIES)
target_link_libraries(
PostgreSQLInternal INTERFACE ${LDAP_LIBRARY} OpenSSL::SSL OpenSSL::Crypto GssApi Threads::Threads
${USERVER_LIB_MATH}
)
if(${CMAKE_SYSTEM_NAME} MATCHES "BSD" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
find_package(Intl REQUIRED)
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.20)
target_link_libraries(PostgreSQLInternal INTERFACE Intl::Intl)
else()
target_link_libraries(PostgreSQLInternal INTERFACE ${Intl_LIBRARIES})
endif()
endif()
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
find_package(Iconv REQUIRED)
target_link_libraries(PostgreSQLInternal INTERFACE Iconv::Iconv)
endif()