Skip to content

siddharthdeore/CrossCPP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cross C++

Cross platform C++ CMake boilerplate with commonly used scientific libraries.

GitHub forks GitHub Repo stars GitHub commit activity

Libraries

Getting Started

Boost Installation

  • Linux
    sudo apt-get update
    sudo apt-get install libboost-all-dev

  • MacOS

    To install boost on MacOS with macports

    sudo port install boost 

    or with homebrew

    brew install boost

  • Windows

    • Download boost source code from https://www.boost.org/users/download/
    • Extract boost to prefered location e.g. for boost 1.76.0 extract the downloaded archive at "C:\Program Files\boost_1_76_0"
    • change current direcectory to boost extracted directory
    cd "C:\Program Files\boost_1_76_0"
    bootstrap.bat
    b2
    

    This will build both debug and release static libraries for default architecture, and at the end will notify location of compiler include paths, and linker library path. For detail build instruction refer Boost Build Guide. Set windows envirnoments as follow :

    Variable Value
    BOOST_ROOT "C:\Program Files\boost_1_76_0"
    BOOST_INCLUDEDIR "C:\Program Files\boost_1_76_0"
    BOOST_LIBRARYDIR "C:\Program Files\boost_1_76_0\stage\lib"

Build Instruction

git clone https://github.com/siddharthdeore/CrossCPP.git --depth 1 <your-reopo-name>
cd <your-reopo-name>
mkdir build
cd build
cmake ..

Push project to remote repository

git commit --amend .

Proposed source code directory structure.

├───bin                         # target executables and libraries
│   ├───Debug
│   └───Release
│
├───cmake                       # cmake modules
│
├───build                       # build files (eg. makefile or .sln)
│
├───utils                       # utilities
│
├───libraries                   # target libraries
│   ├───RigidBody
│   │   ├───src
│   │   └───include
│   │   
│   ├───Rotation
│   |     :
│   └───my_lib_n
│
├───Projects 
│
├───examples
│   ├───01_eigen
│   ├───02_boost_header_only       
│   ├───03_boost_chrono       
│   └───04_Rigid_Body
│
├───external                    # external libraries
│   ├───eigen
│   ├───other_external_lib
│   |     :
│   └───fancy_library
│
└───CMakeLists.txt              # cmake entry point

Maintainers

This repository is maintained by:

siddharth deore