- Feb 06, 2015
-
-
Steffen Müthing authored
If an iterator facade (like entity iterators) wants to allow the embedded implementation to return either an (internally stored) reference or a temporary object and expose these two behaviors to enable performance optimizations, operator->() needs special handling: If the implementation returns a reference, operator->() in the facade can simply return the address of the referenced object, but if the returned object is a temporary, we need to capture and store it in a helper object to make sure it outlives the member access. This patch adds a little helper function that tansparently handles both cases.
-
Dominic Kempf authored
-
Steffen Müthing authored
The ForLoop TMP used to put a number of restrictions on the arguments to apply(), mainly due to the limited capabilities of C++01 wrt. to argument forwarding. But now we have C++11, so we can throw away all that awkward code and replace it with a single forwarding function that supports arbitrary numbers of arbitrary combinations of lvalues and rvalues - all hail variadic templates and perfect forwarding!
-
Steffen Müthing authored
This branch adds CMake macros for copying / symlinking files from the source directory to the build directory and for adding a symlink back to the corresponding directory in the source tree into every directory in the build tree. * feature/FS1535-cmake-sourcedir-to-builddir-utilities: [CMake] Do copies as a fall-back if symlinks are not available on the platform [Cmake] Add macros for copying files from the source tree to the build tree. [CMake] add macro dune_symlink_to_source_files [CMake] Add macro dune_symlink_to_source_tree
-
- Feb 04, 2015
-
-
Markus Blatt authored
-
Markus Blatt authored
Previously this was only set if run_default_configure was executed before. Ergo dunecontrol make did try to use cmake even if USE_CMAKE=no was set. This fixes flyspray 1560. https://dune-project.org/flyspray/index.php?do=details&task_id=1560
-
Markus Blatt authored
It sets LOCAL_USE_CMAKE for the current module depending on USE_CMAKE and whether there actually is CMake support for this module. This will make it more easy to use the same check in all run_* directives.
-
- Feb 03, 2015
-
-
Christoph Grüninger authored
-
Dominic Kempf authored
With a compiler name given to CMAKE_CXX_COMPILER (instead of a path), the name is correctly expanded on the first run of cmake, but as soon as the buil didrectory is existent, it is for obscure reasons expanded into ${CMAKE_BINARY_DIR}/.... To avoid having users run into this bug, the expanded compiler variable is matched with the build directory prefix. In that case, an error is issued.
-
- Feb 02, 2015
-
-
Dominic Kempf authored
There is still a warning issued in that case.
-
Dominic Kempf authored
Taken from #FS1535, where Carsten has posted this code.
-
Dominic Kempf authored
It needs to be linked in some cases. The way of checking whether it is needed is taken from Find{BLAS,LAPACK}.cmake . This fix was needed as part of a larger fix for the test of parallel alugrid.
-
- Jan 29, 2015
-
-
Dominic Kempf authored
The UMFPack test has been added after CMake, so I simply didnt know that it should be placed here, too.
-
Dominic Kempf authored
The compatibility layer disabled MPI whenever it did not find the --enable-parallel flag. This is overeager and harmful if users are gradually switching to replacing the configure flags with real cmake flags. Consider an opts file, with the following content: CMAKE_FLAGS="-DUSE_MPI=ON" The compatibility layer would now parse the non-existent CONFIGURE_FLAGS variable for an --enable-parallel option and disable MPI because it was not found. The -DCMAKE_DISABLE_FIND_PACKAGE_MPI=TRUE supersedes the USE_MPI=ON and we get a sequential build. The fix applied in this patch removes the else clause and only adds cmake flags when the --enable-parallel flag was found. To still explicitly allow to force sequential builds, the --disable-parallel flag is parsed in the same manner.
-
Christoph Grüninger authored
RECOMMENDED created new categories in the summary. Technically there are no differences.
-
- Jan 28, 2015
-
-
Dominic Kempf authored
add symlinks to the build tree, which point to files in the source tree. Foreach file given in "files", a symlink of that name is created in the corresponding build directory. Use for ini files, grid files etc. A warning is issued on Windows systems.
-
Dominic Kempf authored
Add a symlink called src_dir to all directories in the build tree. That symlink points to the corresponding directory in the source tree. Call the macro from the toplevel CMakeLists.txt file of your project. You can also call it from some other directory, creating only symlinks in that directory and all directories below. A warning is issued on Windows systems.
-
- Jan 27, 2015
-
-
Dominic Kempf authored
This way they appear in the summary.
-
- Jan 26, 2015
-
-
Christoph Grüninger authored
-
Christoph Grüninger authored
-
- Jan 19, 2015
-
-
Dominic Kempf authored
Tried to include CheckSymbolExists instead of CheckFunctionExists. The wrong include only triggered in a very rare case, where the module had not been included from elsewhere in the project. Also, a typo in a library variable.
-
- Jan 15, 2015
-
-
Christoph Grüninger authored
The regex wrongly matched directories ending in "test", cf. FS#1553.
-
- Jan 13, 2015
-
-
Christoph Grüninger authored
-
- Jan 11, 2015
-
-
Christoph Grüninger authored
If LAPACK is not available, it return 77 indicating skipped test
-
Christoph Grüninger authored
Like we do for Autotools. This is only supported for CMake 3.0 or newer. Oder versions ignore the property and report the test as failed.
-
- Jan 09, 2015
-
-
Markus Blatt authored
Previously we did not catch patterns at the start of the line. Seems like sed cannot handle [ ^] as the meaning of ^ is the not operator here and not the line beginning.
-
Markus Blatt authored
Unfortunately environment variables with these names are not honored by CMake's FindMPI. Therefore this commit translates them to MPI_{C,CXX}_COMPILER and adds them to CMAKE_FLAGS before calling cmake.
-
Markus Blatt authored
When deciding which variable to put before cmake as environment variables our sed pattern did not check for the beginning of a word or line. Therefore MPICC=bla would be converted to CC=bla. With this commit we make sure that there is eihter a beginning of a line or a whitespace before the variable.
-
- Jan 02, 2015
-
-
Christoph Grüninger authored
This files is the latest version from Eigen3. They already fixed our issue FS#1540. The Eigen project is licensed under MPL 2 and this file stays MPL2 licensed.
-
Christoph Grüninger authored
This enables ninja-build and other build systems to be called correctly. Targets can be passed by adding "--target <targetname>
-
- Dec 29, 2014
-
-
Christoph Grüninger authored
-
- Dec 26, 2014
-
-
Jö Fahlke authored
No comment/response from the other interested parties, so I assume this is OK.
-
- Dec 22, 2014
-
-
We dont provide a custom find module, so we need to update the property after executing the system wide find module.
-
-
The libraries are taken from DUNE_LIBS and from the global property ALL_PKG_LIBS. This change is necessary to drop the add_dune_*_flags macros in the future.
-
- Dec 12, 2014
-
-
Christoph Grüninger authored
Otherwise the headers in dune-grid-howto and and in dune-multidomain/tests cannot be checked.
-
- Dec 11, 2014
-
-
Christoph Grüninger authored
With CMake 3.1 variable indication with the @ symbol is no longer valid, use ${} instead, cf. CMP0053. The @ is only allowed for configuration files which are transformed. The generated files are the same with CMake 3.1~rc2 and CMake 2.8.6.
-
- Dec 08, 2014
-
-
Christoph Grüninger authored
Moved from dune-istl's config.h.cmake. Otherwise it cannot be shared with other modules using ParMETIS.
-
- Dec 05, 2014
-
-
Dominic Kempf authored
This specialization was missing and made it impossible to parse bitsets. The implementation uses the specialization for bool. It was not possible to reuse the parseRange method, because a bitset doesnt have begin() and end().
-
- Dec 02, 2014
-
-
Carsten Gräser authored
While the following is legal c++11 array<T,n> foo = { t1, t2, ...} older compilers (namely gcc-4.4) issue a warning on missing braces.
-