Skip to content
Snippets Groups Projects
  • Sam Yates's avatar
    Feature/lib install target part i (#506) · ad1c78ab
    Sam Yates authored and Benjamin Cumming's avatar Benjamin Cumming committed
    CMake and build refactoring
    
    *   Use CUDA as first-class language (leading to CMake 3.9 minimum version requirement).
    
    *   Use 'modern CMake' interface libraries for compiler options, include file and library dependency tracking. Interface library targets:
        * `arbor-deps`: compiler options and library requirements for the `libarbor.a` static library, as governed by configure-time options and environment.
        * `arbor-private-headers`: include path for non-installed headers, as required by unit tests and arbor itself.
        * `arbor-aux`: helper classes and utilities used across tests and examples.
        * `ext-json`, `ext-tclap`, `ext-tbb`, `ext-benchmark`, `ext-sphinx_rtd_theme`: externally maintained software that we include (directly or via submodule) in the `ext/` subdirectory.
     
    *   Single static library `libarbor.a` includes all built-in modules and CUDA objects.
    
    *   Simply configuration options:
        *  `ARB_WITH_TRACE`, `ARB_AUTORUN_MODCC_ON_CHA...
    ad1c78ab