Skip to content
Snippets Groups Projects
Select Git revision
  • 0764662d61121fb1502ed5ebfb5105cd1f41a145
  • main default protected
  • Kelvinrr-patch-3
  • radius_update
  • revert-616-apollo_pan
  • vims
  • 0.10
  • Kelvinrr-patch-2
  • revert-563-minirf_fix
  • Kelvinrr-patch-1
  • 0.9
  • acpaquette-patch-3
  • acpaquette-patch-2
  • acpaquette-patch-1
  • spiceql
  • ci-coverage
  • 0.10.0
  • 0.9.1
  • 0.9.0
  • 0.8.7
  • 0.8.8
  • 0.8.6
  • 0.8.3
  • 0.8.4
  • 0.8.5
  • 0.8.2
  • 0.8.1
  • 0.8.0
  • 0.7.3
  • 0.7.2
  • 0.7.1
  • 0.7.0
  • 0.6.5
  • 0.6.4
  • 0.6.3
  • 0.6.2
36 results

CMakeLists.txt

Blame
    • Kelvin Rodriguez's avatar
      0764662d
      ISD object without Rotation and State support. (#315) · 0764662d
      Kelvin Rodriguez authored
      * version tick
      
      * added headers
      
      * added isd
      
      * updated cmakelists
      
      * added header
      
      * removed print from cmakelists
      
      * changed rotation case
      
      * moved isd test to single module
      
      * added in line isd
      
      * Added failure tests. Commented out distortion tests.
      
      * added more tests to increase coverage
      
      * changed header file naming convention
      
      * updated source files and CMakeLists.txt
      
      * renamed isd_tests.cpp -> IsdTests.cpp
      
      * Updated tests based on comments.
      
      * Capitalized enum values.
      
      * added a few more asserts to check array size
      0764662d
      History
      ISD object without Rotation and State support. (#315)
      Kelvin Rodriguez authored
      * version tick
      
      * added headers
      
      * added isd
      
      * updated cmakelists
      
      * added header
      
      * removed print from cmakelists
      
      * changed rotation case
      
      * moved isd test to single module
      
      * added in line isd
      
      * Added failure tests. Commented out distortion tests.
      
      * added more tests to increase coverage
      
      * changed header file naming convention
      
      * updated source files and CMakeLists.txt
      
      * renamed isd_tests.cpp -> IsdTests.cpp
      
      * Updated tests based on comments.
      
      * Capitalized enum values.
      
      * added a few more asserts to check array size
    CMakeLists.txt 3.10 KiB
    
    #===============================================================================
    #      The main build file for building ale using CMake.
    #===============================================================================
    # CMake initialization
    
    # Specify the required version of CMake.
    # cmake 3.10 required for ctest/gtest integration
    cmake_minimum_required(VERSION 3.10)
    project(ale VERSION 0.6.5 DESCRIPTION "Abstraction Library for Ephemerides ")
    
    # include what we need
    include(GNUInstallDirs)
    
    set(CMAKE_CXX_STANDARD 11)
    
    # Third Party Dependencies
    find_package(GSL           REQUIRED)
    find_package(Eigen3 3.3    REQUIRED NO_MODULE)
    find_package(Python        REQUIRED COMPONENTS Development)
    find_package(nlohmann_json REQUIRED)
    
    # Library setup
    set(ALE_BUILD_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include/")
    set(ALE_INSTALL_INCLUDE_DIR "include/ale")
    add_library(ale SHARED
                ${CMAKE_CURRENT_SOURCE_DIR}/src/ale.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/src/Rotation.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/src/Isd.cpp
                ${CMAKE_CURRENT_SOURCE_DIR}/src/Util.cpp)
    set(ALE_HEADERS "${ALE_BUILD_INCLUDE_DIR}/ale.h"
                    "${ALE_BUILD_INCLUDE_DIR}/Rotation.h"
                    "${ALE_BUILD_INCLUDE_DIR}/Isd.h"
                    "${ALE_BUILD_INCLUDE_DIR}/Util.h")
    set_target_properties(ale PROPERTIES
                          VERSION   ${PROJECT_VERSION}
                          SOVERSION 0)
    # Use generator expressions so that downstream projects can use this target
    target_include_directories(ale
                               PUBLIC
                               $<BUILD_INTERFACE:${ALE_BUILD_INCLUDE_DIR}>
                               $<INSTALL_INTERFACE:include>)
    
    target_link_libraries(ale
                          PRIVATE
                          GSL::gsl
                          GSL::gslcblas
                          Eigen3::Eigen
                          Python::Python
                          nlohmann_json::nlohmann_json)
    
    # Optional build tests
    option (BUILD_TESTS "Build tests" ON)
    if(BUILD_TESTS)
        include(cmake/gtest.cmake)
        include(GoogleTest)
        include(CTest)
    
        find_package (Threads)
        enable_testing()
        add_subdirectory(tests/ctests)
    
        # Setup for code coverage
        # default to off
        set(COVERAGE OFF CACHE BOOL "Coverage")
        if(COVERAGE)
            target_compile_options(ale PRIVATE --coverage -O0)
            target_link_libraries(ale PRIVATE --coverage -O0)
        endif()
    endif()
    
    # Generate the package config
    configure_file(cmake/config.cmake.in
                   ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
                   @ONLY)
    
    # Install the package config
    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake
                  DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
    
    # Install the headers
    install(FILES ${ALE_HEADERS} DESTINATION ${ALE_INSTALL_INCLUDE_DIR})
    
    # Install the library
    install(TARGETS ale
            EXPORT aleTargets
            LIBRARY  DESTINATION ${CMAKE_INSTALL_LIBDIR}
            INCLUDES DESTINATION ${ALE_INSTALL_INCLUDE_DIR})
    
    # Install the target
    install(EXPORT aleTargets
            NAMESPACE ale::
            DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})