annotate Resources/CMake/PostgreSQLConfiguration.cmake @ 504:fe1897618c08 default tip

fix: only alter database when needed
author Christian Binder <christian.binder@varian.com>
date Mon, 13 May 2024 13:08:22 +0200
parents ecd0b719cff5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 # Orthanc - A Lightweight, RESTful DICOM Store
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 # Copyright (C) 2012-2016 Sebastien Jodogne, Medical Physics
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3 # Department, University Hospital of Liege, Belgium
459
ecd0b719cff5 update year to 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 440
diff changeset
4 # Copyright (C) 2017-2024 Osimis S.A., Belgium
ecd0b719cff5 update year to 2024
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 440
diff changeset
5 # Copyright (C) 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain, Belgium
0
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 #
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 # This program is free software: you can redistribute it and/or
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8 # modify it under the terms of the GNU Affero General Public License
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 # as published by the Free Software Foundation, either version 3 of
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 # the License, or (at your option) any later version.
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11 #
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 # This program is distributed in the hope that it will be useful, but
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 # WITHOUT ANY WARRANTY; without even the implied warranty of
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 # Affero General Public License for more details.
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 #
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 # You should have received a copy of the GNU Affero General Public License
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 # along with this program. If not, see <http://www.gnu.org/licenses/>.
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 #####################################################################
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 ## PostgreSQL
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 #####################################################################
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 INCLUDE(CheckCSourceCompiles)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 if (STATIC_BUILD OR NOT USE_SYSTEM_LIBPQ)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 add_definitions(-DORTHANC_POSTGRESQL_STATIC=1)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 SET(LIBPQ_SOURCES_DIR ${CMAKE_BINARY_DIR}/postgresql-${LIBPQ_VERSION})
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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"
426
d700c8f9fc24 migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 405
diff changeset
57 "https://orthanc.uclouvain.be/downloads/third-party-downloads/postgresql-${LIBPQ_VERSION}.tar.gz"
0
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 "${LIBPQ_SOURCES_DIR}")
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 ##
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62 ## Platform-specific configuration
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 ##
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 configure_file(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73 ${LIBPQ_SOURCES_DIR}/src/include/port/win32.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 ${AUTOGENERATED_DIR}/pg_config_os.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 COPYONLY)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
93 elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
94 add_definitions(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
95 -D_GNU_SOURCE
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
96 )
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
97
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
98 configure_file(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
99 ${LIBPQ_SOURCES_DIR}/src/include/port/linux.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
100 ${AUTOGENERATED_DIR}/pg_config_os.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
101 COPYONLY)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
102
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
103 elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin")
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
104 add_definitions(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
105 -D_GNU_SOURCE
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
106 -D_THREAD_SAFE
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
107 -D_POSIX_PTHREAD_SEMANTICS
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
108 )
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
109
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
110 configure_file(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
111 ${LIBPQ_SOURCES_DIR}/src/include/port/darwin.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
112 ${AUTOGENERATED_DIR}/pg_config_os.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
113 COPYONLY)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
114
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
115 elseif (CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
116 configure_file(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
117 ${LIBPQ_SOURCES_DIR}/src/include/port/openbsd.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
118 ${AUTOGENERATED_DIR}/pg_config_os.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
119 COPYONLY)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
120
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
121 elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
122 configure_file(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
123 ${LIBPQ_SOURCES_DIR}/src/include/port/freebsd.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
124 ${AUTOGENERATED_DIR}/pg_config_os.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
125 COPYONLY)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
126
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
127 else()
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
128 message(FATAL_ERROR "Support your platform here")
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
129 endif()
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
130
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
131
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
132 ##
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
133 ## Generation of "pg_config.h"
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
134 ##
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
209 set(restrict "__restrict")
173
30d3f68631d2 support of mingw in postgresql
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 172
diff changeset
210 else()
174
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
211 # The empty string below wouldn't work (it would do an #undef)
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
212 set(pg_restrict " ")
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
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
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
216 if (MSVC)
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
217 set(inline "__inline")
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
218 endif()
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
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
77a5d1a5ebfd fix for msvc
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 173
diff changeset
225
175
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
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
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
243 check_function_exists(strlcat HAVE_STRLCAT)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
244 check_function_exists(strlcpy HAVE_STRLCPY)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
245 check_function_exists(getpeereid HAVE_GETPEEREID)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
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
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
250 check_symbol_exists(strlcpy "stdio.h;string.h" HAVE_DECL_STRLCPY)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
251 if (NOT HAVE_DECL_STRLCPY)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
252 set(HAVE_DECL_STRLCPY 0)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
253 endif()
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
254 check_symbol_exists(strlcat "stdio.h;string.h" HAVE_DECL_STRLCAT)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
255 if (NOT HAVE_DECL_STRLCAT)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
256 set(HAVE_DECL_STRLCAT 0)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
257 endif()
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
258 check_symbol_exists(snprintf "stdio.h;string.h" HAVE_DECL_SNPRINTF)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
259 if (NOT HAVE_DECL_SNPRINTF)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
260 set(HAVE_DECL_SNPRINTF 0)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
261 endif()
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
262 check_symbol_exists(vsnprintf "stdio.h;string.h" HAVE_DECL_VSNPRINTF)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
263 if (NOT HAVE_DECL_VSNPRINTF)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
264 set(HAVE_DECL_VSNPRINTF 0)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
265 endif()
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
324
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
325
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
326
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
327 ##
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
328 ## Generic configuration
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
329 ##
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
330
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
331 file(WRITE
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
332 ${AUTOGENERATED_DIR}/pg_config_paths.h
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
333 "")
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
334
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
335 add_definitions(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
336 -DFRONTEND
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
343 )
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
344
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
347 ${LIBPQ_SOURCES_DIR}/src/include
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
348 ${LIBPQ_SOURCES_DIR}/src/include/libpq
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
349 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
350 )
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
351
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
367 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-connect.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
368 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-exec.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
369 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-lobj.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
370 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-misc.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
371 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-print.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
372 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-protocol2.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
376 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/fe-secure.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
377 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/libpq-events.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
378 ${LIBPQ_SOURCES_DIR}/src/interfaces/libpq/pqexpbuffer.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
382 ${LIBPQ_SOURCES_DIR}/src/port/inet_net_ntop.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
385 ${LIBPQ_SOURCES_DIR}/src/port/pgstrcasecmp.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
389 ${LIBPQ_SOURCES_DIR}/src/port/thread.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
390 )
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
391
175
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
392 if (NOT HAVE_STRLCPY)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
393 LIST(APPEND LIBPQ_SOURCES
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
394 ${LIBPQ_SOURCES_DIR}/src/port/strlcpy.c # Doesn't work on OS X
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
395 )
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
396 endif()
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
397
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
398 if (NOT HAVE_GETPEEREID)
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
399 LIST(APPEND LIBPQ_SOURCES
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
400 ${LIBPQ_SOURCES_DIR}/src/port/getpeereid.c # Doesn't work on OS X
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
401 )
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
402 endif()
1b67c6f8037c fix os x
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 174
diff changeset
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
9e5e7a8314e0 fix postgresql for msvc
jodogne
parents: 0
diff changeset
405 link_libraries(secur32)
9e5e7a8314e0 fix postgresql for msvc
jodogne
parents: 0
diff changeset
406
0
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
407 include_directories(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
408 ${LIBPQ_SOURCES_DIR}/src/include/port/win32
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
409 ${LIBPQ_SOURCES_DIR}/src/port
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
410 )
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
411
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
416 ${LIBPQ_SOURCES_DIR}/src/port/inet_aton.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
417 ${LIBPQ_SOURCES_DIR}/src/port/open.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
420 ${LIBPQ_SOURCES_DIR}/src/port/win32setlocale.c
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
421 )
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
437 endif()
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
438 endif()
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
439
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
440 source_group(ThirdParty\\PostgreSQL REGULAR_EXPRESSION ${LIBPQ_SOURCES_DIR}/.*)
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
441
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
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
440
2f654d1038a1 added linking againt PostgreSQL 16
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 426
diff changeset
444 "16" "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
9263b3de37ed fix build on Debian Buster
jodogne
parents: 91
diff changeset
455 include(FindPostgreSQL)
0
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
456 include_directories(
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
457 ${PostgreSQL_INCLUDE_DIR}
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
458 ${PostgreSQL_TYPE_INCLUDE_DIR}
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
459 )
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
460 link_libraries(${PostgreSQL_LIBRARY})
7cea966b6829 initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
461 endif()