diff --git a/CMakeLists.txt b/CMakeLists.txt index f8bf4c7c2ee9cb785e5aa85a9c280ac6a73ff391..a224f8d7f71946b0c15c809d3b27bc4cbb4a0111 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,9 @@ endif() # Use external or embedded dependencies option(USGSCSM_EXTERNAL_DEPS "If the library should be built with external or embedded dependencies" OFF) +# To find JSON's config file +set (CMAKE_PREFIX_PATH "${CMAKE_SOURCE_DIR}/cmake;${CMAKE_PREFIX_PATH}") + if(USGSCSM_EXTERNAL_DEPS) message(STATUS "Using external dependencies") # CSM API library diff --git a/bin/usgscsm_cam_test.cc b/bin/usgscsm_cam_test.cc index c624a52e9b826a9823d86880f11dc98fc6c7cbe8..846a855791a57d0549a1632d731be2438361964c 100644 --- a/bin/usgscsm_cam_test.cc +++ b/bin/usgscsm_cam_test.cc @@ -11,8 +11,8 @@ // an ISD model). // - Ability to export a CSM model in ISD format to a CSM model state file. -#include <usgscsm/UsgsAstroPlugin.h> -#include <csm/RasterGM.h> +#include <UsgsAstroPlugin.h> +#include <RasterGM.h> #include <UsgsAstroLsSensorModel.h> #include <iostream> diff --git a/cmake/nlohmann_jsonConfig.cmake b/cmake/nlohmann_jsonConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..27b0a864a89356e466d57f57b6a6cd76be2be801 --- /dev/null +++ b/cmake/nlohmann_jsonConfig.cmake @@ -0,0 +1,15 @@ +include(FindPackageHandleStandardArgs) +set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG ${CMAKE_CURRENT_LIST_FILE}) +find_package_handle_standard_args(nlohmann_json CONFIG_MODE) + +if(NOT TARGET nlohmann_json::nlohmann_json) + include("${CMAKE_CURRENT_LIST_DIR}/nlohmann_jsonTargets.cmake") + if((NOT TARGET nlohmann_json) AND + (NOT nlohmann_json_FIND_VERSION OR + nlohmann_json_FIND_VERSION VERSION_LESS 3.2.0)) + add_library(nlohmann_json INTERFACE IMPORTED) + set_target_properties(nlohmann_json PROPERTIES + INTERFACE_LINK_LIBRARIES nlohmann_json::nlohmann_json + ) + endif() +endif() diff --git a/cmake/nlohmann_jsonTargets.cmake b/cmake/nlohmann_jsonTargets.cmake new file mode 100644 index 0000000000000000000000000000000000000000..0ae4cac305d7a07c0e84c9db2c34f48e75e30a2a --- /dev/null +++ b/cmake/nlohmann_jsonTargets.cmake @@ -0,0 +1,100 @@ +# Generated by CMake + +if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5) + message(FATAL_ERROR "CMake >= 2.6.0 required") +endif() +cmake_policy(PUSH) +cmake_policy(VERSION 2.6...3.19) +#---------------------------------------------------------------- +# Generated CMake target import file. +#---------------------------------------------------------------- + +# Commands may need to know the format version. +set(CMAKE_IMPORT_FILE_VERSION 1) + +# Protect against multiple inclusion, which would fail when already imported targets are added once more. +set(_targetsDefined) +set(_targetsNotDefined) +set(_expectedTargets) +foreach(_expectedTarget nlohmann_json::nlohmann_json) + list(APPEND _expectedTargets ${_expectedTarget}) + if(NOT TARGET ${_expectedTarget}) + list(APPEND _targetsNotDefined ${_expectedTarget}) + endif() + if(TARGET ${_expectedTarget}) + list(APPEND _targetsDefined ${_expectedTarget}) + endif() +endforeach() +if("${_targetsDefined}" STREQUAL "${_expectedTargets}") + unset(_targetsDefined) + unset(_targetsNotDefined) + unset(_expectedTargets) + set(CMAKE_IMPORT_FILE_VERSION) + cmake_policy(POP) + return() +endif() +if(NOT "${_targetsDefined}" STREQUAL "") + message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n") +endif() +unset(_targetsDefined) +unset(_targetsNotDefined) +unset(_expectedTargets) + + +# Compute the installation prefix relative to this file. +get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH) +if(_IMPORT_PREFIX STREQUAL "/") + set(_IMPORT_PREFIX "") +endif() + +# Create imported target nlohmann_json::nlohmann_json +add_library(nlohmann_json::nlohmann_json INTERFACE IMPORTED) + +set_target_properties(nlohmann_json::nlohmann_json PROPERTIES + INTERFACE_COMPILE_DEFINITIONS "JSON_USE_IMPLICIT_CONVERSIONS=\$<BOOL:ON>;JSON_DIAGNOSTICS=\$<BOOL:OFF>" + INTERFACE_COMPILE_FEATURES "cxx_std_11" + #INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include;${_IMPORT_PREFIX}/include" +) + +if(CMAKE_VERSION VERSION_LESS 3.0.0) + message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.") +endif() + +# Load information for each installed configuration. +get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) +file(GLOB CONFIG_FILES "${_DIR}/nlohmann_jsonTargets-*.cmake") +foreach(f ${CONFIG_FILES}) + include(${f}) +endforeach() + +# Cleanup temporary variables. +set(_IMPORT_PREFIX) + +# Loop over all imported files and verify that they actually exist +foreach(target ${_IMPORT_CHECK_TARGETS} ) + foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} ) + if(NOT EXISTS "${file}" ) + message(FATAL_ERROR "The imported target \"${target}\" references the file + \"${file}\" +but this file does not exist. Possible reasons include: +* The file was deleted, renamed, or moved to another location. +* An install or uninstall procedure did not complete successfully. +* The installation package was faulty and contained + \"${CMAKE_CURRENT_LIST_FILE}\" +but not all the files it references. +") + endif() + endforeach() + unset(_IMPORT_CHECK_FILES_FOR_${target}) +endforeach() +unset(_IMPORT_CHECK_TARGETS) + +# This file does not depend on other imported targets which have +# been exported from the same project but in a separate export set. + +# Commands beyond this point should not need to know the version. +set(CMAKE_IMPORT_FILE_VERSION) +cmake_policy(POP)