1
1
cmake_minimum_required (VERSION 3.24)
2
+
3
+ if (POLICY CMP0074)
4
+ cmake_policy (SET CMP0074 NEW)
5
+ endif ()
6
+
7
+ if (POLICY CMP0054)
8
+ cmake_policy (SET CMP0054 NEW)
9
+ endif ()
10
+
11
+ if (POLICY CMP0079)
12
+ cmake_policy (SET CMP0079 NEW)
13
+ endif ()
14
+
15
+ if (POLICY CMP0108)
16
+ cmake_policy (SET CMP0108 NEW)
17
+ endif ()
18
+
19
+ if (POLICY CMP0109)
20
+ cmake_policy (SET CMP0109 NEW)
21
+ endif ()
22
+
23
+ if (POLICY CMP0128)
24
+ cmake_policy (SET CMP0128 NEW)
25
+ endif ()
26
+
27
+
2
28
project (php-ext -scylladb LANGUAGES C CXX)
3
29
add_library (ext_scylladb SHARED)
4
- cmake_policy (SET CMP0079 NEW)
5
30
6
31
# if build type is not set, default to debug
7
- if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "" )
32
+ if (NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE STREQUAL "" )
8
33
set (CMAKE_BUILD_TYPE "Debug" )
9
- endif ()
34
+ endif ()
10
35
11
36
include (GNUInstallDirs)
12
37
include (CheckSymbolExists)
@@ -18,13 +43,13 @@ include(cmake/ScyllaDBPHPLibrary.cmake)
18
43
19
44
set (PHP_SCYLLADB_VERSION_MAJOR 1)
20
45
set (PHP_SCYLLADB_VERSION_MINOR 3)
21
- set (PHP_SCYLLADB_VERSION_PATCH 11 )
46
+ set (PHP_SCYLLADB_VERSION_PATCH 12 )
22
47
set (PHP_SCYLLADB_STABILITY "devel" )
23
48
set (PHP_SCYLLADB_VERSION_FULL "${PHP_SCYLLADB_VERSION_MAJOR} .${PHP_SCYLLADB_VERSION_MINOR} .${PHP_SCYLLADB_VERSION_PATCH} -${PHP_SCYLLADB_STABILITY} " )
24
49
set (PHP_SCYLLADB_VERSION "${PHP_SCYLLADB_VERSION_MAJOR} .${PHP_SCYLLADB_VERSION_MINOR} .${PHP_SCYLLADB_VERSION_PATCH} -dev" )
25
50
26
- set (CMAKE_C_STANDARD 23 )
27
- set (CMAKE_CXX_STANDARD 23 )
51
+ set (CMAKE_C_STANDARD 17 )
52
+ set (CMAKE_CXX_STANDARD 20 )
28
53
29
54
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR} /cmake" "${PROJECT_SOURCE_DIR} /third-party/sanitizers-cmake/cmake" )
30
55
@@ -40,39 +65,39 @@ set(PHP_VERSION_FOR_PHP_CONFIG "8.3" CACHE STRING "PHP version")
40
65
option (PHP_DEBUG_FOR_PHP_CONFIG "Debug or Release" ON )
41
66
option (PHP_THREAD_SAFE_FOR_PHP_CONFIG "ZTS(zts) or NTS(nts)" OFF )
42
67
43
- if (CMAKE_HOST_APPLE )
68
+ if (CMAKE_HOST_APPLE )
44
69
option (PHP_SCYLLADB_LIBUV_STATIC "Statically link libuv" ON )
45
- else ()
70
+ else ()
46
71
option (PHP_SCYLLADB_LIBUV_STATIC "Statically link libuv" OFF )
47
- endif ()
72
+ endif ()
48
73
49
74
option (PHP_SCYLLADB_LIBUV_FROM_SRC "Build LibUV from Source" ON )
50
75
51
- if (CMAKE_HOST_APPLE )
76
+ if (CMAKE_HOST_APPLE )
52
77
option (PHP_SCYLLADB_LIBSCYLLADB_STATIC "Statically link LibScyllaDB" ON )
53
- else ()
78
+ else ()
54
79
option (PHP_SCYLLADB_LIBSCYLLADB_STATIC "Statically link LibScyllaDB" OFF )
55
- endif ()
80
+ endif ()
56
81
57
82
option (PHP_SCYLLADB_USE_LIBCASSANDRA "Use DataStax LibCassandra instead of LibScyllaDB" OFF )
58
83
59
- if (CMAKE_HOST_APPLE )
84
+ if (CMAKE_HOST_APPLE )
60
85
option (PHP_SCYLLADB_LIBCASSANDRA_STATIC "Statically link LibCassandra" ON )
61
- else ()
86
+ else ()
62
87
option (PHP_SCYLLADB_LIBCASSANDRA_STATIC "Statically link LibCassandra" OFF )
63
- endif ()
88
+ endif ()
64
89
65
90
find_package (PHPConfig REQUIRED)
66
91
find_package (PHP REQUIRED)
67
92
find_package (Sanitizers REQUIRED)
68
93
find_package (Libuv REQUIRED)
69
94
find_package (LibGMP REQUIRED)
70
95
71
- if (PHP_SCYLLADB_USE_LIBCASSANDRA)
96
+ if (PHP_SCYLLADB_USE_LIBCASSANDRA)
72
97
find_package (CassandraDriver REQUIRED)
73
- else ()
98
+ else ()
74
99
find_package (ScyllaDBDriver REQUIRED)
75
- endif ()
100
+ endif ()
76
101
77
102
add_subdirectory (ZendCPP)
78
103
add_subdirectory (util)
@@ -95,19 +120,19 @@ target_sources(ext_scylladb PUBLIC FILE_SET headers TYPE HEADERS FILES "${HEADER
95
120
target_sources (ext_scylladb PRIVATE php_driver.cpp)
96
121
97
122
target_link_libraries (
98
- ext_scylladb PRIVATE
99
- Zend
100
- ext_scylladb::src
101
- ext_scylladb::utils
102
- ext_scylladb::type
103
- ext_scylladb::datetime
104
- ext_scylladb::database
105
- ext_scylladb::numbers
106
- ext_scylladb::ssl_options
107
- ext_scylladb::exceptions
108
- ext_scylladb::cluster::builder
109
- ext_scylladb::retry_policy
110
- ext_scylladb::timestamp_generator
123
+ ext_scylladb PRIVATE
124
+ Zend
125
+ ext_scylladb::src
126
+ ext_scylladb::utils
127
+ ext_scylladb::type
128
+ ext_scylladb::datetime
129
+ ext_scylladb::database
130
+ ext_scylladb::numbers
131
+ ext_scylladb::ssl_options
132
+ ext_scylladb::exceptions
133
+ ext_scylladb::cluster::builder
134
+ ext_scylladb::retry_policy
135
+ ext_scylladb::timestamp_generator
111
136
)
112
137
113
138
check_include_file("dlfcn.h" HAVE_DLFCN_H)
@@ -123,17 +148,17 @@ check_include_file("unistd.h" HAVE_UNISTD_H)
123
148
set (HAVE_STRINGS_H 0)
124
149
125
150
configure_file (
126
- config.in
127
- config.h
128
- USE_SOURCE_PERMISSIONS
129
- NEWLINE_STYLE UNIX
151
+ config.in
152
+ config.h
153
+ USE_SOURCE_PERMISSIONS
154
+ NEWLINE_STYLE UNIX
130
155
)
131
156
132
157
configure_file (
133
- version .h.in
134
- version .h
135
- USE_SOURCE_PERMISSIONS
136
- NEWLINE_STYLE UNIX
158
+ version .h.in
159
+ version .h
160
+ USE_SOURCE_PERMISSIONS
161
+ NEWLINE_STYLE UNIX
137
162
)
138
163
139
164
target_compile_definitions (ext_scylladb PRIVATE -DCOMPILE_DL_CASSANDRA -DHAVE_CONFIG_H)
0 commit comments