Code Monkey home page Code Monkey logo

emsoftsuperbuild's Introduction

EMsoft SDK Superbuild

IMPORTANT NOTE

If you find bugs and fix them PLEASE consider submitting a "Pull Request" from your fork to the official repository. This will allow the entire EMsoft community to benefit from your bug fixes.

Introduction

This cmake project will build an EMsoft SDK by downloading all the necessary 3rd party libraries as prebuilt binaries or as source code and compiling those libraries.

Prerequisites

  • CMake 3.9.x installed on system
  • Compiler Suite installed on system
  • Fortran compiler installed on system
  • Git installed on the system

Supported Platforms

Operating System C/C++ Compiler Fortran Compiler
macOS (10.12) Xcode Native tools (8.3.x) GFortran 6.3.0 and above
Windows (10) Visual Studio 2015 (CE/Pro) Intel Fortran v17
Linux (Ubuntu 16.x, CentOS 7.x) GCC 4.8 and Above, Clang 3.8 and greater GNU Fortran 5.4.1 20160904 or newer

Git Locations

Git verison 2.x is pretty much required.

Operating System Notes
macOS (10.12) CLI comes with Xcode, SourceTree for a nice GUI application
Windows (10) SourceTree. Download and install the app
Linux (Ubuntu 16.x, CentOS 7.x) Use your package manager to install git.

Libraries that are Compiled

Library Version Notes
HDF5 1.8.20 Compiled from Source
CLFortran 0.0.1 Compiled from Source on GitHub
FFTW 3.3.5 Precompiled (Windows) or Compiled (macOS/Linux)
Json-Fortran 4.2.1 Compiled from source on GitHub
Eigen 3.2.9 Compiled from Source
Qt 5 5.9.3 Precompiled Binaries from www.qt.io

macOS/Linux Instructions

  1. Install your compiler tools

  2. Install CMake on your system

  3. Install a Fortran compiler on your system

  4. Install Git on your system

  5. Clone this repository onto your hard disk.

  6. open a terminal and invoke the following commands

     cd EMsoftSuperbuild
     mkdir Debug
     cd Debug
     cmake -DEMsoft_SDK=/Some/Path/To/EMsoft_SDK -DCMAKE_BUILD_TYPE=Debug ../
     make -j
     cd ../
     mkdir Release
     cd Release
     cmake -DEMsoft_SDK=/Some/Path/To/EMsoft_SDK -DCMAKE_BUILD_TYPE=Release ../
     make -j
    

Windows Instructions

Currently ONLY NMake files are supported. Visual Studio support is being looked at

  1. Install your compiler tools

  2. Install CMake on your system

  3. Install a Fortran compiler on your system

  4. Install Git on your system

  5. Clone this repository onto your hard disk.

  6. open a terminal and invoke the following commands

     git clone git://www.github.com/marcdegraef/EMsoftSuperbuild
     cd EMsoftSuperbuild
     mkdir Debug
     cd Debug
     cmake -DEMsoft_SDK=/Some/Path/To/EMsoft_SDK -DCMAKE_BUILD_TYPE=Debug ../
     make -j
     cd ../
     mkdir Release
     cd Release
     cmake -DEMsoft_SDK=/Some/Path/To/EMsoft_SDK -DCMAKE_BUILD_TYPE=Release ../
     make -j
    
  7. The initial run of CMake is going to take REALLY long time because it will be downloading the full Qt 5.9.2 installer which is about 3~4 GB in size. On macOS systems it then must verify the .dmg, mount it and run the installer (which verifies the .app). Go get coffee. Compiling (the 'make -j' part) should not take that long, only about 5 minutes or so.

NOTE: there is currently a known issue where the Qt5.9.2 installer will NOT actually run during the Linux cmake process. If the user does NOT want to build the GUI application then this is fine. If the user does want to build the GUI application then they will need to install Qt5.9.2 themselves. The download will be at /path/to/EMsoft_SDK/superbuild/Qt/download

The developer can use CMakeGui if they would like instead of the command lines. The only required variable are the path to where you want the EMsoft_SDK folder and the build type (Debug or Release)

Once the SDK builds correctly, no errors are reported on the command line, then the developer can proceed to clone and build EMsoft itself.

emsoftsuperbuild's People

Contributors

imikejackson avatar krkaufma avatar marcdegraef avatar wlenthe avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.