annotate Resources/CMake/PostgreSQLConfiguration.cmake @ 359:16aac0287485

copyright upgraded to 2022
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 21 Feb 2022 09:32:46 +0100
parents 3236894320d6
children f83eeccece03
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
359
16aac0287485 copyright upgraded to 2022
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 193
diff changeset
4 # Copyright (C) 2017-2022 Osimis S.A., Belgium
16aac0287485 copyright upgraded to 2022
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 193
diff changeset
5 # Copyright (C) 2021-2022 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"
91
1bd538a5a783 moving third-party dependencies to another server
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 83
diff changeset
57 "http://orthanc.osimis.io/ThirdPartyDownloads/postgresql-${LIBPQ_VERSION}.tar.gz"
0
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
166
abba5165f24e support for PostgreSQL 12 and forthcoming 13
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 140
diff changeset
444 "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()