Skip to content

Commit c49d09f

Browse files
committed
Merge branch 'next' into fix/perf-distance
2 parents 1774025 + 2c45420 commit c49d09f

5 files changed

Lines changed: 59 additions & 7 deletions

File tree

cmake/ConfigureOpenGeode.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ ExternalProject_Add(opengeode
5757
-DPYBIND11_PYTHON_VERSION:STRING=${PYTHON_VERSION}
5858
-DCMAKE_INSTALL_PREFIX:PATH=${OpenGeode_PATH_INSTALL}
5959
-DJSON_INSTALL_PREFIX:PATH=${JSON_INSTALL_PREFIX}
60+
-DZLIB_INSTALL_PREFIX:PATH=${ZLIB_INSTALL_PREFIX}
6061
BINARY_DIR ${OpenGeode_PATH_BIN}
6162
DEPENDS
6263
abseil
@@ -68,6 +69,7 @@ ExternalProject_Add(opengeode
6869
nanoflann
6970
spdlog
7071
json
72+
zlib
7173
${bindings}
7274
)
7375

cmake/ConfigureZlib.cmake

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Copyright (c) 2019 - 2026 Geode-solutions
2+
#
3+
# Permission is hereby granted, free of charge, to any person obtaining a copy
4+
# of this software and associated documentation files (the "Software"), to deal
5+
# in the Software without restriction, including without limitation the rights
6+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
# copies of the Software, and to permit persons to whom the Software is
8+
# furnished to do so, subject to the following conditions:
9+
#
10+
# The above copyright notice and this permission notice shall be included in
11+
# all copies or substantial portions of the Software.
12+
#
13+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19+
# SOFTWARE.
20+
21+
set(ZLIB_PATH ${PROJECT_BINARY_DIR}/third_party/zlib)
22+
set(ZLIB_INSTALL_PREFIX ${ZLIB_PATH}/install)
23+
ExternalProject_Add(zlib
24+
PREFIX ${ZLIB_PATH}
25+
SOURCE_DIR ${ZLIB_PATH}/src
26+
BINARY_DIR ${ZLIB_PATH}/build
27+
STAMP_DIR ${ZLIB_PATH}/stamp
28+
GIT_REPOSITORY https://github.com/zlib-ng/zlib-ng
29+
GIT_TAG 2.2.1
30+
GIT_SHALLOW ON
31+
GIT_PROGRESS ON
32+
CMAKE_GENERATOR ${CMAKE_GENERATOR}
33+
CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM}
34+
CMAKE_ARGS
35+
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
36+
-DCMAKE_INSTALL_MESSAGE=LAZY
37+
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
38+
-DBUILD_SHARED_LIBS:BOOL=OFF
39+
CMAKE_CACHE_ARGS
40+
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW
41+
-DCMAKE_MSVC_RUNTIME_LIBRARY:STRING=${CMAKE_MSVC_RUNTIME_LIBRARY}
42+
-DZLIB_ENABLE_TESTS:BOOL=OFF
43+
-DZLIB_COMPAT:BOOL=ON
44+
-DWITH_NEW_STRATEGIES:BOOL=OFF
45+
-DCMAKE_INSTALL_PREFIX:PATH=${ZLIB_INSTALL_PREFIX}
46+
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
47+
)

cmake/CppTargets.cmake

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -258,13 +258,7 @@ function(add_geode_test)
258258
TIMEOUT 300
259259
FAIL_REGULAR_EXPRESSION "Sanitizer"
260260
)
261-
if(GEODE_TEST_ESSENTIAL)
262-
add_dependencies(essential ${target_name})
263-
set_tests_properties(${target_name}
264-
PROPERTIES
265-
LABELS essential
266-
)
267-
elseif(GEODE_TEST_UNSTABLE)
261+
if(GEODE_TEST_UNSTABLE)
268262
set_tests_properties(${target_name}
269263
PROPERTIES
270264
LABELS unstable
@@ -275,6 +269,12 @@ function(add_geode_test)
275269
LABELS local
276270
TIMEOUT 0
277271
)
272+
else()
273+
add_dependencies(essential ${target_name})
274+
set_tests_properties(${target_name}
275+
PROPERTIES
276+
LABELS essential
277+
)
278278
endif()
279279
if(GEODE_TEST_FIXTURES_SETUP)
280280
set_tests_properties(${target_name}

cmake/OpenGeode.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ find_package(minizip-ng REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${MINIZIP_INSTALL_
3636
find_package(nanoflann REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${NANOFLANN_INSTALL_PREFIX})
3737
find_package(spdlog REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${SPDLOG_INSTALL_PREFIX})
3838
find_package(nlohmann_json REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${JSON_INSTALL_PREFIX})
39+
find_package(zlib REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${ZLIB_INSTALL_PREFIX})
3940
find_package(Threads REQUIRED)
4041

4142
# Install OpenGeode third-parties
@@ -47,6 +48,7 @@ install(
4748
${GDAL_INSTALL_PREFIX}/
4849
${PROJ_INSTALL_PREFIX}/
4950
${JSON_INSTALL_PREFIX}/
51+
${ZLIB_INSTALL_PREFIX}/
5052
DESTINATION
5153
.
5254
COMPONENT

cmake/SuperBuild.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ include(${PROJECT_SOURCE_DIR}/cmake/ConfigureSQLite.cmake)
5959
include(${PROJECT_SOURCE_DIR}/cmake/ConfigurePROJ.cmake)
6060
include(${PROJECT_SOURCE_DIR}/cmake/ConfigureGDAL.cmake)
6161
include(${PROJECT_SOURCE_DIR}/cmake/ConfigureJson.cmake)
62+
include(${PROJECT_SOURCE_DIR}/cmake/ConfigureZlib.cmake)
6263

6364
if(OPENGEODE_WITH_PYTHON OR INCLUDE_PYBIND11)
6465
include(${PROJECT_SOURCE_DIR}/cmake/ConfigurePybind11.cmake)

0 commit comments

Comments
 (0)