Skip to content
Snippets Groups Projects
CMakeLists.txt 1.02 KiB
Newer Older
  • Learn to ignore specific revisions
  • project(amdis CXX)
    
    
    #find dune-common and set the module path
    find_package(dune-common REQUIRED)
    list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/modules"
      ${dune-common_MODULE_PATH})
    
    #include the dune macros
    include(DuneMacros)
    
    # start a dune project with information from dune.module
    dune_project()
    
    dune_enable_all_packages(MODULE_LIBRARIES amdis fmt)
    
    add_subdirectory("bin")
    add_subdirectory("cmake/modules")
    add_subdirectory("doc")
    add_subdirectory("externals")
    
    add_subdirectory("src")
    
    add_subdirectory("test")
    
    add_subdirectory("examples" EXCLUDE_FROM_ALL)
    
    target_link_libraries(amdis fmt)
    
    
    option(ENABLE_ALL_WARNINGS "enable all meaningful warnings" OFF)
    if (ENABLE_ALL_WARNINGS)
      target_compile_options(amdis PUBLIC "-Wall" "-Wextra" "-pedantic" "-Wnon-virtual-dtor" "-Wold-style-cast" "-Wcast-align" "-Woverloaded-virtual" "-Wpedantic" "-Wconversion")
    endif (ENABLE_ALL_WARNINGS)
    
    
    # finalize the dune project, e.g. generating config.h etc.
    finalize_dune_project(GENERATE_CONFIG_H_CMAKE)