diff --git a/CMakeLists.txt b/CMakeLists.txt index c67d3fc71eb975e0df7bc15d2a7b1480b1d0cef0..69182d370edc2ebfa574f448edc4cfdefc2e95e6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,11 +27,12 @@ endif(COMMAND cmake_policy) find_package(DUNE_grid REQUIRED) find_package(DUNE_istl REQUIRED) find_package(DUNE_localfunctions REQUIRED) -#find_package(DUNE_pdelab REQUIRED) find_package(DUNE_common REQUIRED) ############## # Find the optional packages +find_package(DUNE_geometry) +find_package(DUNE_pdelab) find_package(MPI) find_package(Boost) find_package(Alberta) @@ -42,6 +43,7 @@ find_package(SuperLU) if(SUPERLU_FOUND) set(SUPERLU_CPPFLAGS "-I${SUPERLU_INCLUDE_DIRS} -DENABLE_SUPERLU") set(SUPERLU_LIBS "-L${SUPERLU_LIBRARIES} -lsuperlu -L${BLAS_LIBRARIES} -lblas") + #set(SUPERLU_LIBS "${SUPERLU_LIBRARIES} ${BLAS_LIBRARIES}") #define HAVE_MEM_USAGE_T_EXPANSIONS 1 endif(SUPERLU_FOUND) @@ -214,10 +216,12 @@ CHECK_CXX_SOURCE_COMPILES(" # -> for TARGET_LINK_LIBRARIES set(DumuxLinkLibraries # "dumux" # the DUMUX library. CMake replaces this by the proper file location - ${DUNE_grid_LIBRARIES} ${DUNE_common_LIBRARIES} + ${DUNE_geometry_LIBRARIES} + ${DUNE_grid_LIBRARIES} ${DUNE_mux_LIBRARIES} - ${Boost_LIBRARIES}) + ${Boost_LIBRARIES} + "-lm") # -> for LINK_DIRECTORIES set(DumuxLinkDirectories ${Boost_LIBRARY_DIRS}) @@ -227,6 +231,7 @@ set(DumuxIncludeDirectories ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${DUNE_grid_INCLUDE_DIRS} + ${DUNE_geometry_INCLUDE_DIRS} ${DUNE_common_INCLUDE_DIRS} ${DUNE_istl_INCLUDE_DIRS} ${DUNE_localfunctions_INCLUDE_DIRS} @@ -381,3 +386,9 @@ add_test(test_dec2p2c bin/runTest.sh test/decoupled/2p2c/test_dec2p2c-reference. add_test(tutorial_coupled tutorial/tutorial_coupled 1 1) add_test(tutorial_decoupled tutorial/tutorial_decoupled 1) + +if(SUPERLU_FOUND AND DUNE_pdelab_FOUND) + add_test(test_stokes test/freeflow/stokes/test_stokes) + add_test(test_stokes2c test/freeflow/stokes2c/test_stokes2c) + add_test(test_stokes2cni test/freeflow/stokes2cni/test_stokes2cni) +endif(SUPERLU_FOUND AND DUNE_pdelab_FOUND) diff --git a/cmake/Modules/FindDUNE_geometry.cmake b/cmake/Modules/FindDUNE_geometry.cmake new file mode 100644 index 0000000000000000000000000000000000000000..fab1164f9807436b64bae3f29023fcfead4818dc --- /dev/null +++ b/cmake/Modules/FindDUNE_geometry.cmake @@ -0,0 +1,17 @@ +# -*-cmake-*- +# - Try to find the DUNE geometry library +# Once done this will define: +# DUNE_geometry_FOUND - system has dune-geometry +# DUNE_geometry_INCLUDE_DIR - incude paths to use dune-geometry +# DUNE_geometry_LIBRARIES - Link these to use dune-geometry +INCLUDE(DumuxMacros) + +DumuxSetup("DUNE_geometry" "dune-geometry" "DUNE") + +DumuxFindIncludeDir("dune/geometry/type.hh") + +DumuxRequiredLibsFound() +DumuxIncludeDirsFound() +DumuxCheckFound() + + diff --git a/cmake/Modules/FindSuperLU.cmake b/cmake/Modules/FindSuperLU.cmake index ff10a8a73c9b201eabd8c9def28e07d24ceb457d..62a5dbdbb9e838dd7d87f18975a8ea13fd2aa34d 100644 --- a/cmake/Modules/FindSuperLU.cmake +++ b/cmake/Modules/FindSuperLU.cmake @@ -29,8 +29,8 @@ mark_as_advanced(SUPERLU_INCLUDE_DIRS SUPERLU_LIBRARIES) # if both headers and library are found, store results if(SUPERLU_FOUND) - set(SUPERLU_LIBRARIES ${SUPERLU_LIBRARY}) set(SUPERLU_INCLUDE_DIRS ${SUPERLU_INCLUDE_DIR}) + set(SUPERLU_LIBRARIES ${SUPERLU_LIBRARY}) # log result file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "Determing location of SuperLU succeded:\n" diff --git a/test/freeflow/CMakeLists.txt b/test/freeflow/CMakeLists.txt index 951fe6368871cf19e6dba2c650d5932dd07124e0..c6ef2f5823e7c24eb04e64e61a0cb733a4e91800 100644 --- a/test/freeflow/CMakeLists.txt +++ b/test/freeflow/CMakeLists.txt @@ -1,3 +1,3 @@ -#add_subdirectory("stokes") -#add_subdirectory("stokes2c") -#add_subdirectory("stokes2cni") +add_subdirectory("stokes") +add_subdirectory("stokes2c") +add_subdirectory("stokes2cni") diff --git a/test/freeflow/stokes/CMakeLists.txt b/test/freeflow/stokes/CMakeLists.txt index b0c42a4bdb3a25805f1947a1e565de0e8636c961..a4b0c8f033af5f6764fe7d7957a45682b816cdc0 100644 --- a/test/freeflow/stokes/CMakeLists.txt +++ b/test/freeflow/stokes/CMakeLists.txt @@ -3,8 +3,8 @@ add_executable("test_stokes" test_stokes.cc) target_link_libraries("test_stokes" ${DumuxLinkLibraries}) set_target_properties("test_stokes" PROPERTIES - COMPILE_FLAGS ${SUPERLU_CPPFLAGS} - LINK_FLAGS ${SUPERLU_LIBS}) + COMPILE_FLAGS ${SUPERLU_CPPFLAGS}) +target_link_libraries("test_stokes" ${SUPERLU_LIBS}) # add required libraries and includes to the build flags link_directories(${DumuxLinkDirectories}) diff --git a/test/freeflow/stokes2c/CMakeLists.txt b/test/freeflow/stokes2c/CMakeLists.txt index 000d67bc44a7765c8c52ec65ca762c965b70df37..5380199e81df59bb0564b274a92df39bb93df898 100644 --- a/test/freeflow/stokes2c/CMakeLists.txt +++ b/test/freeflow/stokes2c/CMakeLists.txt @@ -4,6 +4,7 @@ target_link_libraries("test_stokes2c" ${DumuxLinkLibraries}) set_target_properties("test_stokes2c" PROPERTIES COMPILE_FLAGS ${SUPERLU_CPPFLAGS}) +target_link_libraries("test_stokes2c" ${SUPERLU_LIBS}) # add required libraries and includes to the build flags link_directories(${DumuxLinkDirectories}) diff --git a/test/freeflow/stokes2cni/CMakeLists.txt b/test/freeflow/stokes2cni/CMakeLists.txt index b91dac3e990a7a73ff813062769e28ed8bca3fd7..d0933b5cbd44513ae9628fd235fadb171327ff51 100644 --- a/test/freeflow/stokes2cni/CMakeLists.txt +++ b/test/freeflow/stokes2cni/CMakeLists.txt @@ -4,6 +4,7 @@ target_link_libraries("test_stokes2cni" ${DumuxLinkLibraries}) set_target_properties("test_stokes2cni" PROPERTIES COMPILE_FLAGS ${SUPERLU_CPPFLAGS}) +target_link_libraries("test_stokes2cni" ${SUPERLU_LIBS}) # add required libraries and includes to the build flags link_directories(${DumuxLinkDirectories})