fzql / cartosphere

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cartosphere Library

License: GPL-3.0-or-later

Cartosphere is a C++17 library that performs cartoglobe transformations natively on the unit sphere. Based on [Li2018], this current version 0.0.1 incorporates fixes documented in [Li2023]. The library currently only offers benchmarks, and useful interfaces are planned.

Changelog: see CHANGELOG.md

Dependencies: glog, fftw3, eigen3, omp, boost (macOS)

Binaries may be compiled for:

  • Windows 10/11 with Visual Studio (msvc19, msvc22)
  • macOS (macOS 13 Ventura) with llvm

Benchmark

cartosphere benchmark

Instructions for Windows

  1. Install the newest Community edition of Visual Studio
  2. Clone vcpkg into a desired location and bootstrap
git clone https://github.com/microsoft/vcpkg.git
.\vcpkg\bootstrap-vcpkg.bat
  1. Add vcpkg folder to the %PATH% variable
  2. Apply user-wide vcpkg root integration
vcpkg integrate all
  1. Clone this repository
git clone https://github.com/FYPetro/cartosphere.git
  1. Open .\msvc19\msvc19.sln
  2. Build

Instructions for macOS

  1. Install command-line tools after every major macOS upgrade:
xcode-select --install
  1. Install Homebrew
  2. Install dependencies through brew
brew install fftw[core,threads]
brew install eigen
brew install boost
brew install glog
  1. Install C++ argparse
git clone https://github.com/p-ranav/argparse
cmake -DARGPARSE_BUILD_SAMPLES=on -DARGPARSE_BUILD_TESTS=on -DARGPARSE_INSTALL=on ..
  1. You may need to add the following to the beginning of argparse's CMakeLists.txt
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
  1. Install llvm as our -fopenmp-supporting compiler
brew install llvm
  1. Clone this repository, compile, and install
git clone https://github.com/FYPetro/cartosphere.git
cd cartosphere
make all
make install

About

License:GNU General Public License v3.0


Languages

Language:C++ 99.0%Language:Makefile 1.0%