Newer
Older
# set up project
project("dune-fem-dg" C CXX)
#circumvent not building docs
set(BUILD_DOCS 1)
# general stuff
cmake_minimum_required(VERSION 2.8.6)
#find dune-common and set the module path
find_package(dune-common)
list(APPEND CMAKE_MODULE_PATH ${dune-common_MODULE_PATH}
"${CMAKE_SOURCE_DIR}/cmake/modules")# make sure our own modules are found
#include the dune macros
include(DuneMacros)
Stefan Girke
committed
# start a dune project with information from dune.module
dune_project()
Stefan Girke
committed
# $Id: duneproject 5842 2010-01-20 18:48:34Z joe $
# we need the module file to be able to build via dunecontrol
set(EXTRA_DIST dune.module)
if( BUILD_DOCS)
# TODO: set up documentation tree automatically
#SUBDIRS += doc
endif( BUILD_DOCS )
Stefan Girke
committed
# don't follow the full GNU-standard
# we need automake 1.5
set(AUTOMAKE_OPTIONS foreign 1.5)
# pass most important options when "make distcheck" is used
set(DISTCHECK_CONFIGURE_FLAGS --with-dune-common=${DUNE_COMMON_ROOT} --with-dune-grid=${DUNE_GRID_ROOT} --with-dune-fem=${DUNE_FEM_ROOT} CXX="${CXX}" CC="${CC}")
# include not needed for CMake
# include $(top_srcdir)/am/top-rules
# include not needed for CMake
# include $(top_srcdir)/am/global-rules
Stefan Girke
committed
foreach(i ${SUBDIRS})
if(${i} STREQUAL "test")
set(opt EXCLUDE_FROM_ALL)
endif(${i} STREQUAL "test")
add_subdirectory(${i} ${opt})
unset(opt)
endforeach(i ${SUBDIRS})
Stefan Girke
committed
# small hack since test directories are not set correctly in dune-common-scripts
# (...or not the way we want it to be...) see FindFiles.cmake
# we want sub folders in test directories
set( ADD_TEST_DIR dune/fem-dg/test )
set( _dirs advdiff euler navierstokes poisson dataio )
foreach(_dir ${_dirs})
set( _dir "${ADD_TEST_DIR}/${_dir}" )
set_property(DIRECTORY ${_dir} PROPERTY TEST_INCLUDE_FILE ${CMAKE_BINARY_DIR}/${_dir}/BuildTests.cmake)
endforeach(_dir ${_dirs})
add_subdirectory(cmake/modules)
# finalize the dune project, e.g., generate config.h etc.
finalize_dune_project(GENERATE_CONFIG_H_CMAKE)