Mercurial > hg > orthanc-databases
annotate Resources/CMake/PostgreSQLConfiguration.cmake @ 348:47db0b70f705 OrthancPostgreSQL-3.3
closing OrthancPostgreSQL-3.3
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 12 Aug 2021 16:09:37 +0200 |
parents | 48aa43c14bb3 |
children | 3236894320d6 |
rev | line source |
---|---|
0 | 1 # Orthanc - A Lightweight, RESTful DICOM Store |
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics | |
3 # Department, University Hospital of Liege, Belgium | |
140
4cd7e45b671e
upgrade to year 2020
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
120
diff
changeset
|
4 # Copyright (C) 2017-2020 Osimis S.A., Belgium |
0 | 5 # |
6 # This program is free software: you can redistribute it and/or | |
7 # modify it under the terms of the GNU Affero General Public License | |
8 # as published by the Free Software Foundation, either version 3 of | |
9 # the License, or (at your option) any later version. | |
10 # | |
11 # This program is distributed in the hope that it will be useful, but | |
12 # WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 # Affero General Public License for more details. | |
15 # | |
16 # You should have received a copy of the GNU Affero General Public License | |
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | |
19 | |
20 ##################################################################### | |
21 ## PostgreSQL | |
22 ##################################################################### | |
23 | |
24 INCLUDE(CheckCSourceCompiles) | |
25 INCLUDE(CheckFunctionExists) | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
26 INCLUDE(CheckIncludeFiles) |
0 | 27 INCLUDE(CheckStructHasMember) |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
28 INCLUDE(CheckTypeSize) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
29 |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
30 |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
31 macro(PrepareCMakeConfigurationFile Source Target) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
32 execute_process( |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
33 COMMAND |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
34 ${PYTHON_EXECUTABLE} |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
35 "${CMAKE_CURRENT_LIST_DIR}/../PostgreSQL/PrepareCMakeConfigurationFile.py" "${Source}" "${Target}" |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
36 ERROR_VARIABLE tmp |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
37 OUTPUT_VARIABLE out |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
38 ) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
39 |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
40 if (tmp) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
41 message(FATAL_ERROR "Cannot find ${Source}") |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
42 endif() |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
43 endmacro() |
0 | 44 |
45 | |
46 if (STATIC_BUILD OR NOT USE_SYSTEM_LIBPQ) | |
47 add_definitions(-DORTHANC_POSTGRESQL_STATIC=1) | |
48 | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
49 SET(LIBPQ_MAJOR 13) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
50 SET(LIBPQ_MINOR 1) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
51 SET(LIBPQ_VERSION ${LIBPQ_MAJOR}.${LIBPQ_MINOR}) |
0 | 52 |
53 SET(LIBPQ_SOURCES_DIR ${CMAKE_BINARY_DIR}/postgresql-${LIBPQ_VERSION}) | |
54 DownloadPackage( | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
55 "551302a823a1ab48b4ed14166beebba9" |
91
1bd538a5a783
moving third-party dependencies to another server
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
83
diff
changeset
|
56 "http://orthanc.osimis.io/ThirdPartyDownloads/postgresql-${LIBPQ_VERSION}.tar.gz" |
0 | 57 "${LIBPQ_SOURCES_DIR}") |
58 | |
59 | |
60 ## | |
61 ## Platform-specific configuration | |
62 ## | |
63 | |
64 if (CMAKE_SYSTEM_NAME STREQUAL "Windows") | |
178
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
65 if (EXISTS ${AUTOGENERATED_DIR}/pg_config_os.h) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
66 set(FirstRun OFF) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
67 else() |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
68 set(FirstRun ON) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
69 endif() |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
70 |
0 | 71 configure_file( |
72 ${LIBPQ_SOURCES_DIR}/src/include/port/win32.h | |
73 ${AUTOGENERATED_DIR}/pg_config_os.h | |
74 COPYONLY) | |
75 | |
178
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
76 if (FirstRun) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
77 # This is needed on MSVC2008 to have an implementation of "isinf()" and "isnan()" |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
78 file(APPEND ${AUTOGENERATED_DIR}/pg_config_os.h " |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
79 #if defined(_MSC_VER) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
80 # include <math.h> |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
81 # include <float.h> |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
82 # if !defined(isinf) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
83 # define isinf(d) ((_fpclass(d) == _FPCLASS_PINF) ? 1 : ((_fpclass(d) == _FPCLASS_NINF) ? -1 : 0)) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
84 # endif |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
85 # if !defined(isnan) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
86 # define isnan(d) (_isnan(d)) |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
87 # endif |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
88 #endif |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
89 ") |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
90 endif() |
48aa43c14bb3
definition of isinf() and isnan() in msvc2008
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
177
diff
changeset
|
91 |
0 | 92 elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux") |
93 add_definitions( | |
94 -D_GNU_SOURCE | |
95 ) | |
96 | |
97 configure_file( | |
98 ${LIBPQ_SOURCES_DIR}/src/include/port/linux.h | |
99 ${AUTOGENERATED_DIR}/pg_config_os.h | |
100 COPYONLY) | |
101 | |
102 elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin") | |
103 add_definitions( | |
104 -D_GNU_SOURCE | |
105 -D_THREAD_SAFE | |
106 -D_POSIX_PTHREAD_SEMANTICS | |
107 ) | |
108 | |
109 configure_file( | |
110 ${LIBPQ_SOURCES_DIR}/src/include/port/darwin.h | |
111 ${AUTOGENERATED_DIR}/pg_config_os.h | |
112 COPYONLY) | |
113 | |
114 elseif (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") | |
115 configure_file( | |
116 ${LIBPQ_SOURCES_DIR}/src/include/port/openbsd.h | |
117 ${AUTOGENERATED_DIR}/pg_config_os.h | |
118 COPYONLY) | |
119 | |
120 elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") | |
121 configure_file( | |
122 ${LIBPQ_SOURCES_DIR}/src/include/port/freebsd.h | |
123 ${AUTOGENERATED_DIR}/pg_config_os.h | |
124 COPYONLY) | |
125 | |
126 else() | |
127 message(FATAL_ERROR "Support your platform here") | |
128 endif() | |
129 | |
130 | |
131 ## | |
132 ## Generation of "pg_config.h" | |
133 ## | |
134 | |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
135 set(PG_VERSION "\"${LIBPQ_MAJOR}.${LIBPQ_MINOR}\"") |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
136 math(EXPR PG_VERSION_NUM "${LIBPQ_MAJOR} * 10000 + ${LIBPQ_MINOR}") |
0 | 137 |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
138 include(${CMAKE_CURRENT_LIST_DIR}/../PostgreSQL/func_accept_args.cmake) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
139 include(${CMAKE_CURRENT_LIST_DIR}/../PostgreSQL/CheckTypeAlignment.cmake) |
0 | 140 |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
141 check_include_file("execinfo.h" HAVE_EXECINFO_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
142 check_include_file("getopt.h" HAVE_GETOPT_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
143 check_include_file("ifaddrs.h" HAVE_IFADDRS_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
144 check_include_file("inttypes.h" HAVE_INTTYPES_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
145 check_include_file("langinfo.h" HAVE_LANGINFO_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
146 check_include_file("memory.h" HAVE_MEMORY_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
147 check_include_file("netinet/tcp.h" HAVE_NETINET_TCP_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
148 check_include_file("readline/history.h" HAVE_READLINE_HISTORY_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
149 check_include_file("readline/readline.h" HAVE_READLINE_READLINE_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
150 check_include_file("stdbool.h" HAVE_STDBOOL_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
151 check_include_file("stdlib.h" HAVE_STDLIB_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
152 check_include_file("string.h" HAVE_STRING_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
153 check_include_file("strings.h" HAVE_STRINGS_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
154 check_include_file("sys/epoll.h" HAVE_SYS_EPOLL_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
155 check_include_file("sys/event.h" HAVE_SYS_EVENT_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
156 check_include_file("sys/ipc.h" HAVE_SYS_IPC_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
157 check_include_file("sys/prctl.h" HAVE_SYS_PRCTL_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
158 check_include_file("sys/resource.h" HAVE_SYS_RESOURCE_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
159 check_include_file("sys/select.h" HAVE_SYS_SELECT_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
160 check_include_file("sys/sem.h" HAVE_SYS_SEM_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
161 check_include_file("sys/shm.h" HAVE_SYS_SHM_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
162 check_include_file("sys/stat.h" HAVE_SYS_STAT_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
163 check_include_file("sys/termios.h" HAVE_SYS_TERMIOS_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
164 check_include_file("sys/types.h" HAVE_SYS_TYPES_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
165 check_include_file("sys/un.h" HAVE_SYS_UN_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
166 check_include_file("termios.h" HAVE_TERMIOS_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
167 check_include_file("unistd.h" HAVE_UNISTD_H) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
168 check_include_file("wctype.h" HAVE_WCTYPE_H) |
0 | 169 |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
170 check_type_size("long long int" SIZEOF_LONG_LONG_INT) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
171 if (SIZEOF_LONG_LONG_INT EQUAL 8) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
172 set(HAVE_LONG_LONG_INT_64 1) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
173 set(PG_INT64_TYPE "long long int") |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
174 endif() |
0 | 175 |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
176 check_type_size("long int" SIZEOF_LONG_INT) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
177 if (SIZEOF_LONG_INT EQUAL 8) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
178 set(HAVE_LONG_INT_64 1) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
179 set(PG_INT64_TYPE "long int") |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
180 endif() |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
181 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
182 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
183 set(ALIGNOF_DOUBLE 8) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
184 set(ALIGNOF_INT 4) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
185 set(ALIGNOF_LONG 4) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
186 set(ALIGNOF_LONG_LONG_INT 8) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
187 set(ALIGNOF_SHORT 2) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
188 else() |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
189 check_type_alignment(double ALIGNOF_DOUBLE) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
190 check_type_alignment(int ALIGNOF_INT) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
191 check_type_alignment(long ALIGNOF_LONG) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
192 check_type_alignment("long long int" ALIGNOF_LONG_LONG_INT) |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
193 check_type_alignment(short ALIGNOF_SHORT) |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
194 endif() |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
195 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
196 set(MAXIMUM_ALIGNOF ${ALIGNOF_LONG}) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
197 if (MAXIMUM_ALIGNOF LESS ALIGNOF_DOUBLE) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
198 set(MAXIMUM_ALIGNOF ${ALIGNOF_DOUBLE}) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
199 endif() |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
200 if (HAVE_LONG_LONG_INT_64 AND (MAXIMUM_ALIGNOF LESS HAVE_LONG_LONG_INT_64)) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
201 set(MAXIMUM_ALIGNOF ${HAVE_LONG_LONG_INT_64}) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
202 endif() |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
203 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
204 if (CMAKE_COMPILER_IS_GNUCXX OR |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
205 "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
206 set(PG_PRINTF_ATTRIBUTE "gnu_printf") |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
207 set(pg_restrict "__restrict") |
174 | 208 set(restrict "__restrict") |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
209 else() |
174 | 210 # The empty string below wouldn't work (it would do an #undef) |
211 set(pg_restrict " ") | |
212 set(restrict " ") | |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
213 endif() |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
214 |
174 | 215 if (MSVC) |
216 set(inline "__inline") | |
217 endif() | |
218 | |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
219 if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows") |
177
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
220 set(CMAKE_EXTRA_INCLUDE_FILES "sys/types.h;winsock2.h;ws2tcpip.h;float.h;math.h") |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
221 else() |
177
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
222 set(CMAKE_EXTRA_INCLUDE_FILES "sys/types.h;sys/socket.h;netdb.h;float.h;math.h") |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
223 endif() |
174 | 224 |
175 | 225 check_type_size("size_t" SIZEOF_SIZE_T) |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
226 check_type_size("struct addrinfo" HAVE_STRUCT_ADDRINFO) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
227 check_type_size("struct sockaddr_storage" HAVE_STRUCT_SOCKADDR_STORAGE) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
228 check_struct_has_member("struct sockaddr_storage" ss_family |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
229 "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
230 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
231 check_function_exists(gethostbyname_r HAVE_GETHOSTBYNAME_R) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
232 check_function_exists(getopt HAVE_GETOPT) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
233 check_function_exists(getopt_long HAVE_GETOPT_LONG) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
234 check_function_exists(getpwuid_r HAVE_GETPWUID_R) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
235 check_function_exists(gettimeofday HAVE_GETTIMEOFDAY) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
236 check_function_exists(random HAVE_RANDOM) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
237 check_function_exists(srandom HAVE_SRANDOM) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
238 check_function_exists(strchrnul HAVE_STRCHRNUL) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
239 check_function_exists(strerror HAVE_STRERROR) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
240 check_function_exists(strerror_r HAVE_STRERROR_R) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
241 check_function_exists(unsetenv HAVE_UNSETENV) |
175 | 242 check_function_exists(strlcat HAVE_STRLCAT) |
243 check_function_exists(strlcpy HAVE_STRLCPY) | |
244 check_function_exists(getpeereid HAVE_GETPEEREID) | |
245 check_function_exists(getpeerucred HAVE_GETPEERUCRED) | |
177
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
246 check_function_exists(isinf HAVE_ISINF) |
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
247 check_function_exists(isnan HAVE_ISNAN) |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
248 |
175 | 249 check_symbol_exists(strlcpy "stdio.h;string.h" HAVE_DECL_STRLCPY) |
250 if (NOT HAVE_DECL_STRLCPY) | |
251 set(HAVE_DECL_STRLCPY 0) | |
252 endif() | |
253 check_symbol_exists(strlcat "stdio.h;string.h" HAVE_DECL_STRLCAT) | |
254 if (NOT HAVE_DECL_STRLCAT) | |
255 set(HAVE_DECL_STRLCAT 0) | |
256 endif() | |
257 check_symbol_exists(snprintf "stdio.h;string.h" HAVE_DECL_SNPRINTF) | |
258 if (NOT HAVE_DECL_SNPRINTF) | |
259 set(HAVE_DECL_SNPRINTF 0) | |
260 endif() | |
261 check_symbol_exists(vsnprintf "stdio.h;string.h" HAVE_DECL_VSNPRINTF) | |
262 if (NOT HAVE_DECL_VSNPRINTF) | |
263 set(HAVE_DECL_VSNPRINTF 0) | |
264 endif() | |
265 | |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
266 check_c_source_compiles(" |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
267 #include <sys/time.h> |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
268 int main(void){ |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
269 struct timeval *tp; |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
270 struct timezone *tzp; |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
271 gettimeofday(tp,tzp); |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
272 return 0; |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
273 } |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
274 " GETTIMEOFDAY_2ARG) |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
275 |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
276 if(NOT GETTIMEOFDAY_2ARG) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
277 set(GETTIMEOFDAY_1ARG 1) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
278 endif(NOT GETTIMEOFDAY_2ARG) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
279 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
280 check_c_source_compiles(" |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
281 #include <time.h> |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
282 int main(void){ |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
283 int res; |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
284 #ifndef __CYGWIN__ |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
285 res = timezone / 60; |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
286 #else |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
287 res = _timezone / 60; |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
288 #endif |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
289 return 0; |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
290 } |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
291 " HAVE_INT_TIMEZONE) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
292 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
293 # Hardcoded stuff from "./configure" of libpq |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
294 set(MEMSET_LOOP_LIMIT 1024) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
295 set(BLCKSZ 8192) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
296 set(XLOG_BLCKSZ 8192) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
297 set(DEF_PGPORT 5432) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
298 set(DEF_PGPORT_STR "\"${DEF_PGPORT}\"") |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
299 set(PG_KRB_SRVNAM "\"postgres\"") |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
300 |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
301 # Assume that zlib and openssl are always present |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
302 set(HAVE_LIBZ 1) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
303 set(HAVE_LIBSSL 1) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
304 set(HAVE_OPENSSL_INIT_SSL 1) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
305 set(USE_OPENSSL 1) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
306 set(USE_OPENSSL_RANDOM 1) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
307 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
308 PrepareCMakeConfigurationFile( |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
309 ${LIBPQ_SOURCES_DIR}/src/include/pg_config_ext.h.in |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
310 ${AUTOGENERATED_DIR}/pg_config_ext.h.in) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
311 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
312 PrepareCMakeConfigurationFile( |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
313 ${LIBPQ_SOURCES_DIR}/src/include/pg_config.h.in |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
314 ${AUTOGENERATED_DIR}/pg_config.h.in) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
315 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
316 configure_file( |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
317 ${AUTOGENERATED_DIR}/pg_config_ext.h.in |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
318 ${AUTOGENERATED_DIR}/pg_config_ext.h) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
319 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
320 configure_file( |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
321 ${AUTOGENERATED_DIR}/pg_config.h.in |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
322 ${AUTOGENERATED_DIR}/pg_config.h) |
0 | 323 |
324 | |
325 | |
326 ## | |
327 ## Generic configuration | |
328 ## | |
329 | |
330 file(WRITE | |
331 ${AUTOGENERATED_DIR}/pg_config_paths.h | |
332 "") | |
333 | |
334 add_definitions( | |
335 -DFRONTEND | |
336 -DSYSCONFDIR="" | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
337 -DTCP_NODELAY # For performance |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
338 |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
339 # Must be set for OpenSSL 1.1, not for OpenSSL 1.0?? |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
340 -DHAVE_BIO_GET_DATA=1 |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
341 -DHAVE_BIO_METH_NEW=1 |
0 | 342 ) |
343 | |
344 include_directories( | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
345 ${LIBPQ_SOURCES_DIR}/src/backend |
0 | 346 ${LIBPQ_SOURCES_DIR}/src/include |
347 ${LIBPQ_SOURCES_DIR}/src/include/libpq | |
348 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq | |
349 ) | |
350 | |
351 set(LIBPQ_SOURCES | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
352 # Don't use files from the "src/backend/" folder |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
353 ${LIBPQ_SOURCES_DIR}/src/common/base64.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
354 ${LIBPQ_SOURCES_DIR}/src/common/encnames.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
355 ${LIBPQ_SOURCES_DIR}/src/common/ip.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
356 ${LIBPQ_SOURCES_DIR}/src/common/link-canary.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
357 ${LIBPQ_SOURCES_DIR}/src/common/md5.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
358 ${LIBPQ_SOURCES_DIR}/src/common/saslprep.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
359 ${LIBPQ_SOURCES_DIR}/src/common/scram-common.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
360 ${LIBPQ_SOURCES_DIR}/src/common/sha2_openssl.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
361 ${LIBPQ_SOURCES_DIR}/src/common/string.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
362 ${LIBPQ_SOURCES_DIR}/src/common/unicode_norm.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
363 ${LIBPQ_SOURCES_DIR}/src/common/wchar.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
364 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-auth-scram.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
365 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-auth.c |
0 | 366 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-connect.c |
367 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-exec.c | |
368 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-lobj.c | |
369 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-misc.c | |
370 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-print.c | |
371 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-protocol2.c | |
372 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-protocol3.c | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
373 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-secure-common.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
374 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-secure-openssl.c |
0 | 375 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-secure.c |
376 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/libpq-events.c | |
377 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/pqexpbuffer.c | |
378 ${LIBPQ_SOURCES_DIR}/src/port/chklocale.c | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
379 ${LIBPQ_SOURCES_DIR}/src/port/explicit_bzero.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
380 ${LIBPQ_SOURCES_DIR}/src/port/getaddrinfo.c |
0 | 381 ${LIBPQ_SOURCES_DIR}/src/port/inet_net_ntop.c |
382 ${LIBPQ_SOURCES_DIR}/src/port/noblock.c | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
383 ${LIBPQ_SOURCES_DIR}/src/port/pg_strong_random.c |
0 | 384 ${LIBPQ_SOURCES_DIR}/src/port/pgstrcasecmp.c |
385 ${LIBPQ_SOURCES_DIR}/src/port/pqsignal.c | |
172
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
386 ${LIBPQ_SOURCES_DIR}/src/port/snprintf.c |
8c7bb94adff7
trying upgrade from libpq 9.6.1 to 13.1
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
166
diff
changeset
|
387 ${LIBPQ_SOURCES_DIR}/src/port/strerror.c |
0 | 388 ${LIBPQ_SOURCES_DIR}/src/port/thread.c |
389 ) | |
390 | |
175 | 391 if (NOT HAVE_STRLCPY) |
392 LIST(APPEND LIBPQ_SOURCES | |
393 ${LIBPQ_SOURCES_DIR}/src/port/strlcpy.c # Doesn't work on OS X | |
394 ) | |
395 endif() | |
396 | |
397 if (NOT HAVE_GETPEEREID) | |
398 LIST(APPEND LIBPQ_SOURCES | |
399 ${LIBPQ_SOURCES_DIR}/src/port/getpeereid.c # Doesn't work on OS X | |
400 ) | |
401 endif() | |
402 | |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
403 if (CMAKE_SYSTEM_NAME STREQUAL "Windows") |
5 | 404 link_libraries(secur32) |
405 | |
0 | 406 include_directories( |
407 ${LIBPQ_SOURCES_DIR}/src/include/port/win32 | |
408 ${LIBPQ_SOURCES_DIR}/src/port | |
409 ) | |
410 | |
411 LIST(APPEND LIBPQ_SOURCES | |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
412 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/pthread-win32.c |
0 | 413 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/win32.c |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
414 ${LIBPQ_SOURCES_DIR}/src/port/dirmod.c |
0 | 415 ${LIBPQ_SOURCES_DIR}/src/port/inet_aton.c |
416 ${LIBPQ_SOURCES_DIR}/src/port/open.c | |
417 ${LIBPQ_SOURCES_DIR}/src/port/pgsleep.c | |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
418 ${LIBPQ_SOURCES_DIR}/src/port/system.c |
0 | 419 ${LIBPQ_SOURCES_DIR}/src/port/win32setlocale.c |
420 ) | |
421 | |
177
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
422 if (CMAKE_COMPILER_IS_GNUCXX OR |
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
423 (MSVC AND MSVC_VERSION GREATER 1800)) |
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
424 # Starting Visual Studio 2013 (version 1800), it is necessary to also add "win32error.c" |
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
425 LIST(APPEND LIBPQ_SOURCES ${LIBPQ_SOURCES_DIR}/src/port/win32error.c) |
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
426 endif() |
02ad3ea95fca
fix build on ubuntu 16.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
175
diff
changeset
|
427 |
0 | 428 if (MSVC) |
173
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
429 include_directories( |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
430 ${LIBPQ_SOURCES_DIR}/src/include/port/win32_msvc |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
431 ) |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
432 |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
433 LIST(APPEND LIBPQ_SOURCES |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
434 ${LIBPQ_SOURCES_DIR}/src/port/dirent.c |
30d3f68631d2
support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
172
diff
changeset
|
435 ) |
0 | 436 endif() |
437 endif() | |
438 | |
439 source_group(ThirdParty\\PostgreSQL REGULAR_EXPRESSION ${LIBPQ_SOURCES_DIR}/.*) | |
440 | |
441 else() | |
104
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
442 set(PostgreSQL_ADDITIONAL_VERSIONS |
166
abba5165f24e
support for PostgreSQL 12 and forthcoming 13
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
140
diff
changeset
|
443 "13" "12" "11" "10" "9.6" "9.5" "9.4" "9.3" "9.2" "9.1" "9.0" "8.4" "8.3" "8.2" "8.1" "8.0") |
104
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
444 if (NOT WIN32) |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
445 foreach (suffix ${PostgreSQL_ADDITIONAL_VERSIONS}) |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
446 list(APPEND PostgreSQL_ADDITIONAL_SEARCH_PATHS |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
447 "/usr/include/postgresql/${suffix}" |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
448 "/usr/include/postgresql/${suffix}/server" |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
449 "/usr/local/include/postgresql/${suffix}" |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
450 ) |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
451 endforeach() |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
452 endif() |
0a713ffdf842
fix build on Ubuntu 14.04
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
103
diff
changeset
|
453 |
103 | 454 include(FindPostgreSQL) |
0 | 455 include_directories( |
456 ${PostgreSQL_INCLUDE_DIR} | |
457 ${PostgreSQL_TYPE_INCLUDE_DIR} | |
458 ) | |
459 link_libraries(${PostgreSQL_LIBRARY}) | |
460 endif() |