dunecontrol is broken by ff_navierstokes_sincos_uzawapreconditioner_factory test
Bug report
dunecontrol fails to build dumux, with the ff_navierstokes_sincos_uzawapreconditioner_factory test:
Apparently, cmake cannot handle the argutemnts given in the CMAKE_GUARD "( HAVE_UMFPACK AND DUNE_ISTL_VERSION GREATER_EQUAL 2.7 )", see the error message:
CMake Error at /home/hommel/DUMUX3.2/dune-common/cmake/modules/DuneTestMacros.cmake:319 (if):
if given arguments:
"NOT" "(" "(" "HAVE_UMFPACK" "AND" "DUNE_ISTL_VERSION" "GREATER_EQUAL" "2.7" ")" ")"
Unknown arguments specified
Call Stack (most recent call first):
cmake/modules/DumuxTestMacros.cmake:245 (dune_add_test)
test/freeflow/navierstokes/sincos/CMakeLists.txt:34 (dumux_add_test)
What you expected to happen: Dunecontrol should build dumux without problems.
How to reproduce it (as minimally and precisely as possible): Have the CMAKE_GUARD check for both dune-istl >=2.7 and UMFPACK (CMAKE_GUARD "( HAVE_UMFPACK AND DUNE_ISTL_VERSION GREATER_EQUAL 2.7 )", )
Anything else we need to know?: When I delete the test from the CMakteLists.txt in test/freeflow/navierstokes/sincos/ dunecontrol builds dumux as expected, the same is true when the CMAKE_GUARD only checks for either UMFPACK (CMAKE_GUARD HAVE_UMFPACK) or the version of dune-istl (CMAKE_GUARD DUNE_ISTL_VERSION GREATER_EQUAL 2.7 ). As soon as both conditions are checked by CMAKE_GUARD, dunecontrol fails on my laptop. I suspect that maybe the cmake version is too old and can't handle the "AND", but according to the current handbook online, DuMux requires CMake 2.8.12 or newer and I have cmake version 3.5.2 so I should be fine?
Environment:
- Dune version: release 2.7
- DuMux version: branch feature/biomin_example, rebased on master a few days ago
- Others: cmake version 3.5.2