Skip to content
Snippets Groups Projects
Commit 22a9d2a8 authored by Christoph Grüninger's avatar Christoph Grüninger
Browse files

[CMake]

Most tests are run correctly, some fail due to an exception or missing MPI support.
Module name, version and email address is extracted from dune.module.

[[Imported from SVN: r6587]]
parent 5b0bef05
No related branches found
No related tags found
No related merge requests found
# general stuff # general stuff
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
set(ProjectName "dune-common")
set(ProjectVersion "2.2-svn")
set(ProjectMaintainer "DUNE Project")
set(ProjectMaintainerEmail "dune@dune-project.org")
project(${ProjectName} C CXX)
# make sure our own modules are found # make sure our own modules are found
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/modules")
include(DuneMacros)
dune_module_information(${CMAKE_SOURCE_DIR})
set(ProjectName "${DUNE_MODULE_NAME}")
set(ProjectVersion "${DUNE_VERSION_STRING}")
set(ProjectMaintainerEmail "${DUNE_MAINTAINER}")
project(${ProjectName} C CXX)
# include dune-common to include pathtest # include dune-common to include pathtest
include_directories("${CMAKE_SOURCE_DIR}") include_directories("${CMAKE_SOURCE_DIR}")
link_directories("${CMAKE_SOURCE_DIR}") link_directories("${CMAKE_SOURCE_DIR}")
...@@ -27,8 +29,13 @@ check_include_file_cxx("memory" HAVE_MEMORY) ...@@ -27,8 +29,13 @@ check_include_file_cxx("memory" HAVE_MEMORY)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -DHAVE_MEMORY=${HAVE_MEMORY}") set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -DHAVE_MEMORY=${HAVE_MEMORY}")
# search for packages # search for packages
find_package(MPI) #find_package(MPI)
set(HAVE_MPI MPI_CXX_FOUND) #set(HAVE_MPI MPI_CXX_FOUND)
#include_directories(${MPI_CXX_INCLUDE_PATH})
#set(CMAKE_CXX_COMPILE_FLAGS ${CMAKE_CXX_COMPILE_FLAGS} ${MPI_CXX_COMPILE_FLAGS})
#set(CMAKE_CXX_LINK_FLAGS ${CMAKE_CXX_LINK_FLAGS} ${MPI_CXX_LINK_FLAGS})
#include_directories(${MPI_CXX_INCLUDE_PATH})
find_package(Boost) find_package(Boost)
set(HAVE_BOOST BOOST_FOUND) set(HAVE_BOOST BOOST_FOUND)
find_package(SharedPtr) find_package(SharedPtr)
...@@ -49,43 +56,91 @@ add_test(arraylisttest dune/common/test/arraylisttest) ...@@ -49,43 +56,91 @@ add_test(arraylisttest dune/common/test/arraylisttest)
add_test(arraytest dune/common/test/arraytest) add_test(arraytest dune/common/test/arraytest)
add_test(bigunsignedinttest dune/common/test/bigunsignedinttest) add_test(bigunsignedinttest dune/common/test/bigunsignedinttest)
add_test(bitsetvectortest dune/common/test/bitsetvectortest) add_test(bitsetvectortest dune/common/test/bitsetvectortest)
add_test(check_fvector_size dune/common/test/check_fvector_size)
add_test(conversiontest dune/common/test/conversiontest) add_test(conversiontest dune/common/test/conversiontest)
add_test(deprtuplestest dune/common/test/deprtuplestest) add_test(deprtuplestest dune/common/test/deprtuplestest)
add_test(dynmatrixtest dune/common/test/dynmatrixtest) add_test(dynmatrixtest dune/common/test/dynmatrixtest)
add_test(dynvectortest dune/common/test/dynvectortest) add_test(dynvectortest dune/common/test/dynvectortest)
add_test(enumsettest dune/common/test/enumsettest) add_test(enumsettest dune/common/test/enumsettest)
add_test(fassigntest dune/common/test/fassigntest)
add_test(fmatrixtest dune/common/test/fmatrixtest) add_test(fmatrixtest dune/common/test/fmatrixtest)
add_test(fvectortest dune/common/test/fvectortest) add_test(fvectortest dune/common/test/fvectortest)
add_test(gcdlcmtest dune/common/test/gcdlcmtest) add_test(gcdlcmtest dune/common/test/gcdlcmtest)
add_test(iteratorfacadetest2 dune/common/test/iteratorfacadetest2)
add_test(iteratorfacadetest dune/common/test/iteratorfacadetest) add_test(iteratorfacadetest dune/common/test/iteratorfacadetest)
add_test(iteratorfacadetest2 dune/common/test/iteratorfacadetest2)
add_test(lrutest dune/common/test/lrutest) add_test(lrutest dune/common/test/lrutest)
if(MPI_CXX_FOUND)
add_test(mpicollectivecommunication dune/common/test/mpicollectivecommunication)
endif(MPI_CXX_FOUND)
add_test(mpiguardtest dune/common/test/mpiguardtest) add_test(mpiguardtest dune/common/test/mpiguardtest)
add_test(mpihelpertest dune/common/test/mpihelpertest) add_test(mpihelpertest dune/common/test/mpihelpertest)
add_test(nullptr-test2 dune/common/test/nullptr-test2) add_test(mpihelpertest2 dune/common/test/mpihelpertest2)
add_test(nullptr-test dune/common/test/nullptr-test) add_test(nullptr_test dune/common/test/nullptr_test)
add_test(parametertreetest dune/common/test/parametertreetest) add_test(parametertreetest dune/common/test/parametertreetest)
add_test(pathtest dune/common/test/pathtest) add_test(pathtest dune/common/test/pathtest)
add_test(poolallocatortest dune/common/test/poolallocatortest) add_test(poolallocatortest dune/common/test/poolallocatortest)
add_test(shared_ptrtest dune/common/test/shared_ptrtest) add_test(shared_ptrtest_config dune/common/test/shared_ptrtest_config)
add_test(shared_ptrtest_dune dune/common/test/shared_ptrtest_dune)
add_test(singletontest dune/common/test/singletontest) add_test(singletontest dune/common/test/singletontest)
add_test(sllisttest dune/common/test/sllisttest)
add_test(NAME static_assert_test
COMMAND ${CMAKE_COMMAND} --build . --target static_assert_test --config $<CONFIGURATION>)
add_test(NAME static_assert_test_fail
COMMAND ${CMAKE_COMMAND} --build . --target static_assert_test_fail --config $<CONFIGURATION>)
set_tests_properties(static_assert_test_fail PROPERTIES WILL_FAIL true)
add_test(streamtest dune/common/test/streamtest) add_test(streamtest dune/common/test/streamtest)
add_test(testfassign1 dune/common/test/testfassign1)
add_test(testfassign2 dune/common/test/testfassign2) add_test(testfassign2 dune/common/test/testfassign2)
add_test(testfassign dune/common/test/testfassign) add_test(testfassign3 dune/common/test/testfassign3)
add_test(testfconstruct dune/common/test/testfconstruct) add_test(testfassign4 dune/common/test/testfassign4)
add_test(test-stack dune/common/test/test-stack) add_test(test_stack dune/common/test/test_stack)
add_test(tuplestest dune/common/test/tuplestest) add_test(tuplestest_config dune/common/test/tuplestest_config)
add_test(tuplestest_dune dune/common/test/tuplestest_dune)
add_test(tuplestest_tr1 dune/common/test/tuplestest_tr1)
add_test(tupleutilitytest dune/common/test/tupleutilitytest) add_test(tupleutilitytest dune/common/test/tupleutilitytest)
add_test(utilitytest dune/common/test/utilitytest) add_test(utilitytest dune/common/test/utilitytest)
# failing tests
add_test(testfassign_fail1 dune/common/test/testfassign_fail1)
add_test(testfassign_fail2 dune/common/test/testfassign_fail2)
add_test(testfassign_fail3 dune/common/test/testfassign_fail3)
add_test(testfassign_fail4 dune/common/test/testfassign_fail4)
add_test(testfassign_fail5 dune/common/test/testfassign_fail5)
add_test(testfassign_fail6 dune/common/test/testfassign_fail6)
set_tests_properties(
testfassign_fail1
testfassign_fail2
testfassign_fail3
testfassign_fail4
testfassign_fail5
testfassign_fail6
PROPERTIES WILL_FAIL true)
# compile test
add_test(NAME static_assert_test
COMMAND ${CMAKE_COMMAND} --build . --target static_assert_test --config $<CONFIGURATION>)
add_test(NAME testfconstruct
COMMAND ${CMAKE_COMMAND} --build . --target testfconstruct --config $<CONFIGURATION>)
# failing compile tests
add_test(NAME genericiterator_compile_fail
COMMAND ${CMAKE_COMMAND} --build . --target genericiterator_compile_fail --config $<CONFIGURATION>)
add_test(NAME check_fvector_size_fail1
COMMAND ${CMAKE_COMMAND} --build . --target check_fvector_size_fail1 --config $<CONFIGURATION>)
add_test(NAME check_fvector_size_fail2
COMMAND ${CMAKE_COMMAND} --build . --target check_fvector_size_fail2 --config $<CONFIGURATION>)
add_test(NAME nullptr_test_fail
COMMAND ${CMAKE_COMMAND} --build . --target nullptr_test_fail --config $<CONFIGURATION>)
add_test(NAME static_assert_test_fail
COMMAND ${CMAKE_COMMAND} --build . --target static_assert_test_fail --config $<CONFIGURATION>)
add_test(NAME testfconstruct_fail1
COMMAND ${CMAKE_COMMAND} --build . --target testfconstruct_fail1 --config $<CONFIGURATION>)
add_test(NAME testfconstruct_fail2
COMMAND ${CMAKE_COMMAND} --build . --target testfconstruct_fail2 --config $<CONFIGURATION>)
set_tests_properties(
genericiterator_compile_fail
check_fvector_size_fail1
check_fvector_size_fail2
nullptr_test_fail
static_assert_test_fail
testfconstruct_fail1
testfconstruct_fail2
PROPERTIES WILL_FAIL true)
# add tests from dune/common/parallel/test # add tests from dune/common/parallel/test
add_test(indexsettest dune/common/parallel/test/indexsettest) add_test(indexsettest dune/common/parallel/test/indexsettest)
add_test(indicestest dune/common/parallel/test/indicestest)
add_test(selectiontest dune/common/parallel/test/selectiontest) add_test(selectiontest dune/common/parallel/test/selectiontest)
add_test(syncertest dune/common/parallel/test/syncertest) if(MPI_CXX_FOUND)
add_test(indicestest dune/common/parallel/test/indicestest)
add_test(syncertest dune/common/parallel/test/syncertest)
endif(MPI_CXX_FOUND)
# add dune-common version from dune.module to config.h
macro(dune_module_information MODULE_DIR)
file(READ "${MODULE_DIR}/dune.module" DUNE_MODULE)
# find version string
string(REGEX REPLACE ".*Version:[ ]*([^ \n]+).*" "\\1" DUNE_VERSION_STRING "${DUNE_MODULE}")
string(REGEX REPLACE "([0-9]).*" "\\1" DUNE_VERSION_MAJOR "${DUNE_VERSION_STRING}")
string(REGEX REPLACE "[0-9]*\\.([0-9]).*" "\\1" DUNE_VERSION_MINOR "${DUNE_VERSION_STRING}")
string(REGEX REPLACE "[0-9]*\\.[0-9]*\\.([0-9]).*" "\\1" DUNE_VERSION_REVISION "${DUNE_VERSION_STRING}")
# remove false matches in version string
string(REGEX MATCH "[^0-9]" NON_NUMBER_CHARACTER "${DUNE_VERSION_MINOR}")
if(NON_NUMBER_CHARACTER)
set(DUNE_COMMON_VERSION_MINOR "0")
endif(NON_NUMBER_CHARACTER)
string(REGEX MATCH "[^0-9]" NON_NUMBER_CHARACTER "${DUNE_VERSION_REVISION}")
if(NON_NUMBER_CHARACTER)
set(DUNE_COMMON_VERSION_REVISION "0")
endif(NON_NUMBER_CHARACTER)
# find strings for module name, maintainer
string(REGEX REPLACE ".*Module:[ ]*([^ \n]+).*" "\\1" DUNE_MODULE_NAME "${DUNE_MODULE}")
string(REGEX REPLACE ".*Maintainer:[ ]*([^ \n]+).*" "\\1" DUNE_MAINTAINER "${DUNE_MODULE}")
endmacro(dune_module_information)
#define DUNE_COMMON_FIELDVECTOR_SIZE_IS_METHOD 1 #define DUNE_COMMON_FIELDVECTOR_SIZE_IS_METHOD 1
/* #cmake define01 HAVE_MPI */ #cmakedefine01 HAVE_MPI
#define HAVE_MPI 0
#cmakedefine01 HAVE_MALLOC_H #cmakedefine01 HAVE_MALLOC_H
#cmakedefine01 HAVE_BOOST #cmakedefine01 HAVE_BOOST
......
...@@ -5,6 +5,11 @@ add_executable("bigunsignedinttest" bigunsignedinttest.cc) ...@@ -5,6 +5,11 @@ add_executable("bigunsignedinttest" bigunsignedinttest.cc)
target_link_libraries("bigunsignedinttest" "dunecommon") target_link_libraries("bigunsignedinttest" "dunecommon")
add_executable("bitsetvectortest" bitsetvectortest.cc) add_executable("bitsetvectortest" bitsetvectortest.cc)
add_executable("check_fvector_size" check_fvector_size.cc)
add_executable("check_fvector_size_fail1" EXCLUDE_FROM_ALL check_fvector_size_fail.cc)
set_target_properties(check_fvector_size_fail1 PROPERTIES COMPILE_FLAGS "-DDIM=1")
add_executable("check_fvector_size_fail2" EXCLUDE_FROM_ALL check_fvector_size_fail.cc)
set_target_properties(check_fvector_size_fail2 PROPERTIES COMPILE_FLAGS "-DDIM=3")
add_executable("conversiontest" conversiontest.cc) add_executable("conversiontest" conversiontest.cc)
add_executable("deprtuplestest" deprtuplestest.cc) add_executable("deprtuplestest" deprtuplestest.cc)
...@@ -22,18 +27,25 @@ target_link_libraries("fmatrixtest" "dunecommon") ...@@ -22,18 +27,25 @@ target_link_libraries("fmatrixtest" "dunecommon")
add_executable("fvectortest" fvectortest.cc) add_executable("fvectortest" fvectortest.cc)
add_executable("gcdlcmtest" gcdlcmtest.cc) add_executable("gcdlcmtest" gcdlcmtest.cc)
add_executable("genericiterator_compile_fail" EXCLUDE_FROM_ALL genericiterator_compile_fail.cc)
add_executable("iteratorfacadetest2" iteratorfacadetest2.cc) add_executable("iteratorfacadetest2" iteratorfacadetest2.cc)
add_executable("iteratorfacadetest" iteratorfacadetest.cc) add_executable("iteratorfacadetest" iteratorfacadetest.cc)
add_executable("lrutest" lrutest.cc) add_executable("lrutest" lrutest.cc)
add_executable("mpiguardtest" mpiguardtest.cc) add_executable("mpiguardtest" mpiguardtest.cc)
target_link_libraries("mpiguardtest" "dunecommon") target_link_libraries("mpiguardtest" "dunecommon")
#target_link_libraries(mpiguardtest ${MPI_CXX_LIBRARIES})
add_executable("mpicollectivecommunication" mpicollectivecommunication.cc)
#target_link_libraries(mpicollectivecommunication ${MPI_CXX_LIBRARIES})
add_executable("mpihelpertest" mpihelpertest.cc) add_executable("mpihelpertest" mpihelpertest.cc)
add_executable("nullptr-test" nullptr-test.cc) #target_link_libraries(mpihelpertest ${MPI_CXX_LIBRARIES})
add_executable("mpihelpertest2" mpihelpertest.cc)
#add_executable("nullptr-test2" nullptr-test2.cc) #target_link_libraries(mpihelpertest2 ${MPI_CXX_LIBRARIES})
#target_link_libraries("nullptr-test2" "dunecommon") set_target_properties(mpihelpertest2 PROPERTIES COMPILE_FLAGS "-DMPIHELPER_PREINITIALIZE")
add_executable("nullptr_test" nullptr-test.cc nullptr-test2.cc)
target_link_libraries(nullptr_test "dunecommon")
add_executable("nullptr_test_fail" EXCLUDE_FROM_ALL nullptr-test.cc)
target_link_libraries(nullptr_test_fail "dunecommon")
set_target_properties(nullptr_test_fail PROPERTIES COMPILE_FLAGS "-DFAIL")
add_executable("parametertreetest" parametertreetest.cc) add_executable("parametertreetest" parametertreetest.cc)
target_link_libraries("parametertreetest" "dunecommon") target_link_libraries("parametertreetest" "dunecommon")
...@@ -42,22 +54,63 @@ add_executable("pathtest" pathtest.cc) ...@@ -42,22 +54,63 @@ add_executable("pathtest" pathtest.cc)
target_link_libraries("pathtest" "dunecommon") target_link_libraries("pathtest" "dunecommon")
add_executable("poolallocatortest" poolallocatortest.cc) add_executable("poolallocatortest" poolallocatortest.cc)
add_executable("shared_ptrtest" shared_ptrtest.cc) add_executable("shared_ptrtest_config" shared_ptrtest.cc)
add_executable("shared_ptrtest_dune" shared_ptrtest.cc)
set_target_properties(shared_ptrtest_dune PROPERTIES COMPILE_FLAGS "-DDISABLE_CONFIGURED_SHARED_PTR")
add_executable("singletontest" singletontest.cc) add_executable("singletontest" singletontest.cc)
add_executable("sllisttest" sllisttest.cc) add_executable("sllisttest" EXCLUDE_FROM_ALL sllisttest.cc)
add_executable("static_assert_test" EXCLUDE_FROM_ALL static_assert_test.cc) add_executable("static_assert_test" EXCLUDE_FROM_ALL static_assert_test.cc)
add_executable("static_assert_test_fail" EXCLUDE_FROM_ALL static_assert_test_fail.cc) add_executable("static_assert_test_fail" EXCLUDE_FROM_ALL static_assert_test_fail.cc)
add_executable("streamtest" streamtest.cc) add_executable("streamtest" streamtest.cc)
target_link_libraries("streamtest" "dunecommon") target_link_libraries("streamtest" "dunecommon")
#add_executable("testfassign" testfassign.cc) add_executable("testfassign1" testfassign.cc testfassign2.cc)
#add_executable("testfassign2" testfassign2.cc) set_target_properties(testfassign1 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=3 -D_VALUES=\"1,2,3\"")
#add_executable("testfconstruct" testfconstruct.cc) target_link_libraries(testfassign1 "dunecommon")
add_executable("testfassign2" testfassign.cc)
add_executable("test-stack" test-stack.cc) set_target_properties(testfassign2 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=3 -D_VALUES=\"1,zero\"")
target_link_libraries("test-stack" "dunecommon") target_link_libraries(testfassign2 "dunecommon")
add_executable("testfassign3" testfassign.cc)
add_executable("tuplestest" tuplestest.cc) set_target_properties(testfassign3 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=3 -D_VALUES=\"zero\"")
target_link_libraries(testfassign3 "dunecommon")
add_executable("testfassign4" testfassign.cc)
set_target_properties(testfassign4 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=2 -D_DUNE_TEST_M=3 -D_VALUES=\"1, zero, nextRow, 2, 3, 4\"")
target_link_libraries(testfassign4 "dunecommon")
add_executable("testfassign_fail1" testfassign.cc)
set_target_properties(testfassign_fail1 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=3 -D_VALUES=\"1,2\"")
target_link_libraries(testfassign_fail1 "dunecommon")
add_executable("testfassign_fail2" testfassign.cc)
set_target_properties(testfassign_fail2 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=3 -D_VALUES=\"1,2,3,4\"")
target_link_libraries(testfassign_fail2 "dunecommon")
add_executable("testfassign_fail3" testfassign.cc)
set_target_properties(testfassign_fail3 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=2 -D_DUNE_TEST_M=2 -D_VALUES=\"1, nextRow, 2, 3\"")
target_link_libraries(testfassign_fail3 "dunecommon")
add_executable("testfassign_fail4" testfassign.cc)
set_target_properties(testfassign_fail4 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=2 -D_DUNE_TEST_M=2 -D_VALUES=\"1, 2, 3, nextRow, 2, 3\"")
target_link_libraries(testfassign_fail4 "dunecommon")
add_executable("testfassign_fail5" testfassign.cc)
set_target_properties(testfassign_fail5 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=2 -D_DUNE_TEST_M=2 -D_VALUES=\"1, 2\"")
target_link_libraries(testfassign_fail5 "dunecommon")
add_executable("testfassign_fail6" testfassign.cc)
set_target_properties(testfassign_fail6 PROPERTIES COMPILE_FLAGS "-D_DUNE_TEST_N=2 -D_DUNE_TEST_M=2 -D_VALUES=\"1, 2, nextRow, 2, 3, nextRow, 4, 5\"")
target_link_libraries(testfassign_fail6 "dunecommon")
add_executable("testfconstruct" EXCLUDE_FROM_ALL testfconstruct.cc)
set_target_properties(testfconstruct PROPERTIES COMPILE_FLAGS "-DFVSIZE=3")
target_link_libraries(testfconstruct "dunecommon")
add_executable("testfconstruct_fail1" EXCLUDE_FROM_ALL testfconstruct.cc)
set_target_properties(testfconstruct_fail1 PROPERTIES COMPILE_FLAGS "-DFVSIZE=2")
target_link_libraries(testfconstruct_fail1 "dunecommon")
add_executable("testfconstruct_fail2" EXCLUDE_FROM_ALL testfconstruct.cc)
set_target_properties(testfconstruct_fail2 PROPERTIES COMPILE_FLAGS "-DFVSIZE=5")
target_link_libraries(testfconstruct_fail2 "dunecommon")
add_executable("test_stack" test-stack.cc)
target_link_libraries("test_stack" "dunecommon")
add_executable("tuplestest_config" tuplestest.cc)
add_executable("tuplestest_dune" tuplestest.cc)
set_target_properties(tuplestest_dune PROPERTIES COMPILE_FLAGS "-DDISABLE_TR1_TUPLE -DDISABLE_STD_TUPLE")
add_executable("tuplestest_tr1" tuplestest.cc)
set_target_properties(tuplestest_tr1 PROPERTIES COMPILE_FLAGS "-DDISABLE_STD_TUPLE")
add_executable("tupleutilitytest" tupleutilitytest.cc) add_executable("tupleutilitytest" tupleutilitytest.cc)
add_executable("utilitytest" utilitytest.cc) add_executable("utilitytest" utilitytest.cc)
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