Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/uncertainty gcbm #106

Open
wants to merge 59 commits into
base: feature/uncertainty
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
f182948
Changed SQLite open mode to explicitly read-only / no-mutex to improv…
mfellows Feb 18, 2020
2a13d95
Fix typo in dockerfile.flint.ubuntu.18.04
Tlazypanda Jun 11, 2020
db9a230
Merge pull request #50 from Tlazypanda/fix_typo_docker
leitchy Jun 11, 2020
19df52e
add badges to readme.md
Tlazypanda Jun 13, 2020
79af9d4
Merge pull request #55 from Tlazypanda/add_badges
gmajan Jun 14, 2020
eea8855
Add pull request template for flint
Tlazypanda Jun 11, 2020
5a749dc
moved to c++17
malfrancis Jun 16, 2020
e9c71b2
Merge pull request #52 from Tlazypanda/add_pull_request_template
gmajan Jun 16, 2020
e1cc276
Fix for OutputerStreamFlux
leitchy Jun 18, 2020
084cacb
Merge pull request #57 from moja-global/feature/flux_output_fix
leitchy Jun 18, 2020
103da72
Merge remote-tracking branch 'origin/develop' into develop
malfrancis Jun 19, 2020
1705222
pre-allocated tuple and persistable vectors in the recordaccumulator
malfrancis Jun 19, 2020
264917a
Added a tuple collection
malfrancis Jun 21, 2020
8c95989
fixed minmax windows macro issue
malfrancis Jun 23, 2020
ab18b2d
Added out of memory handler to give the user more information about t…
mfellows Jun 24, 2020
72fafac
add welcome bot config
Tlazypanda Jul 2, 2020
e1a2863
Merge pull request #64 from Tlazypanda/add_welcome_bot_config
mfellows Jul 23, 2020
8577b4e
Merge remote-tracking branch 'remotes/origin/sqlite_locking' into dev…
mfellows Sep 8, 2020
dda45fe
Added support for outputting properties of DynamicObject-style variab…
mfellows Nov 10, 2020
b155a3f
refactor readme with readthedocs
Tlazypanda Dec 3, 2020
ec050f8
Merge branch 'develop' into refactor_readme
Tlazypanda Dec 7, 2020
32801ec
Merge pull request #72 from Tlazypanda/refactor_readme
gmajan Dec 7, 2020
752aac5
Fixed error in cmake setup in base docker file.
mfellows Dec 7, 2020
79127a6
Merge branch 'develop' of https://github.com/moja-global/FLINT into d…
mfellows Dec 7, 2020
e450ed5
Fix Dockerfiles to build FLINT images
shubhamkarande13 Dec 8, 2020
da3734c
Merge pull request #75 from shubhamkarande13/develop
mfellows Dec 8, 2020
f85c141
Added shrink_to_fit RecordAccumulator2
leitchy Dec 9, 2020
a92942b
Merge pull request #76 from moja-global/feature/shrink_to_fit
leitchy Dec 9, 2020
db75504
Added methods to assist large data aggregations
malfrancis Dec 15, 2020
9c2d99a
Fixed occasional error reading layer metadata when using relative paths.
mfellows Dec 15, 2020
b5b14f8
Merge branch 'develop' of https://github.com/moja-global/FLINT into d…
mfellows Dec 15, 2020
2750320
Fixed issue with column data when nulls are present.
malfrancis Mar 29, 2021
510ffdd
Dockerfile cleanup, added BUILD_TYPE arg to switch between debug and …
Apr 6, 2021
976b6a3
added video installation links
mavneeK Apr 17, 2021
4a55b14
Merge pull request #89 from mavneeK/develop
aornugent Apr 21, 2021
b9fa2d8
Update README.md
vidhya001 Apr 24, 2021
986d7ef
Merge pull request #95 from vidhya001/Updated-README.md
aornugent Apr 27, 2021
5ee2900
Changes to std::mutex
malfrancis May 5, 2021
aa30f6b
fixed env issue
malfrancis May 5, 2021
34f5c46
Turned on gdal by default
malfrancis May 5, 2021
e9e352e
linux fix
malfrancis May 14, 2021
8dd7d9f
Removed ublas
malfrancis May 14, 2021
8b38028
Updates to RecordAccumulatorWithMutex2
leitchy May 19, 2021
27d53a7
Reversed typename for ID in template
leitchy May 19, 2021
c05ae07
Merge pull request #2 from MullionGroup/feature-collection-updates
leitchy May 20, 2021
4794ef2
Small fix for OutputerStreamFlux
leitchy May 31, 2021
e9d0002
DevContainer stuff
leitchy May 31, 2021
11a57e2
Merge branch 'feature-collection-updates' into develop
leitchy May 31, 2021
bae1ed5
dev container
leitchy May 31, 2021
ca1e5f4
More cleanup of OutputerStream and OutputerStreamFlux
leitchy May 31, 2021
8f286bb
More removal of Poco for std::filesystem
malfrancis Jun 7, 2021
34e8687
Fixed Linux compile issue
malfrancis Jun 7, 2021
663cee5
Another linux fix for std filesystem
malfrancis Jun 7, 2021
c0dd260
Cleaned up exceptions and move to std::filesystem
malfrancis Jun 16, 2021
91965af
Finished cleaning up exceptions
malfrancis Jun 18, 2021
1fd7979
Merge pull request #104 from MullionGroup/feature/exceptions_simplify
malfrancis Jun 18, 2021
aca7c0f
Revert "Merge pull request #104 from MullionGroup/feature/exceptions_…
malfrancis Jun 18, 2021
621f37c
Merge branch 'develop' into feature/uncertainty
Jun 23, 2021
9f64a6f
Bug fixes and GCBM compatibility:
Aug 11, 2021
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
40 changes: 40 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Pull Request Template

## Description

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

Fixes # (issue)

## Type of change

Please delete options that are not relevant.

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] This change requires a documentation update

## How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

## Additional Context (Please include any Screenshots/gifs if relevant)

...

## Checklist:

- [ ] My code follows the style guidelines of this project
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my feature works
- [ ] New and existing unit tests pass locally with my changes
- [ ] Any dependent changes have been merged and published in downstream modules
- [ ] I have checked my code and corrected any misspellings
- [ ] I have tagged the reviewers in a comment below incase my pull request is ready for a review
- [ ] I have signed the commit message to agree to Developer Certificate of Origin (DCO) (to certify that you wrote or otherwise have the right to submit your contribution to the project.) by adding "--signoff" to my git commit command.

<!--- Thanks for opening this pull request! If the tests fail, please feel free to reach out to us by leaving a comment down below and we will be happy to take a look --->
49 changes: 49 additions & 0 deletions .github/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Configuration for welcome - https://github.com/behaviorbot/welcome

# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome

# Comment to be posted to on first time issues
newIssueWelcomeComment: |
Hello there!👋 Welcome to moja global!💖

Thank you and congratulations 🎉 for opening your very first issue in this project.
Moja global fosters an open and welcoming environment for al our contributors.🌸 Please adhere to our [Code Of Conduct](https://github.com/moja-global/About_moja_global/blob/master/CODE_OF_CONDUCT.md).

Incase you want to claim this issue, please comment down below!
Please checkout if any of the already existing issue template fits for your isssue or you may open a blank issue as well ✨
We will try to get back to you as soon as we can.👀

Feel free to join us on [moja global Private Slack](https://mojaglobal.slack.com/) by dropping an email [here](mailto:[email protected]).👩‍💻 We would love to hear your interesting ideas and engage in discussions.💖
Moja global is delighted to have you here :)

# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome

# Comment to be posted to on PRs from first time contributors in your repository
newPRWelcomeComment: |
Hello there!👋 Welcome to moja global!💖
Thank you and congrats 🎉 for opening your first PR on this project.✨
We will review it soon! Till then you can checkout the `README.md` for more details on it.

Moja global fosters an open and welcoming environment for al our contributors.🌸 Please adhere to our [Code Of Conduct](https://github.com/moja-global/About_moja_global/blob/master/CODE_OF_CONDUCT.md).

Feel free to join us on [moja global Private Slack](https://mojaglobal.slack.com/) by dropping an email [here](mailto:[email protected]).👩‍💻 We would love to hear your interesting ideas and engage in discussions.💖
Moja global is delighted to have you here :)

# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge

# Comment to be posted to on pull requests merged by a first time user
firstPRMergeComment: |
Congratulations on merging your first contribution to moja global!✨
Your code is officially a part of moja global now!! 🎉 Please feel free to add yourself as a contributor by following these steps [here](https://github.com/moja-global/About_moja_global/blob/master/CONTRIBUTING.md#how-to-get-credit-for-your-contribution).🙌

Feel free to join us on [moja global Private Slack](https://mojaglobal.slack.com/) by dropping an email [here](mailto:[email protected]).👩‍💻 We would love to hear your interesting ideas and engage in discussions.💖

<details>
<summary><b>Now that you've completed this, you can help someone else take their first step!</b></summary>
<p>Help a newcomer with their first pull request by providing feedback! This is their first time too, So be as encouraging as possible!😄 </p>
<p>Help them setup this project and resolve their queries! 🌸 </p>
<p>Create a welcoming or beginner friendly issue for someone else! 😄 🎉 </p>
</details>


# It is recommended to include as many gifs and emojis as possible!
1 change: 0 additions & 1 deletion Docker/Dockerfile.base.ubuntu.18.04
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ RUN wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cm
&& tar xzf cmake-${CMAKE_VERSION}.tar.gz \
&& cd cmake-${CMAKE_VERSION} \
&& ./bootstrap --system-curl --parallel=$NUM_CPU \
&& .$NUM_CPU \
&& make --quiet install \
&& make clean \
&& cd ..
Expand Down
13 changes: 5 additions & 8 deletions Docker/Dockerfile.flint.ubuntu.18.04
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
# ==================================================================================================================
#
# Docker to ubuntu 16.04 image for Moja flint libraries and executables
# Docker to ubuntu 18.04 image for Moja flint libraries and executables
#
# Building this Docker:
# docker build -f Dockerfile.flint.ubuntu.18.04 --build-arg NUM_CPU=4 --build-arg FLINT_BRANCH=develop -t moja/flint:ubuntu-18.04 .
# docker build -f Dockerfile.flint.ubuntu.18.04 --build_arg BUILD_TYPE=RELEASE --build-arg NUM_CPU=4 --build-arg FLINT_BRANCH=develop -t moja/flint:ubuntu-18.04 .
#
# ==================================================================================================================

#FROM moja/baseimage:ubuntu-18.04
FROM moja/baseimage:mg
FROM moja/baseimage:ubuntu-18.04

LABEL maintainer="[email protected]"

ARG FLINT_BRANCH
ARG NUM_CPU=1
ARG DEBIAN_FRONTEND=noninteractive
ARG BUILD_TYPE=DEBUG

ENV ZIPPER_VERSION 1.0.1
ENV ROOTDIR /usr/local

WORKDIR $ROOTDIR/src
Expand All @@ -43,11 +42,10 @@ RUN git clone --recursive https://github.com/sebastiandev/zipper.git \
&& make clean \
&& cd $ROOTDIR/src


# GET moja.global
RUN git clone --recursive --depth 1 -b ${FLINT_BRANCH} https://github.com/moja-global/FLINT.git flint \
&& mkdir -p flint/Source/build && cd flint/Source/build \
&& cmake -DCMAKE_BUILD_TYPE=DEBUG \
&& cmake -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DCMAKE_INSTALL_PREFIX=$ROOTDIR \
-DENABLE_TESTS:BOOL=OFF \
-DENABLE_MOJA.MODULES.GDAL=ON \
Expand All @@ -56,7 +54,6 @@ RUN git clone --recursive --depth 1 -b ${FLINT_BRANCH} https://github.com/moja-g
-DBUILD_SHARED_LIBS=ON .. \
&& make --quiet -j $NUM_CPU \
&& make --quiet install \
# && make clean \
&& cd $ROOTDIR/src

RUN ln -s $ROOTDIR/lib/libmoja.modules.* $ROOTDIR/bin
Expand Down
141 changes: 17 additions & 124 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# FLINT Open-source Library

[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors)
[![All Contributors](https://img.shields.io/badge/all_contributors-5-orange.svg?style=flat-square)](#contributors) [![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg)](https://opensource.org/licenses/MPL-2.0) [![Code Of Conduct](https://img.shields.io/badge/code--of--conduct-Moja%20Global-blue)](https://github.com/moja-global/About_moja_global/blob/master/CODE_OF_CONDUCT.md) [![Contributions](https://img.shields.io/badge/newcomer-friendly-red)](https://github.com/moja-global/About_moja_global/blob/master/CONTRIBUTING.md) [![Chat on Slack](https://img.shields.io/badge/chat-slack-blueviolet)](https://mojaglobal.slack.com/) [![Twitter Handle](https://img.shields.io/badge/twitter-Moja%20Global-darkblue)](https://twitter.com/mojaglobal?lang=en)

## What is `FLINT`?

Expand All @@ -15,146 +15,40 @@ The FLINT makes developing and operating advanced systems achievable by all coun
The FLINT is using the lessons learned from first generation tools, to build a new framework that meets present and future needs. The key improvements compared to the first generation tools include:
+ a flexible, modular approach, allowing for country specific implementations from [IPCC Tier 1 to 3 ](https://www.reddcompass.org/mgd-content-v1/dita-webhelp/en/Box1.html)
+ support for [wall-to-wall, sample based, jurisdictional, and supply chain approaches](https://static1.squarespace.com/static/5896200f414fb57d26f3d600/t/59362b028419c2db8f57e747/1496722191543/REDD_nested_projects.pdf)
+ the ability to cover all [land uses and land use changes, and activity-based reporting such as REDD+](https://theredddesk.org/what-redd)
+ the ability to cover all [land uses and land use changes, and activity-based reporting such as REDD+](https://unfccc.int/topics/land-use/workstreams/redd/what-is-redd)
+ scenario analysis systems to allow the development of projections
+ the potential to be used for multiple other purposes, including economics, water and biodiversity
+ development managed using a true open source approach under [moja global](http://moja.global), which will allow users (countries, companies and organizations) to direct strategy and control the budget.
+ development managed using a true open source approach under [moja global](https://moja.global), which will allow users (countries, companies and organizations) to direct strategy and control the budget.
+ software that allows data processing on local desktops or cloud-based systems

## Installation Docs

## How to use FLINT?
Please checkout the [moja global developer docs](https://docs.moja.global) for complete instructions on how to setup the repository. You may also refer this documentation for setting up [FLINT.example](https://docs.moja.global/en/latest/DevelopmentSetup/FLINT.example_installation.html), [GCBM](https://docs.moja.global/en/latest/GCBMDevelopmentSetup/index.html) or just get an idea of the moja global workflow! You may also suggest an improvement in the current docs by creating an issue [here](hhttps://github.com/moja-global/GSoD.moja_global_docs).

### Development Environment How-To for Windows
## Installation Videos

These instructions are for building the FLINT on Windows using Visual Studio 2017, or Visual Studio 2019.
We also have a set of installation videos to help you out with the installation. If you prefer video installation procedure as opposed to textual documentation, this will be a perfect starter for you!
1. [FLINT Core on Visual Studio 2019](https://www.youtube.com/watch?v=BmHltWrxCTY&t=9s)
2. [FLINT Example (RothC model) on Visual Studio](https://www.youtube.com/watch?v=Jfi2-vEhfkg)
3. [FLINT Example (Chapman Richards model) on Visual Studio](https://www.youtube.com/watch?v=JFTyeZQbPjI)
4. [FLINT Docker on Ubuntu 20.04](https://www.youtube.com/watch?v=eiCPhv-SRNc)

#### Required Installs

##### CMake

- download [cmake-3.15.2-win64-x64.msi](https://github.com/Kitware/CMake/releases/download/v3.15.2/cmake-3.15.2-win64-x64.msi)

#### Using vcpkg to install required libraries

A fork of a *Vcpkg* repository has been created for the FLINT required libraries. To build these libraries you can use the following process:

+ Clone the Vcpkg repository: https://github.com/moja-global/vcpkg

+ Start a command shell in the Vcpkg repository folder and use the following commands:

```powershell
# bootstrap
bootstrap-vcpkg.bat

# install packages
vcpkg.exe install boost-test:x64-windows boost-program-options:x64-windows boost-log:x64-windows turtle:x64-windows zipper:x64-windows poco:x64-windows libpq:x64-windows gdal:x64-windows sqlite3:x64-windows boost-ublas:x64-windows fmt:x64-windows
```

+ Once this has completed, start a command shell in you FLINT repository folder. Now use the following commands to create the Visual Studio solution:

```powershell
# Create a build folder under the Source folder
cd Source
mkdir build
cd build

# now create the Visual Studio Solution (2019)
cmake -G "Visual Studio 16 2019" -DCMAKE_INSTALL_PREFIX=C:/Development/Software/moja -DVCPKG_TARGET_TRIPLET=x64-windows -DENABLE_TESTS=OFF -DENABLE_MOJA.MODULES.ZIPPER=OFF -DCMAKE_TOOLCHAIN_FILE=c:\Development\moja-global\vcpkg\scripts\buildsystems\vcpkg.cmake ..

# OR Visual Studio Solution (2017)
cmake -G "Visual Studio 15 2017" -DCMAKE_INSTALL_PREFIX=C:/Development/Software/moja -DVCPKG_TARGET_TRIPLET=x64-windows -DENABLE_TESTS=OFF -DENABLE_MOJA.MODULES.ZIPPER=OFF -DCMAKE_TOOLCHAIN_FILE=c:\Development\moja-global\vcpkg\scripts\buildsystems\vcpkg.cmake ..
```

#### Install Moja Libraries

It is possible to use the Visual Studio moja solution to install built versions of the Moja libraries. To do this you need to set the CMAKE variable '***CMAKE_INSTALL_PREFIX***' to your install path (i.e. "*C:/Development/Software/moja*").

#### Make edits to the Visual Studio Solution using CMake

1. Launch the CMake GUI
2. In the '*Where to build the binaries*' field click “Browse Build…” and select the folder you created above (i.e. `C:\Development\moja-global\FLINT\Source\build`)`. The '*Where is the source code:*' field should update, if not, set it correctly.
4. You should be able to edit any CMake setting now (i.e. ENABLE flags like `ENABLE_TESTS`), then click “***Configure***” – assuming all libraries and required software has been installed you should have no errors. Now click ***"Generate"*** and the Solution with adjustments should be ready to load into Visual Studio.

#### Other Useful Tools

##### SQLIte Studio

a simple windows SQLite database manager (http://sqlitestudio.pl/)
[sqlitestudio-3.1.0.zip](http://sqlitestudio.pl/files/sqlitestudio3/complete/win32/sqlitestudio-3.1.0.zip)

##### TortoiseGit

[TortoiseGit](https://code.google.com/p/tortoisegit/wiki/Download)

### Docker for Ubuntu 18:04

Containers are a simple way to build FLINT and all required dependencies. Examples of how this can be done are provided for Ubuntu 18.04. See the [Examples docker directory.](https://github.com/moja-global/flint/tree/master/Examples/docker)

#### Building the containers

The build has been split into two Dockerfiles, the first to get and build required libraries. The second to get and build the moja FLINT libraries and CLI program.

```bash
# working from the examples folder "flint/tree/master/Examples/docker"

# build the base
docker build -f Dockerfile.base.ubuntu.18.04 --build-arg NUM_CPU=4 -t moja/baseimage:ubuntu-18.04 .

# build the flint container
docker build -f Dockerfile.flint.ubuntu.18.04 --build-arg NUM_CPU=4 --build-arg FLINT_BRANCH=master -t moja/flint:ubuntu-18.04 .

docker build -f Dockerfile.flint.ubuntu.18.04 --build-arg NUM_CPU=4 --build-arg GITHUB_AT=XXXX --build-arg FLINT_BRANCH=master -t moja/flint:ubuntu-18.04 .
```

How to use the final container depends on the task. However, the following command will bash into the flint container and allow you to use the CLI program.

```bash
# run bash on the flint container
docker run --rm -ti moja/flint:ubuntu-18.04 bash
```

Once in, you should be able to run the CLI program `moja.cli`

```
# run CLI
moja.cli --help
```

That should respond:

```
Allowed options:

General options:
-h [ --help ] produce a help message
--help-section arg produce a help message for a named section
-v [ --version ] output the version number

Commandline only options:
--logging_config arg path to Moja logging config file
--config_file arg path to Moja run config file
--provider_file arg path to Moja data provider config file

Configuration file options:
--config arg path to Moja project config files
--config_provider arg path to Moja project config files for data providers
```
To learn more, you can also visit the [moja global youtube channel](https://www.youtube.com/channel/UCfQUrrNP1Xf-Fv4c8uHYXhQ).


## How to Get Involved?

moja global welcomes a wide range of contributions as explained in [Contributing document](https://github.com/moja-global/About-moja-global/blob/master/CONTRIBUTING.md) and in the [About moja-global Wiki](https://github.com/moja-global/.github/wiki).

moja global welcomes a wide range of contributions as explained in [Contributing document](https://docs.moja.global/en/latest/contributing/index.html).

## FAQ and Other Questions

* You can find FAQs on the [Wiki](https://github.com/moja.global/.github/wiki).
* You can find FAQs on the [FAQs section of our docs](https://docs.moja.global/en/latest/faq.html).
* If you have a question about the code, submit [user feedback](https://github.com/moja-global/About-moja-global/blob/master/Contributing/How-to-Provide-User-Feedback.md) in the relevant repository
* If you have a general question about a project or repository or moja global, [join moja global](https://github.com/moja-global/About-moja-global/blob/master/Contributing/How-to-Join-moja-global.md) and
* If you have a general question about a project or repository or moja global, [join moja global](https://docs.moja.global/en/latest/contact.html) and
* [submit a discussion](https://help.github.com/en/articles/about-team-discussions) to the project, repository or moja global [team](https://github.com/orgs/moja-global/teams)
* [submit a message](https://get.slack.help/hc/en-us/categories/200111606#send-messages) to the relevant channel on [moja global's Slack workspace](mojaglobal.slack.com).
* [submit a message](https://get.slack.help/hc/en-us/categories/200111606#send-messages) to the relevant channel on [moja global's Slack workspace](https://mojaglobal.slack.com).
* If you have other questions, please write to [email protected]


## Contributors

Expand All @@ -176,4 +70,3 @@ The following people are Maintainers of this repository
**Reviewers** check proposed changes before they go to the Maintainers
**Ambassadors** are available to provide training related to this repository
**Coaches** are available to provide information to new contributors to this repository

4 changes: 4 additions & 0 deletions Source/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ set(CMAKE_CXX_EXTENSIONS OFF)
#turn on parallel builds
add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/MP>)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

set(MOJA_VERSION_MAJOR "1")
set(MOJA_VERSION_MINOR "0")
set(MOJA_VERSION_PATCH "0")
Expand Down
7 changes: 7 additions & 0 deletions Source/moja.cli/src/moja.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <memory>
#include <string>
#include <fstream>
#include <cstdlib>

static constexpr const char* CLI_VERSION_STRING = "flint cli version 1.0.0";

Expand All @@ -41,7 +42,13 @@ bool checkFilePath(const std::string& filePath) {
return true;
}

void handleOutOfMemory() {
MOJA_LOG_FATAL << "Failed to allocate memory";
std::abort();
}

int main(int argc, char* argv[]) {
std::set_new_handler(handleOutOfMemory);

opt::options_description general_opt("General options");
general_opt.add_options()
Expand Down
Loading