Skip to content
Snippets Groups Projects
Commit c371fb51 authored by René Fritze's avatar René Fritze
Browse files

stuff is now buildable with dune-cmake

parent 74ef8cb5
No related branches found
No related tags found
No related merge requests found
if( NOT CMAKE_BUILD_TYPE )
message( STATUS "No build type selected, setting default build type 'Debug'" )
set( CMAKE_BUILD_TYPE "DEBUG" CACHE STRING "DEBUG/RELEASE")
endif( NOT CMAKE_BUILD_TYPE )
project( dune-stuff )
project("dune-stuff" CXX)
# cmake specific
cmake_minimum_required( VERSION 2.8 )
set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true )
set( CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".lib" ".la" ".a")
set( CMAKE_COLOR_MAKEFILE ON)
set( CMAKE_VERBOSE_MAKEFILE ON )
# local environment
set( ENV{PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../local/bin:$ENV{PATH}" )
set( ENV{LD_LIBRARY_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../local/lib:$ENV{LD_LIBRARY_PATH}" )
set( ENV{PKG_CONFIG_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/../local/lib/pkgconfig:$ENV{PKG_CONFIG_PATH}" )
#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
# dune-stuff cmake includes
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake )
include(DuneUtils)
include(GridUtils)
include(UseDoxygen)
#include the dune macros
include(DuneMacros)
# needs to come first to include correct config.h
include_dir( ${dune-stuff_BINARY_DIR} ${dune-stuff_SOURCE_DIR} )
# start a dune project with information from dune.module
dune_project()
# dune-stuff cmake includes
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake )
#----------------------------------------------------------------------------------------------------
# General Settings
......@@ -36,24 +29,9 @@ execute_process(
OUTPUT_STRIP_TRAILING_WHITESPACE
)
#----------------------------------------------------------------------------------------------------
# Options, that can be changed be the User in order to customise dune-stuff
#----------------------------------------------------------------------------------------------------
set( ENABLE_MPI
"0" CACHE STRING
"set to 1 to enable mpi")
include(DuneUtils)
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_config.h.in ${CMAKE_CURRENT_BINARY_DIR}/cmake_config.h )
add_dune_modules(
stuff
istl
grid
common
fem
geometry
localfunctions
)
link_directories( "/usr/lib" ${CCGNU_LIBRARY_DIRS} )
......@@ -62,16 +40,8 @@ file( GLOB_RECURSE stuff "${CMAKE_CURRENT_SOURCE_DIR}/dune/*.hh" )
set( COMMON_HEADER ${stuff} ${DUNE_HEADERS} )
set_source_files_properties( ${COMMON_HEADER} PROPERTIES HEADER_FILE_ONLY 1 )
# libs
set( COMMON_LIBS
${DUNE_LIBS}
${PARALIBS}
${CCGNU_LIBRARIES}
${BOOST_LIBS}
${GRIDLIBS}
${FASPLIB}
)
add_subdirectory(dune)
add_subdirectory(lib)
add_subdirectory(examples)
finalize_dune_project(GENERATE_CONFIG_H_CMAKE)
......@@ -11,31 +11,9 @@ function(TO_LIST_SPACES _LIST_NAME OUTPUT_VAR)
foreach(ITEM ${${_LIST_NAME}})
set(NEW_LIST_SPACE ${NEW_LIST_SPACE} ${ITEM})
endforeach()
# string(STRIP ${NEW_LIST_SPACE} NEW_LIST_SPACE)
set(${OUTPUT_VAR} "${NEW_LIST_SPACE}" PARENT_SCOPE)
endfunction()
MACRO(INCLUDE_DIR)
FOREACH( ARG ${ARGN} )
IF(IS_DIRECTORY ${ARG} )
INCLUDE_DIRECTORIES(${ARG})
ELSE(IS_DIRECTORY ${ARG} )
MESSAGE( STATUS "Include directory ${ARG} does not exist" )
ENDIF(IS_DIRECTORY ${ARG} )
ENDFOREACH( ARG )
ENDMACRO(INCLUDE_DIR)
MACRO(INCLUDE_SYS_DIR)
FOREACH( ARG ${ARGN} )
IF(IS_DIRECTORY ${ARG} )
ADD_DEFINITIONS("-isystem${ARG}")
INCLUDE_DIRECTORIES(${ARG})
ELSE(IS_DIRECTORY ${ARG} )
MESSAGE( STATUS "Include directory ${ARG} does not exist" )
ENDIF(IS_DIRECTORY ${ARG} )
ENDFOREACH( ARG )
ENDMACRO(INCLUDE_SYS_DIR)
MACRO( HEADERCHECK )
ADD_CUSTOM_TARGET( headercheck SOURCES ${ARGN} )
FOREACH( HEADER ${ARGN} )
......@@ -78,53 +56,22 @@ MACRO( ADD_CPPCHECK )
ENDIF( EXISTS ${CPPCHECK_BINARY} )
ENDMACRO( ADD_CPPCHECK )
MACRO( ADD_DUNE_MODULES )
FOREACH( MODULE ${ARGN} )
INCLUDE_SYS_DIR( ${DUNE_STUFF_ROOT}/../dune-${MODULE} )
list( APPEND DUNE_MODULE_DIRS ${DUNE_STUFF_ROOT}/../dune-${MODULE})
set( ${MODULE}_LIBDIR ${DUNE_STUFF_ROOT}/../dune-${MODULE}/lib/.libs)
LINK_DIRECTORIES( ${${MODULE}_LIBDIR} )
SET( LIBNAME libdune${MODULE}.a )
FILE( GLOB_RECURSE ${MODULE}_HEADER "${DUNE_STUFF_ROOT}/../dune-${MODULE}/dune/*.hh" )
LIST( APPEND DUNE_HEADERS ${${MODULE}_HEADER} )
find_library( ${MODULE}_FOUND ${LIBNAME} PATHS ${${MODULE}_LIBDIR})
if ( ${MODULE}_FOUND )
string(TOUPPER ${MODULE} UPMODULE )
LIST( APPEND DUNE_LIBS ${${MODULE}_FOUND} )
ADD_DEFINITIONS( -DHAVE_DUNE_${UPMODULE} )
else()
MESSAGE(STATUS "did not find library ${LIBNAME}: did not add dune-${MODULE}")
endif()
ENDFOREACH(MODULE)
ENDMACRO( ADD_DUNE_MODULES )
MACRO( ADD_MY_MODULES )
FOREACH( MODULE ${ARGN} )
INCLUDE_DIR( ${DUNE_STUFF_ROOT}/../dune-${MODULE} )
LINK_DIRECTORIES(${DUNE_STUFF_ROOT}/../dune-${MODULE}/${MODULE}/.libs )
FILE( GLOB_RECURSE ${MODULE}_HEADER "${DUNE_STUFF_ROOT}/../dune-${MODULE}/dune/*.hh" )
LIST( APPEND DUNE_HEADERS ${${MODULE}_HEADER} )
ENDFOREACH(MODULE)
ENDMACRO( ADD_MY_MODULES )
MACRO( SET_CONFIGHEADER_VARS )
IF( IS_DIRECTORY ${ALUGRID_BASE_PATH} )
SET( ALUGRID_FOUND "1" )
ELSE( IS_DIRECTORY ${ALUGRID_BASE_PATH} )
SET( ALUGRID_FOUND "0" )
ENDIF( IS_DIRECTORY ${ALUGRID_BASE_PATH} )
ENDMACRO( SET_CONFIGHEADER_VARS )
macro(BEGIN_TESTCASES)
include_sys_dir(${DUNE_STUFF_TEST_DIR}/gtest )
include_directories(${DUNE_STUFF_TEST_DIR}/gtest )
add_library(gtest_dune_stuff STATIC ${DUNE_STUFF_TEST_DIR}/gtest/gtest-all.cc)
target_link_libraries(gtest_dune_stuff pthread)
file( GLOB test_sources "${CMAKE_CURRENT_SOURCE_DIR}/*.cc" )
foreach( source ${test_sources} )
get_filename_component(testname ${source} NAME_WE)
add_executable( test_${testname} ${source} )
add_test( test_${testname} ${CMAKE_CURRENT_BINARY_DIR}/test_${testname} )
target_link_libraries( test_${testname} ${COMMON_LIBS} gtest_dune_stuff )
target_link_dune_default_libraries(test_${testname})
dune_target_link_libraries( test_${testname} gtest_dune_stuff )
dune_target_link_libraries( test_${testname} dunestuff )
dune_target_link_libraries( test_${testname} dunefem )
list(APPEND testnames test_${testname} )
endforeach( source )
endmacro(BEGIN_TESTCASES)
......@@ -135,143 +82,3 @@ macro(END_TESTCASES)
DEPENDS test_binaries)
endmacro(END_TESTCASES)
add_custom_target( config_refresh
${CMAKE_CURRENT_SOURCE_DIR}/cmake/regen_config_header.sh ${CMAKE_CURRENT_BINARY_DIR}/cmake_config.h
)
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
INCLUDE (CheckIncludeFileCXX)
CHECK_INCLUDE_FILE_CXX("tr1/array" HAVE_TR1_ARRAY)
CHECK_INCLUDE_FILE_CXX("malloc.h" HAVE_MALLOC_H)
# try to use compiler flag -std=c++11
include(TestCXXAcceptsFlag)
CHECK_CXX_ACCEPTS_FLAG("-std=c++11" CXX_FLAG_CXX11)
if(CXX_FLAG_CXX11)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++11 ")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -std=c++11 ")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++11 ")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -std=c++11 ")
set(CXX_STD0X_FLAGS "-std=c++11")
else()
# try to use compiler flag -std=c++0x for older compilers
CHECK_CXX_ACCEPTS_FLAG("-std=c++0x" CXX_FLAG_CXX0X)
if(CXX_FLAG_CXX0X)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++0x" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x ")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++0x ")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -std=c++0x ")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++0x ")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -std=c++0x ")
set(CXX_STD0X_FLAGS "-std=c++0x")
endif(CXX_FLAG_CXX0X)
endif(CXX_FLAG_CXX11)
if(NOT CXX_STD0X_FLAGS)
message(FATAL "you need a c++11 compatible compiler")
endif()
# __attribute__((deprecated))
CHECK_CXX_SOURCE_COMPILES("
int main(void)
{
auto f = [&] (){ return 0; };
return 0;
};
" HAS_LAMBDA_FUNCTIONS
)
CHECK_CXX_SOURCE_COMPILES("
#include <vector>
#include <iterator>
int main(void)
{
std::vector<int> a;
std::vector<int>::const_iterator b = std::begin(a);
std::vector<int>::const_iterator e = std::end(a);
return 0;
};
" HAS_STD_BEGIN_END
)
SET( CMAKE_CXX_FLAGS_RELEASE
"-DDNDEBUG -O2 -fPIC " )
SET( CMAKE_CXX_FLAGS_DEBUG
"-O0 -DDNDEBUG -g3 -ggdb -Wall -Wextra -Wc++0x-compat -Wparentheses -pedantic -Wredundant-decls -Wshadow -Wunused-variable -Winline -fno-strict-aliasing -Wundef -Wnon-virtual-dtor -fPIC " )
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set( CMAKE_CXX_FLAGS_DEBUG
"${CMAKE_CXX_FLAGS_DEBUG} -Wdocumentation -Wshorten-64-to-32 -Wused-but-marked-unused -Wdisabled-macro-expansion -Wcovered-switch-default -Wfloat-equal -Wswitch-enum -Wunreachable-code -Wnon-literal-null-conversion "
CACHE STRING
"Flags used by the compiler during debug builds.")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
set( CMAKE_CXX_FLAGS_DEBUG
"${CMAKE_CXX_FLAGS_DEBUG} -Wlogical-op"
CACHE STRING
"Flags used by the compiler during debug builds.")
endif()
FIND_PACKAGE( PkgConfig )
FIND_PACKAGE(Boost 1.48.0 COMPONENTS system thread filesystem date_time timer REQUIRED)
SET(BOOST_LIBS ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY}
${Boost_THREAD_LIBRARY} ${Boost_TIMER_LIBRARY}
${Boost_DATE_TIME_LIBRARY} ${Boost_CHRONO_LIBRARY})
ADD_DEFINITIONS( "-DHAVE_CMAKE_CONFIG ${CXX_STD0X_FLAGS}" )
INCLUDE_SYS_DIR(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
#find_package(SuperLU)
#if(SUPERLU_FOUND)
#include_directories(${SUPERLU_INCLUDES})
#link_directories(${SUPERLU_LIBRARY_DIRS})
#endif(SUPERLU_FOUND)
pkg_check_modules(EIGEN eigen3)
if(EIGEN_FOUND)
INCLUDE_SYS_DIR(${EIGEN_INCLUDE_DIRS})
endif(EIGEN_FOUND)
pkg_check_modules(ALU_GRID alugrid)
pkg_check_modules(UG_GRID libug)
include(FindFASP)
if(ENABLE_MPI)
find_package(MPI REQUIRED)
if(MPI_FOUND)
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message(STATUS "Enabling mpi features, mac style!")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS} -w -pthread -DMPIPP_H -DENABLE_MPI=1" )
include_directories(${MPI_CXX_INCLUDE_PATH})
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MPI_CXX_LINK_FLAGS} -pthread")
LIST( APPEND PARALIBS ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
else(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message(STATUS "Enabling mpi features")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS} -w -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -pthread -DMPIPP_H -DENABLE_MPI=1" )
include_directories(${MPI_CXX_INCLUDE_PATH})
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MPI_CXX_LINK_FLAGS} -pthread -L/usr/lib/openmpi/lib -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl")
LIST( APPEND PARALIBS ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY} parmetis metis)
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
else(MPI_FOUND)
message(FATAL "mpi requested but not found")
endif(MPI_FOUND)
endif(ENABLE_MPI)
Macro(ADD_IF_SUPPORTED dest)
FOREACH(flag ${ARGN})
CHECK_CXX_ACCEPTS_FLAG("${flag}" has_${flag})
if(has_${flag})
Set(${dest} "${${dest}} ${flag}")
else(has_${flag})
Message("compiler doesn't support: ${flag}")
endif(has_${flag})
ENDFOREACH(flag ${ARGN})
EndMacro(ADD_IF_SUPPORTED)
ENABLE_TESTING()
INCLUDE (CheckIncludeFileCXX)
CHECK_INCLUDE_FILE_CXX("tr1/array" HAVE_TR1_ARRAY)
CHECK_INCLUDE_FILE_CXX("malloc.h" HAVE_MALLOC_H)
# try to use compiler flag -std=c++11
include(TestCXXAcceptsFlag)
CHECK_CXX_ACCEPTS_FLAG("-std=c++11" CXX_FLAG_CXX11)
if(CXX_FLAG_CXX11)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++11 ")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -std=c++11 ")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++11 ")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -std=c++11 ")
set(CXX_STD0X_FLAGS "-std=c++11")
else()
# try to use compiler flag -std=c++0x for older compilers
CHECK_CXX_ACCEPTS_FLAG("-std=c++0x" CXX_FLAG_CXX0X)
if(CXX_FLAG_CXX0X)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++0x" )
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x ")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++0x ")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -std=c++0x ")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++0x ")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -std=c++0x ")
set(CXX_STD0X_FLAGS "-std=c++0x")
endif(CXX_FLAG_CXX0X)
endif(CXX_FLAG_CXX11)
if(NOT CXX_STD0X_FLAGS)
message(FATAL "you need a c++11 compatible compiler")
endif()
# __attribute__((deprecated))
CHECK_CXX_SOURCE_COMPILES("
int main(void)
{
auto f = [&] (){ return 0; };
return 0;
};
" HAS_LAMBDA_FUNCTIONS
)
CHECK_CXX_SOURCE_COMPILES("
#include <vector>
#include <iterator>
int main(void)
{
std::vector<int> a;
std::vector<int>::const_iterator b = std::begin(a);
std::vector<int>::const_iterator e = std::end(a);
return 0;
};
" HAS_STD_BEGIN_END
)
SET( CMAKE_CXX_FLAGS_RELEASE
"-DDNDEBUG -O2 -fPIC " )
SET( CMAKE_CXX_FLAGS_DEBUG
"-O0 -DDNDEBUG -g3 -ggdb -Wall -Wextra -Wc++0x-compat -Wparentheses -pedantic -Wredundant-decls -Wshadow -Wunused-variable -Winline -fno-strict-aliasing -Wundef -Wnon-virtual-dtor -fPIC " )
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
set( CMAKE_CXX_FLAGS_DEBUG
"${CMAKE_CXX_FLAGS_DEBUG} -Wdocumentation -Wshorten-64-to-32 -Wused-but-marked-unused -Wdisabled-macro-expansion -Wcovered-switch-default -Wfloat-equal -Wswitch-enum -Wunreachable-code -Wnon-literal-null-conversion "
CACHE STRING
"Flags used by the compiler during debug builds.")
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
set( CMAKE_CXX_FLAGS_DEBUG
"${CMAKE_CXX_FLAGS_DEBUG} -Wlogical-op"
CACHE STRING
"Flags used by the compiler during debug builds.")
endif()
FIND_PACKAGE( PkgConfig )
FIND_PACKAGE(Boost 1.48.0 COMPONENTS system thread filesystem date_time timer REQUIRED)
foreach(_lib ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY}
${Boost_THREAD_LIBRARY} ${Boost_TIMER_LIBRARY}
${Boost_DATE_TIME_LIBRARY} ${Boost_CHRONO_LIBRARY})
list(APPEND DUNE_DEFAULT_LIBS "${_lib}")
endforeach(_lib)
include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})
#find_package(SuperLU)
#if(SUPERLU_FOUND)
#include_directories(${SUPERLU_INCLUDES})
#link_directories(${SUPERLU_LIBRARY_DIRS})
#endif(SUPERLU_FOUND)
pkg_check_modules(EIGEN eigen3)
if(EIGEN_FOUND)
include_directories(${EIGEN_INCLUDE_DIRS})
endif(EIGEN_FOUND)
# include(FindFASP)
if(ENABLE_MPI)
find_package(MPI REQUIRED)
if(MPI_FOUND)
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message(STATUS "Enabling mpi features, mac style!")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS} -w -pthread -DMPIPP_H -DENABLE_MPI=1" )
include_directories(${MPI_CXX_INCLUDE_PATH})
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MPI_CXX_LINK_FLAGS} -pthread")
LIST( APPEND PARALIBS ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
else(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
message(STATUS "Enabling mpi features")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MPI_CXX_COMPILE_FLAGS} -w -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -pthread -DMPIPP_H -DENABLE_MPI=1" )
include_directories(${MPI_CXX_INCLUDE_PATH})
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${MPI_CXX_LINK_FLAGS} -pthread -L/usr/lib/openmpi/lib -lmpi -lopen-rte -lopen-pal -ldl -Wl,--export-dynamic -lnsl -lutil -lm -ldl")
LIST( APPEND PARALIBS ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY} parmetis metis)
endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
else(MPI_FOUND)
message(FATAL "mpi requested but not found")
endif(MPI_FOUND)
endif(ENABLE_MPI)
Macro(ADD_IF_SUPPORTED dest)
FOREACH(flag ${ARGN})
CHECK_CXX_ACCEPTS_FLAG("${flag}" has_${flag})
if(has_${flag})
Set(${dest} "${${dest}} ${flag}")
else(has_${flag})
Message("compiler doesn't support: ${flag}")
endif(has_${flag})
ENDFOREACH(flag ${ARGN})
EndMacro(ADD_IF_SUPPORTED)
Module:dune-stuff
Version:2.2.1
Version:2.3.0
Maintainer:rene.milk@uni-muenster.de
Depends: dune-common (>= 2.2)
Suggests: dune-grid (>= 2.2) dune-fem (>= 1.3) dune-istl (>= 2.2)
Depends: dune-common (> 2.2)
Suggests: dune-grid (> 2.2) dune-fem (> 1.3) dune-istl (> 2.2)
add_subdirectory(test)
add_subdirectory(test EXCLUDE_FROM_ALL)
#include "math.hh"
// this is just for the test to compile
const std::string Epsilon<std::string, false>::value = "_";
const std::string Dune::Stuff::Common::Epsilon<std::string, false>::value = "_";
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