summarylogtreecommitdiffstats
path: root/soci.patch
blob: 8b9013c73c38d864b4982bc9e64034a5ff30e7cd (plain)
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
57
58
59
From 40f01db1d748d5df0bc3dfd1552a2c91943408e7 Mon Sep 17 00:00:00 2001
From: Stephen Martin <stephensrmmartin@gmail.com>
Date: Tue, 31 Mar 2020 14:55:34 -0700
Subject: [PATCH] Use system SOCI library on request.

---
 src/cpp/CMakeLists.txt | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
index 9fff318025..598f34fd87 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
@@ -372,8 +372,10 @@ else()
 endif()
 
 set(SOCI_INCLUDE_DIR "${RSTUDIO_TOOLS_SOCI}/include")
-include_directories(SYSTEM ${SOCI_INCLUDE_DIR})
-include_directories(SYSTEM ${SOCI_INCLUDE_BUILD_DIR})
+if(NOT RSTUDIO_USE_SYSTEM_SOCI)
+    include_directories(SYSTEM ${SOCI_INCLUDE_DIR})
+    include_directories(SYSTEM ${SOCI_INCLUDE_BUILD_DIR})
+endif()
 
 # database library includes
 if (UNIX)
@@ -394,6 +396,9 @@ endif()
 # find SOCI libraries
 if(UNIX)
    set(SOCI_LIBRARY_DIR "${RSTUDIO_TOOLS_SOCI}/build/lib")
+   if(NOT APPLE AND RSTUDIO_USE_SYSTEM_SOCI)
+      set(SOCI_LIBRARY_DIR "/usr/lib")
+   endif()
    set(CMAKE_INSTALL_RPATH "${SOCI_LIBRARY_DIR}")
    if (NOT APPLE)
       set(LIB_SUFFIX ".so")
@@ -404,8 +409,8 @@ if(UNIX)
       set(SOCI_LIB_SYMLINK ".4.0${LIB_SUFFIX}")
       set(SOCI_LIB_SUFFIX ".4.0.0${LIB_SUFFIX}")
    endif()
-   file(GLOB_RECURSE SOCI_LIBRARIES "${SOCI_LIBRARY_DIR}/*${LIB_SUFFIX}")
-   file(GLOB_RECURSE SOCI_SYMLINK_LIBRARIES "${SOCI_LIBRARY_DIR}/*${SOCI_LIB_SYMLINK}")
+   file(GLOB_RECURSE SOCI_LIBRARIES "${SOCI_LIBRARY_DIR}/*soci*${LIB_SUFFIX}")
+   file(GLOB_RECURSE SOCI_SYMLINK_LIBRARIES "${SOCI_LIBRARY_DIR}/*soci*${SOCI_LIB_SYMLINK}")
 else()
    set(SOCI_LIBRARY_DIR "${RSTUDIO_TOOLS_SOCI}/build/${SOCI_ARCH}/lib")
    if(CMAKE_BUILD_TYPE STREQUAL "Debug")
@@ -436,7 +441,7 @@ message(STATUS "SOCI libraries found under ${SOCI_LIBRARY_DIR}.")
 
 # ensure the soci libraries are installed with the installation package on Linux
 # on OSX, the needed depdencies are copied into the Frameworks directory
-if(UNIX AND NOT APPLE)
+if(UNIX AND NOT APPLE AND NOT RSTUDIO_USE_SYSTEM_SOCI)
    install(PROGRAMS "${SOCI_LIBRARY_DIR}/libsoci_core${SOCI_LIB_SUFFIX}" DESTINATION ${RSTUDIO_INSTALL_BIN})
    install(PROGRAMS "${SOCI_LIBRARY_DIR}/libsoci_sqlite3${SOCI_LIB_SUFFIX}" DESTINATION ${RSTUDIO_INSTALL_BIN})
    install(PROGRAMS "${SOCI_LIBRARY_DIR}/libsoci_postgresql${SOCI_LIB_SUFFIX}" DESTINATION ${RSTUDIO_INSTALL_BIN})
-- 
2.26.0