Commit 87c54375 authored by Henderson, Shane's avatar Henderson, Shane
Browse files

Merge branch 'quotedIncludes' into 'master'

Change from `<>` to `""` for third-party includes

See merge request neams/saline!31
parents e71d1bd1 d64fe4c0
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ cmake_minimum_required(VERSION 3.16 FATAL_ERROR)

#First pass automated version increment
project(saline
  VERSION 0.2.0
  VERSION 0.3.0
  DESCRIPTION "MSTDB-TP API"
  LANGUAGES CXX
)
@@ -16,17 +16,19 @@ project(saline
set(CMAKE_CXX_STANDARD 17) #c++20 is not fully supported on likely compilers
set(CMAKE_CXX_STANDARD_REQUIRED ON)

#
# Declare options
option(${PROJECT_NAME}_USE_EXTERNAL_JSON "Use an external JSON library" OFF)
add_subdirectory(thirdparty)
option(${PROJECT_NAME}_ENABLE_tests "Build tests" ON)
option(${PROJECT_NAME}_ENABLE_hdf5 "Use hdf5" OFF)
option(${PROJECT_NAME}_ENABLE_Fortran "Build Fortran bindings" ON)
option(${PROJECT_NAME}_ENABLE_Python "Build Python bindings" ON)

# Configure jsons
add_subdirectory(thirdparty)
# Configure the library
add_subdirectory(src)

# Testing is enabled unless explicitly turned off
if( NOT DEFINED ${PROJECT_NAME}_ENABLE_tests )
  set(${PROJECT_NAME}_ENABLE_tests ON)
endif()
if (${PROJECT_NAME}_ENABLE_tests )
  include(CTest)
  add_subdirectory(tests)

CMakePresets.json

0 → 100644
+404 −0
Original line number Diff line number Diff line
{
  "version": 8,
  "cmakeMinimumRequired": { "major": 3, "minor": 24, "patch": 0 },
  "configurePresets": [
    {
      "name": "base",
      "displayName": "Base",
      "description": "Base configuration, inherited by all other presets",
      "hidden": true,
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/build/${presetName}",
      "cacheVariables": {
        "CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
      },
      "warnings": {
        "dev": true,
        "deprecated": true
      }
    },
    {
      "name": "debug",
      "displayName": "Debug",
      "description": "Debug build (Ninja)",
      "hidden": true,
      "inherits": "base",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Debug"
      }
    },
    {
      "name": "release",
      "displayName": "Release",
      "description": "Release build (Ninja)",
      "hidden": true,
      "inherits": "base",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "Release"
      }
    },
    {
      "name": "relwithdebinfo",
      "displayName": "RelWithDebInfo",
      "description": "Optimized build with debug info (Ninja)",
      "hidden": true,
      "inherits": "base",
      "cacheVariables": {
        "CMAKE_BUILD_TYPE": "RelWithDebInfo"
      }
    },
    {
      "name": "macos-clang-debug",
      "displayName": "macOS Clang Debug (arm64)",
      "inherits": "debug",
      "toolchainFile": "toolchains/macos-clang-arm64.cmake"
    },
    {
      "name": "macos-clang-release",
      "displayName": "macOS Clang Release (arm64)",
      "inherits": "release",
      "toolchainFile": "toolchains/macos-clang-arm64.cmake"
    },
    {
      "name": "macos-clang-relwithdebinfo",
      "displayName": "macOS Clang RelWithDebInfo (arm64)",
      "inherits": "relwithdebinfo",
      "toolchainFile": "toolchains/macos-clang-arm64.cmake"
    },
    {
      "name": "linux-gcc-debug",
      "displayName": "linux gcc Debug (arm64)",
      "inherits": "debug",
      "toolchainFile": "toolchains/linux-gcc-arm64.cmake"
    },
    {
      "name": "linux-gcc-release",
      "displayName": "linux gcc Release (arm64)",
      "inherits": "release",
      "toolchainFile": "toolchains/linux-gcc-arm64.cmake"
    },
    {
      "name": "linux-gcc-relwithdebinfo",
      "displayName": "linux gcc RelWithDebInfo (arm64)",
      "inherits": "relwithdebinfo",
      "toolchainFile": "toolchains/linux-gcc-arm64.cmake"
    },
    {
      "name": "win-ifort-debug",
      "displayName": "Windows MSVC + ifort (Debug)",
      "inherits": "debug",
      "toolchainFile": "toolchains/windows-msvc-ifort.cmake",
      "cacheVariables": {
	"CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS" : "TRUE"
      }
    },
    {
      "name": "win-ifort-release",
      "displayName": "Windows MSVC + ifort (Release)",
      "inherits": "release",
      "toolchainFile": "toolchains/windows-msvc-ifort.cmake",
      "cacheVariables": {
	"CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS" : "TRUE"
      }
    },
    {
      "name": "win-ifort-relwithdebinfo",
      "displayName": "Windows MSVC + ifort (RelWithDebInfo)",
      "inherits": "relwithdebinfo",
      "toolchainFile": "toolchains/windows-msvc-ifort.cmake",
      "cacheVariables": {
	"CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS" : "TRUE"
      }
    },
    {
      "name": "win-debug",
      "inherits": "win-ifort-debug"
    },
    {
      "name": "win-release",
      "inherits": "win-ifort-release"
    },
    {
      "name": "win-relwithdebinfo",
      "inherits": "win-ifort-relwithdebinfo"
    },
    {
      "name": "vs2022-debug",
      "displayName": "VS 2022 Debug",
      "description": "Debug build using Visual Studio 2022 (multi-config)",
      "inherits": "base",
      "generator": "Visual Studio 17 2022",
      "binaryDir": "${sourceDir}/build/vs2022",
      "cacheVariables": {
        "CMAKE_CONFIGURATION_TYPES": "Debug;Release;RelWithDebInfo"
      }
    },
    {
      "name": "xcode-debug",
      "displayName": "Xcode Debug",
      "description": "Debug build using Xcode (multi-config)",
      "inherits": "base",
      "generator": "Xcode",
      "binaryDir": "${sourceDir}/build/xcode",
      "cacheVariables": {
        "CMAKE_CONFIGURATION_TYPES": "Debug;Release;RelWithDebInfo"
      }
    }
  ],

  "buildPresets": [
    {
      "name": "macos-clang-debug",
      "displayName": "Build Debug",
      "configurePreset": "macos-clang-debug",
      "configuration": "Debug",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "macos-clang-release",
      "displayName": "Build Release",
      "configurePreset": "macos-clang-release",
      "configuration": "Release",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "macos-clang-relwithdebinfo",
      "displayName": "Build RelWithDebInfo",
      "configurePreset": "macos-clang-relwithdebinfo",
      "configuration": "RelWithDebInfo",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "macos-debug",
      "inherits" : "macos-clang-debug"
    },
    {
      "name": "macos-release",
      "inherits" : "macos-clang-release"
    },
    {
      "name": "macos-relwithdebinfo",
      "inherits" : "macos-clang-relwithdebinfo"
    },
    {
      "name": "linux-gcc-debug",
      "displayName": "Build Debug",
      "configurePreset": "linux-gcc-debug",
      "configuration": "Debug",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "linux-gcc-release",
      "displayName": "Build Release",
      "configurePreset": "linux-gcc-release",
      "configuration": "Release",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "linux-gcc-relwithdebinfo",
      "displayName": "Build RelWithDebInfo",
      "configurePreset": "linux-gcc-relwithdebinfo",
      "configuration": "RelWithDebInfo",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "linux-debug",
      "inherits" : "linux-gcc-debug"
    },
    {
      "name": "linux-release",
      "inherits" : "linux-gcc-release"
    },
    {
      "name": "linux-relwithdebinfo",
      "inherits" : "linux-gcc-relwithdebinfo"
    },
    {
      "name": "win-ifort-debug",
      "displayName": "Build Windows MSVC + ifort Debug",
      "configurePreset": "win-ifort-debug",
      "configuration": "Debug",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "win-ifort-release",
      "displayName": "Build Windows MSVC + ifort Release",
      "configurePreset": "win-ifort-release",
      "configuration": "Release",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "win-ifort-relwithdebinfo",
      "displayName": "Build Windows MSVC + ifort RelWithDebInfo",
      "configurePreset": "win-ifort-relwithdebinfo",
      "configuration": "RelWithDebInfo",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "win-debug",
      "inherits" : "win-ifort-debug"
    },
    {
      "name": "win-release",
      "inherits" : "win-ifort-release"
    },
    {
      "name": "win-relwithdebinfo",
      "inherits" : "win-ifort-relwithdebinfo"
    },
    {
      "name": "vs2022-debug",
      "displayName": "Build VS 2022 Debug",
      "configurePreset": "vs2022-debug",
      "configuration": "Debug",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "vs2022-release",
      "displayName": "Build VS 2022 Release",
      "configurePreset": "vs2022-debug",
      "configuration": "Release",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "xcode-debug",
      "displayName": "Build Xcode Debug",
      "configurePreset": "xcode-debug",
      "configuration": "Debug",
      "targets" : ["all","SalinePy_wheel" ]
    },
    {
      "name": "xcode-release",
      "displayName": "Build Xcode Release",
      "configurePreset": "xcode-debug",
      "configuration": "Release",
      "targets" : ["all","SalinePy_wheel" ]
    }
  ],

  "testPresets": [
    {
      "name": "macos-clang-debug",
      "displayName": "Build Debug",
      "configurePreset": "macos-clang-debug",
      "configuration": "Debug",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "macos-clang-release",
      "displayName": "Build Release",
      "configurePreset": "macos-clang-release",
      "configuration": "Release",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "macos-clang-relwithdebinfo",
      "displayName": "Build RelWithDebInfo",
      "configurePreset": "macos-clang-relwithdebinfo",
      "configuration": "RelWithDebInfo",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "macos-debug",
      "inherits" : "macos-clang-debug"
    },
    {
      "name": "macos-release",
      "inherits" : "macos-clang-release"
    },
    {
      "name": "macos-relwithdebinfo",
      "inherits" : "macos-clang-relwithdebinfo"
    },
    {
      "name": "linux-gcc-debug",
      "displayName": "Build Debug",
      "configurePreset": "linux-gcc-debug",
      "configuration": "Debug",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "linux-gcc-release",
      "displayName": "Build Release",
      "configurePreset": "linux-gcc-release",
      "configuration": "Release",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "linux-gcc-relwithdebinfo",
      "displayName": "Build RelWithDebInfo",
      "configurePreset": "linux-gcc-relwithdebinfo",
      "configuration": "RelWithDebInfo",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "linux-debug",
      "inherits" : "linux-gcc-debug"
    },
    {
      "name": "linux-release",
      "inherits" : "linux-gcc-release"
    },
    {
      "name": "linux-relwithdebinfo",
      "inherits" : "linux-gcc-relwithdebinfo"
    },
    {
      "name": "win-ifort-debug",
      "displayName": "Build Windows MSVC + ifort Debug",
      "configurePreset": "win-ifort-debug",
      "configuration": "Debug",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "win-ifort-release",
      "displayName": "Build Windows MSVC + ifort Release",
      "configurePreset": "win-ifort-release",
      "configuration": "Release",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "win-ifort-relwithdebinfo",
      "displayName": "Build Windows MSVC + ifort RelWithDebInfo",
      "configurePreset": "win-ifort-relwithdebinfo",
      "configuration": "RelWithDebInfo",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "vs2022-debug",
      "displayName": "CTest VS 2022 Debug",
      "configurePreset": "vs2022-debug",
      "configuration": "Debug",
      "output": {
        "outputOnFailure": true
      }
    },
    {
      "name": "xcode-debug",
      "displayName": "CTest Xcode Debug",
      "configurePreset": "xcode-debug",
      "configuration": "Debug",
      "output": {
        "outputOnFailure": true
      }
    }
  ]
}
+0 −3
Original line number Diff line number Diff line
@@ -15,9 +15,6 @@
#include <string>
#include <vector>

#ifdef SALINE_USE_HDF5
#include <hdf5.h>
#endif
#include "data_store.hh"
#include "default_data_store.hh"

+0 −6
Original line number Diff line number Diff line
@@ -33,18 +33,12 @@ target_sources(${PROJECT_NAME} PRIVATE
target_link_libraries(saline PRIVATE nlohmann_json::nlohmann_json)

# The Fortran wrapper, this is linked into the main library when configured
if (NOT DEFINED ${PROJECT_NAME}_ENABLE_Fortran )
  set(${PROJECT_NAME}_ENABLE_Fortran OFF)
endif()
if( ${PROJECT_NAME}_ENABLE_Fortran )
  add_subdirectory(fortran)
  target_sources(${PROJECT_NAME} PRIVATE "$<TARGET_OBJECTS:ForSaline>")
endif()

# The Python wrapper, this is currently a separate library due to python conventions
if (NOT DEFINED ${PROJECT_NAME}_ENABLE_Python )
  set(${PROJECT_NAME}_ENABLE_Python OFF)
endif()
if( ${PROJECT_NAME}_ENABLE_Python )
  add_subdirectory(python)
endif()
+24 −22
Original line number Diff line number Diff line
@@ -4,9 +4,9 @@
#include <sstream>
#include <stdexcept>

#include <nlohmann/json.hpp>
#include "nlohmann/json.hpp"
#ifdef SALINE_USE_HDF5
#include <hdf5.h>
#include "hdf5.h"
#endif

#include "default_data_store.hh"
@@ -223,7 +223,8 @@ void Default_Data_Store::load(const std::string &fPath) {
  } else if (inFile.is_open()) {
    load(inFile);
    // Make something that dumps supported file types
    std::cout << "salineWarn: Loading a csv is deprecated, use json instead!" << std::endl;
    std::cout << "salineWarn: Loading a csv is deprecated, use json instead!"
              << std::endl;
  } else {
    throw std::runtime_error("Falied to open input file: " + fPath);
  }
@@ -978,7 +979,8 @@ std::string Default_Data_Store::to_json() const {
        oss << dat.m_mole_percents.back();
      }
      to_json(dat);
      j["MSTDBTP"]["evaluated"][key][oss.str()] = nlohmann::json::parse(to_json(dat));
      j["MSTDBTP"]["evaluated"][key][oss.str()] =
          nlohmann::json::parse(to_json(dat));
    }
  }
  return j.dump();
Loading