THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#263 - Don't build executables on make test
User who did this - Christoph GrĂ¼ninger (gruenich)
----------
Advantages:
- we get rid of the DUMUX_BUILD_ALL_TESTS workaround
- no hidden magic, more CMake style, everthing is stated in the CMakeLists.txt
- not needed to build all tests if only one test should be checked
Disadvantages:
- CTest fails when test are not built
- "make all" is disabled in the dumux directory, it only works in dumux/test,
dumux/tutorial etc.
I created the following patch, please give it a try:
Index: CMakeLists.txt
===================================================================
--- CMakeLists.txt (revision 14609)
+++ CMakeLists.txt (working copy)
@@ -22,12 +22,10 @@
# start a dune project with information from dune.module
dune_project()
-#add_subdirectory("m4")
-#add_subdirectory("dumux")
-add_subdirectory("doc")
-add_subdirectory("cmake/modules")
-add_subdirectory("test")
-add_subdirectory("tutorial")
+add_subdirectory(cmake/modules)
+add_subdirectory(doc)
+add_subdirectory(test EXCLUDE_FROM_ALL)
+add_subdirectory(tutorial EXCLUDE_FROM_ALL)
# finalize the dune project, e.g. generating config.h etc.
finalize_dune_project(GENERATE_CONFIG_H_CMAKE)
Index: cmake/modules/DumuxTestMacros.cmake
===================================================================
--- cmake/modules/DumuxTestMacros.cmake (revision 14609)
+++ cmake/modules/DumuxTestMacros.cmake (working copy)
@@ -13,20 +13,12 @@
# - further arguments: are optional and are used as arguments for
calling the test
###
macro(add_dumux_test dumux_test dumux_test_executable
dumux_test_executable_source)
- # create test target for directory, but only if not yet created
- get_directory_test_target(potential_test_target
"${CMAKE_CURRENT_BINARY_DIR}")
- if(NOT TARGET ${potential_test_target})
- add_directory_test_target(_test_target)
- set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
- PROPERTY TEST_INCLUDE_FILE ${CMAKE_CURRENT_BINARY_DIR}/BuildTests.cmake)
+ # if present, copy grids folder
+ set(grids_directory ${CMAKE_CURRENT_SOURCE_DIR}/grids)
+ if(EXISTS ${grids_directory} AND IS_DIRECTORY ${grids_directory})
+ file(COPY ${grids_directory} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
+ endif()
- # if present, copy grids folder
- set(grids_directory ${CMAKE_CURRENT_SOURCE_DIR}/grids)
- if(EXISTS ${grids_directory} AND IS_DIRECTORY ${grids_directory})
- file(COPY ${grids_directory} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
- endif()
- endif(NOT TARGET ${potential_test_target})
-
# if present, copy input file
set(input_file ${CMAKE_CURRENT_SOURCE_DIR}/${dumux_test_executable}.input)
if(NOT EXISTS ${input_file})
@@ -40,12 +32,7 @@
# add executable
# check whether executable already exists
if(NOT TARGET ${dumux_test_executable})
- #set property whether it has to be built with make or only with make test
- if(${DUMUX_BUILD_ALL_TESTS})
- add_executable(${dumux_test_executable} ${dumux_test_executable_source})
- else()
- add_executable(${dumux_test_executable} EXCLUDE_FROM_ALL
${dumux_test_executable_source})
- endif(${DUMUX_BUILD_ALL_TESTS})
+ add_executable(${dumux_test_executable} ${dumux_test_executable_source})
endif(NOT TARGET ${dumux_test_executable})
# link all libraries to executable, add all flags
@@ -58,7 +45,6 @@
# add test
add_test(${dumux_test} ${dumux_test_args})
- add_dependencies(${_test_target} ${dumux_test_executable})
# return code 77 should be interpreted as skipped test
set_tests_properties(${dumux_test} PROPERTIES SKIP_RETURN_CODE 77)
Index: test/CMakeLists.txt
===================================================================
--- test/CMakeLists.txt (revision 14609)
+++ test/CMakeLists.txt (working copy)
@@ -6,5 +6,3 @@
add_subdirectory("io")
add_subdirectory("material")
add_subdirectory("multidomain")
-
-add_directory_test_target(_test_target)
----------
More information can be found at the following URL:
http://www.dumux.org/flyspray/index.php?do=details&task_id=263#comment560
You are receiving this message because you have requested it from the Flyspray
bugtracking system. If you did not expect this message or don't want to
receive mails in future, you can change your notification settings at the URL
shown above.
_______________________________________________
Dumux mailing list
[email protected]
https://listserv.uni-stuttgart.de/mailman/listinfo/dumux