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