Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@
"${workspaceFolder}/build/third_party/minizip/install/include",
"${workspaceFolder}/build/third_party/nanoflann/install/include",
"${workspaceFolder}/build/third_party/pybind11/install/include",
"${workspaceFolder}/build/third_party/spdlog/install/include"
"${workspaceFolder}/build/third_party/spdlog/install/include",
"${workspaceFolder}/build/third_party/json/install/include"
],
"C_Cpp.default.browse.path": [
"${workspaceFolder}/include",
Expand All @@ -23,7 +24,8 @@
"${workspaceFolder}/build/third_party/minizip/install/include",
"${workspaceFolder}/build/third_party/nanoflann/install/include",
"${workspaceFolder}/build/third_party/pybind11/install/include",
"${workspaceFolder}/build/third_party/spdlog/install/include"
"${workspaceFolder}/build/third_party/spdlog/install/include",
"${workspaceFolder}/build/third_party/json/install/include"
],
"files.watcherExclude": {
"${workspaceFolder}/build/**": true
Expand Down
27 changes: 27 additions & 0 deletions cmake/ConfigureJson.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#
# Copyright (c) 2019 - 2026 Geode-solutions. All rights reserved.
#


set(JSON_PATH ${PROJECT_BINARY_DIR}/third_party/json)
set(JSON_INSTALL_PREFIX ${JSON_PATH}/install)
ExternalProject_Add(json
PREFIX ${JSON_PATH}
SOURCE_DIR ${JSON_PATH}/src
BINARY_DIR ${JSON_PATH}/build
STAMP_DIR ${JSON_PATH}/stamp
GIT_REPOSITORY https://github.com/nlohmann/json
GIT_TAG v3.11.3
GIT_SHALLOW ON
GIT_PROGRESS ON
CMAKE_GENERATOR ${CMAKE_GENERATOR}
CMAKE_GENERATOR_PLATFORM ${CMAKE_GENERATOR_PLATFORM}
CMAKE_ARGS
-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-DCMAKE_INSTALL_MESSAGE=LAZY
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
CMAKE_CACHE_ARGS
-DCMAKE_INSTALL_PREFIX:PATH=${JSON_INSTALL_PREFIX}
-DJSON_BuildTests:BOOL=OFF
-DJSON_MultipleHeaders:BOOL=ON
)
2 changes: 2 additions & 0 deletions cmake/ConfigureOpenGeode.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ ExternalProject_Add(opengeode
-DPYBIND11_INSTALL_PREFIX:PATH=${PYBIND11_INSTALL_PREFIX}
-DPYBIND11_PYTHON_VERSION:STRING=${PYTHON_VERSION}
-DCMAKE_INSTALL_PREFIX:PATH=${OpenGeode_PATH_INSTALL}
-DJSON_INSTALL_PREFIX:PATH=${JSON_INSTALL_PREFIX}
BINARY_DIR ${OpenGeode_PATH_BIN}
DEPENDS
abseil
Expand All @@ -66,6 +67,7 @@ ExternalProject_Add(opengeode
minizip
nanoflann
spdlog
json
${bindings}
)

Expand Down
2 changes: 2 additions & 0 deletions cmake/OpenGeode.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ find_package(earcut_hpp REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${EARCUT_INSTALL_P
find_package(minizip-ng REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${MINIZIP_INSTALL_PREFIX})
find_package(nanoflann REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${NANOFLANN_INSTALL_PREFIX})
find_package(spdlog REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${SPDLOG_INSTALL_PREFIX})
find_package(nlohmann_json REQUIRED CONFIG NO_DEFAULT_PATH PATHS ${JSON_INSTALL_PREFIX})
find_package(Threads REQUIRED)

# Install OpenGeode third-parties
Expand All @@ -45,6 +46,7 @@ install(
${BITSERY_INSTALL_PREFIX}/
${GDAL_INSTALL_PREFIX}/
${PROJ_INSTALL_PREFIX}/
${JSON_INSTALL_PREFIX}/
DESTINATION
.
COMPONENT
Expand Down
1 change: 1 addition & 0 deletions cmake/OpenGeodeConfig.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ if(library_type STREQUAL "STATIC_LIBRARY")
find_dependency(minizip-ng)
find_dependency(nanoflann)
find_dependency(spdlog)
find_dependency(nlohmann_json)
endif()

set(CMAKE_CXX_STANDARD @OPENGEODE_CXX_STANDARD@)
Expand Down
1 change: 1 addition & 0 deletions cmake/SuperBuild.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ include(${PROJECT_SOURCE_DIR}/cmake/ConfigureSpdlog.cmake)
include(${PROJECT_SOURCE_DIR}/cmake/ConfigureSQLite.cmake)
include(${PROJECT_SOURCE_DIR}/cmake/ConfigurePROJ.cmake)
include(${PROJECT_SOURCE_DIR}/cmake/ConfigureGDAL.cmake)
include(${PROJECT_SOURCE_DIR}/cmake/ConfigureJson.cmake)

if(OPENGEODE_WITH_PYTHON OR INCLUDE_PYBIND11)
include(${PROJECT_SOURCE_DIR}/cmake/ConfigurePybind11.cmake)
Expand Down
2 changes: 2 additions & 0 deletions include/geode/basic/input.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@

#pragma once

#include <absl/algorithm/container.h>

#include <geode/basic/common.hpp>
#include <geode/basic/io.hpp>
#include <geode/basic/logger.hpp>
Expand Down Expand Up @@ -59,7 +61,7 @@
};

template < typename Object, typename... Args >
class Input : public IOFile

Check warning on line 64 in include/geode/basic/input.hpp

View workflow job for this annotation

GitHub Actions / test / tidy

include/geode/basic/input.hpp:64:11 [cppcoreguidelines-special-member-functions]

class 'Input' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator
{
public:
using InputData = Object;
Expand All @@ -72,7 +74,7 @@

[[nodiscard]] virtual Object read( const Args&... args ) = 0;

~Input()

Check warning on line 77 in include/geode/basic/input.hpp

View workflow job for this annotation

GitHub Actions / test / tidy

include/geode/basic/input.hpp:77:9 [cppcoreguidelines-explicit-virtual-functions]

annotate this function with 'override' or (rarely) 'final'
{
if( inspect_required_ )
{
Expand Down
Loading