annotate Resources/CMake/PostgreSQLConfiguration.cmake @ 316:1c2cd90418c9

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