-
oliver.sander_at_tu-dresden.de authored
In particular: * Introduce enable_all_packages() * Introduce (empty) subdirectory 'cmake/modules'
oliver.sander_at_tu-dresden.de authoredIn particular: * Introduce enable_all_packages() * Introduce (empty) subdirectory 'cmake/modules'
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CMakeLists.txt 1.45 KiB
# We require version CMake version 3.1 to prevent issues
# with dune_enable_all_packages and older CMake versions.
cmake_minimum_required(VERSION 3.1)
project(dune-elasticity CXX)
if(NOT (dune-common_DIR OR dune-common_ROOT OR
"${CMAKE_PREFIX_PATH}" MATCHES ".*dune-common.*"))
string(REPLACE ${CMAKE_PROJECT_NAME} dune-common dune-common_DIR
${PROJECT_BINARY_DIR})
endif()
#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()
add_subdirectory("test")
add_subdirectory("dune")
add_subdirectory("src")
add_subdirectory("cmake/modules")
if(HAVE_AMIRAMESH AND HAVE_IPOPT AND HAVE_PSURFACE AND HAVE_UG)
set(programs viscoelast nonlinelast)
foreach(_program ${programs})
add_executable(${_program} ${_program}.cc)
add_dune_amiramesh_flags(${_program})
add_dune_ipopt_flags(${_program})
add_dune_ug_flags(${_program})
add_dune_psurface_flags(${_program})
target_compile_options(${_program} PRIVATE "-fpermissive")
endforeach()
endif()
if(HAVE_AMIRAMESH AND HAVE_IPOPT AND HAVE_PSURFACE AND HAVE_UG AND ADOLC_FOUND)
add_dune_adolc_flags(nonlinelast)
endif()
# finalize the dune project, e.g. generating config.h etc.
finalize_dune_project(GENERATE_CONFIG_H_CMAKE)