Skip to content
Snippets Groups Projects
Commit dcf84f94 authored by Dr. Felix Tobias Schindler's avatar Dr. Felix Tobias Schindler
Browse files

changed module version to 2.2.0

parent 8ab3143f
No related branches found
No related tags found
No related merge requests found
PROJECT(dune-detailed-discretizations)
#set minimum cmake version
cmake_minimum_required(VERSION 2.6)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake )
include(DuneUtils)
include(UseDoxygen)
# FIND_PACKAGE(Boost 1.35.0 REQUIRED)
# INCLUDE_DIR(${Boost_INCLUDE_DIR})
# FIND_PACKAGE( PkgConfig )
# pkg_check_modules( CCGNU REQUIRED libccgnu2 )
# ADD_CXX_FLAGS( "${CCGNU_CFLAGS}" )
#----------------------------------------------------------------------------------------------------
# general Settings
#----------------------------------------------------------------------------------------------------
SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true )
SET( CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".lib" ".la" ".a")
SET( CMAKE_COLOR_MAKEFILE ON)
# EXECUTE_PROCESS(
# COMMAND ${CMAKE_SOURCE_DIR}/getRevision.sh
# OUTPUT_VARIABLE COMMIT
# ERROR_VARIABLE shell_error
# OUTPUT_STRIP_TRAILING_WHITESPACE
# )
#----------------------------------------------------------------------------------------------------
# options, that can be changed by the user in order to customise the dune module
#----------------------------------------------------------------------------------------------------
SET( BLAS_LIB
"blas" CACHE STRING
"BLAS_LIB" )
SET( GRIDTYPE
"YASPGRID" CACHE STRING
"GRIDTYPE" )
SET( GRIDDIM
"2" CACHE STRING
"GRIDDIM" )
SET( POLORDER
"1" CACHE STRING
"POLORDER" )
SET( ALUGRID_BASE_PATH
"/opt/dune/modules/alugrid/alugrid-1.23/" CACHE STRING
"ALUGRID_BASE_PATH" )
#
# SET( UGGRID_BASE_PATH
# "/share/dune/Modules/modules_x86_64/ug" CACHE STRING
# "UGGRID_BASE_PATH" )
#
# SET( GRAPE_PATH
# "/share/dune/Modules/modules_x86_64/grape" CACHE STRING
# "GRAPE_PATH" )
# SET( CXX_FLAGS
# -g -Wall -Wfatal-errors CACHE STRING
# "CXX_FLAGS")
SET( CUSTOM_FLAGS
"-Wall -O0 -DDEBUG -funroll-loops -g -ggdb -fno-strict-aliasing -std=c++0x -fdiagnostics-show-option " CACHE LIST
"CUSTOM FLAGS" )
# SET( ENABLE_PARALELL
# 0 CACHE BOOL
# "Enable parallel features" )
# SET ( METIS_DIR
# "/share/dune/Modules/modules_x86_64/ParMetis-3.1.1" CACHE STRING
# "metis toplevel directory" )
#needs to come first to include correct config.h
INCLUDE_DIR( ${dune-detailed-discretizations_SOURCE_DIR} )
# IF( ${GRIDTYPE} STREQUAL "UGGRID" )
# ADD_CXX_FLAGS( -I${UGGRID_BASE_PATH}/include -DENABLE_UG )
# LINK_DIRECTORIES( ${UGGRID_BASE_PATH}/lib/ )
# SET( UGLIBS "ugS3" "ugS2" "devS")
# ENDIF( ${GRIDTYPE} STREQUAL "UGGRID" )
ADD_CXX_FLAGS(-DHAVE_CONFIG_H )
ADD_CXX_FLAGS(-D${GRIDTYPE} -DGRIDDIM=${GRIDDIM} )
ADD_CXX_FLAGS(-DPOLORDER=${POLORDER} )
ADD_CXX_FLAGS( ${ALL_PKG_CPPFLAGS} ${DUNEMPICPPFLAGS} )
ADD_CXX_FLAGS( -I${ALUGRID_BASE_PATH}/include
-I${ALUGRID_BASE_PATH}/include/serial
-I${ALUGRID_BASE_PATH}/include/duneinterface -DENABLE_ALUGRID )
# IF ( ENABLE_PARALELL )
# LINK_DIRECTORIES( ${METIS_DIR} )
# Set ( ParaLIBS "-lparmetis -lmetis" )
# ADD_CXX_FLAGS( -I${ALUGRID_BASE_PATH}/include/parallel
# -DMPIPP_H -DENABLE_MPI=1
# )
#
# ENDIF ( ENABLE_PARALELL )
ADD_DUNE_MODULES( common istl grid fem localfunctions helper-tools)
LINK_DIRECTORIES( "/usr/lib" "${ALUGRID_BASE_PATH}/lib" )
ADD_CXX_FLAGS( ${CUSTOM_FLAGS} )
#----------------------------------------------------------------------------------------------------
# Source listing
#----------------------------------------------------------------------------------------------------
FILE( GLOB_RECURSE common "../dune-common/dune/common/*.hh" )
FILE( GLOB_RECURSE grid "../dune-grid/dune/grid/*.hh" )
FILE( GLOB_RECURSE istl "../dune-istl/dune/istl/*.hh" )
FILE( GLOB_RECURSE fem "../dune-fem/dune/fem/*.hh" )
FILE( GLOB_RECURSE localfunctions "../dune-localfunctions/dune/localfunctions/*.hh" )
FILE( GLOB_RECURSE helpertools "../dune-helper-tools/dune/helper-tools/*.hh" )
FILE( GLOB_RECURSE detaileddiscretizations "../dune-detailed-discretizations/dune/detailed-discretizations/*.hh" )
set_source_files_properties( ${common} ${grid} ${istl} ${fem} ${localfunctions} ${helpertools} ${detaileddiscretizations} PROPERTIES HEADER_FILE_ONLY 1 )
set( COMMON_LIBS "fem" "grid" "common" ${BLAS_LIB} "alugrid" "GL" )
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory tests)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory examples)
execute_process(COMMAND ln -s ${CMAKE_CURRENT_SOURCE_DIR}/examples/macrogrids .)
ADD_EXECUTABLE( examples/elliptic_finite_element_example "examples/elliptic_finite_element/main.cc" ${common} ${grid} ${istl} ${fem} ${localfunctions} ${helpertools} ${detaileddiscretizations} )
TARGET_LINK_LIBRARIES( examples/elliptic_finite_element_example ${COMMON_LIBS} )
ADD_EXECUTABLE( examples/elliptic_discontinuous_galerkin "examples/elliptic_discontinuous_galerkin/main.cc" ${common} ${grid} ${grid} ${fem} ${localfunctions} ${helpertools} ${detaileddiscretizations} )
TARGET_LINK_LIBRARIES( examples/elliptic_discontinuous_galerkin ${COMMON_LIBS} )
#HEADERCHECK( ${header} )
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# we need the module file to be able to build via dunecontrol # we need the module file to be able to build via dunecontrol
EXTRA_DIST=dune.module EXTRA_DIST=dune.module
SUBDIRS = m4 dune examples SUBDIRS = m4 dune
if BUILD_DOCS if BUILD_DOCS
# TODO: set up documentation tree automatically # TODO: set up documentation tree automatically
......
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MACRO(ADD_CXX_FLAGS)
FOREACH( ARG ${ARGN} )
ADD_DEFINITIONS(${ARG})
LIST(APPEND MY_CXX_FLAGS ${ARG} )
ENDFOREACH( ARG )
ENDMACRO(ADD_CXX_FLAGS)
MACRO(INCLUDE_DIR)
FOREACH( ARG ${ARGN} )
INCLUDE_DIRECTORIES(${ARG})
LIST(APPEND MY_CXX_FLAGS "-I${ARGN}" )
ENDFOREACH( ARG )
ENDMACRO(INCLUDE_DIR)
MACRO( HEADERCHECK )
ADD_CUSTOM_TARGET( headercheck )
FOREACH( HEADER ${ARGN} )
GET_FILENAME_COMPONENT( fn ${HEADER} NAME )
SET( TEST_NAME "headercheck_${fn}")
ADD_CUSTOM_TARGET( ${TEST_NAME} ${CMAKE_CXX_COMPILER} ${MY_CXX_FLAGS} -c ${HEADER} -o ${CMAKE_CURRENT_BINARY_DIR}/${TEST_NAME}.o )
ADD_TEST( ${TEST_NAME} ${CMAKE_CXX_COMPILER} ${MY_CXX_FLAGS} -c ${HEADER} -o ${CMAKE_CURRENT_BINARY_DIR}/${TEST_NAME}.o )
add_dependencies( headercheck ${TEST_NAME} )
ENDFOREACH( HEADER )
ENDMACRO( HEADERCHECK )
MACRO( ADD_DUNE_MODULES )
FOREACH( MODULE ${ARGN} )
INCLUDE_DIR( ${CMAKE_CURRENT_SOURCE_DIR}/../dune-${MODULE} )
LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../dune-${MODULE}/dune/${MODULE}/.libs )
FILE( GLOB_RECURSE tmp_header "${CMAKE_CURRENT_SOURCE_DIR}/../dune-${MODULE}/dune/${MODULE}/*.hh" )
LIST( APPEND DUNE_HEADERS ${tmp_header} )
ENDFOREACH(MODULE)
ENDMACRO( ADD_DUNE_MODULES )
MACRO( ADD_DUNE_EXECUTABLE target sources headers libs )
ADD_EXECUTABLE(${target} ${sources} ${headers} ${DUNE_HEADERS} )
#for some $@#&& reason these targets DO NOT inherit flags added via TARGET_LINK_LIBRARIES nor INCLUDE_DIRECTORIES
#so we need some magic to readd them
# get_target_property(tmp_flags ${target} COMPILE_FLAGS )
# if( NOT ${tmp_flags} )
# set( tmp_flags "" )
# endif( NOT ${tmp_flags} )
# LIST(APPEND MY_CXX_FLAGS ${tmp_flags} )
# foreach(arg ${MY_CXX_FLAGS} )
# set(bar "${bar} ${arg}")
# endforeach(arg ${MY_CXX_FLAGS} )
# set_target_properties( ${target} PROPERTIES COMPILE_FLAGS ${bar} )
# get_target_property(tmp_flags ${target} LINK_FLAGS )
# if( NOT ${tmp_flags} )
# set( tmp_flags "" )
# endif( NOT ${tmp_flags} )
# # message(STATUS ${tmp_flags} )
# set( tmp_flags "${bar} ${tmp_flags}" )
# set_target_properties( ${target} PROPERTIES LINK_FLAGS ${tmp_flags} )
TARGET_LINK_LIBRARIES(${target} ${libs} )
add_dependencies( ${target} config_refresh )
ENDMACRO( ADD_DUNE_EXECUTABLE )
add_custom_target( config_refresh
${CMAKE_CURRENT_SOURCE_DIR}/cmake/regen_config_header.sh ${CMAKE_CURRENT_BINARY_DIR}/cmake_config.h
)
\ No newline at end of file
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# 1. Redistributions of source code must retain the copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# 3. The name of the author may not be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# - Run Doxygen
#
# Adds a doxygen target that runs doxygen to generate the html
# and optionally the LaTeX API documentation.
# The doxygen target is added to the doc target as dependency.
# i.e.: the API documentation is built with:
# make doc
#
# USAGE: GLOBAL INSTALL
#
# Install it with:
# cmake ./ && sudo make install
# Add the following to the CMakeLists.txt of your project:
# include(UseDoxygen OPTIONAL)
# Optionally copy Doxyfile.in in the directory of CMakeLists.txt and edit it.
#
# USAGE: INCLUDE IN PROJECT
#
# set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
# include(UseDoxygen)
# Add the Doxyfile.in and UseDoxygen.cmake files to the projects source directory.
#
#
# Variables you may define are:
# DOXYFILE_OUTPUT_DIR - Path where the Doxygen output is stored. Defaults to "doc".
#
# DOXYFILE_LATEX_DIR - Directory where the Doxygen LaTeX output is stored. Defaults to "latex".
#
# DOXYFILE_HTML_DIR - Directory where the Doxygen html output is stored. Defaults to "html".
#
#
# Copyright (c) 2009 Tobias Rautenkranz <tobias@rautenkranz.ch>
#
# Redistribution and use is allowed according to the terms of the New
# BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
#
macro(usedoxygen_set_default name value)
if(NOT DEFINED "${name}")
set("${name}" "${value}")
endif()
endmacro()
find_package(Doxygen)
if(DOXYGEN_FOUND)
find_file(DOXYFILE_IN "Doxyfile.in"
PATHS "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_ROOT}/Modules/")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Doxyfile.in DEFAULT_MSG DOXYFILE_IN)
endif()
if(DOXYGEN_FOUND AND DOXYFILE_IN)
add_custom_target(doxygen ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
usedoxygen_set_default(DOXYFILE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/doc")
usedoxygen_set_default(DOXYFILE_HTML_DIR "html")
set_property(DIRECTORY APPEND PROPERTY
ADDITIONAL_MAKE_CLEAN_FILES "${DOXYFILE_OUTPUT_DIR}/${DOXYFILE_HTML_DIR}")
set(DOXYFILE_LATEX "NO")
set(DOXYFILE_PDFLATEX "NO")
set(DOXYFILE_DOT "NO")
find_package(LATEX)
if(LATEX_COMPILER AND MAKEINDEX_COMPILER)
set(DOXYFILE_LATEX "YES")
usedoxygen_set_default(DOXYFILE_LATEX_DIR "latex")
set_property(DIRECTORY APPEND PROPERTY
ADDITIONAL_MAKE_CLEAN_FILES
"${DOXYFILE_OUTPUT_DIR}/${DOXYFILE_LATEX_DIR}")
if(PDFLATEX_COMPILER)
set(DOXYFILE_PDFLATEX "YES")
endif()
if(DOXYGEN_DOT_EXECUTABLE)
set(DOXYFILE_DOT "YES")
endif()
endif()
configure_file(${DOXYFILE_IN} Doxyfile ESCAPE_QUOTES IMMEDIATE @ONLY)
get_target_property(DOC_TARGET doc TYPE)
if(NOT DOC_TARGET)
add_custom_target(doc)
endif()
add_dependencies(doc doxygen)
endif()
Module: dune-detailed-discretizations Module: dune-detailed-discretizations
Version: 0.1 Version: 2.2.0
Maintainer: felix.albrecht@uni-muenster.de Maintainer: felix.albrecht@uni-muenster.de
Depends: dune-common dune-grid dune-fem dune-istl dune-helper-tools dune-localfunctions Depends: dune-common dune-grid dune-fem dune-istl dune-helper-tools dune-localfunctions
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment