- Jun 16, 2015
-
-
Christoph Grüninger authored
BOOST_FOUND seems to be no longer known, use HAVE_DUNE_BOOST instead. (cherry picked from commit dfeeea79) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Christoph Grüninger authored
Affected are older CMake versions 2.8.6 to 2.8.9 maybe even, newer versions. (cherry picked from commit 2d38fedf) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
- May 21, 2015
-
-
Steffen Müthing authored
dune_library_add_sources() verifies the library name against the contents of DUNE_ENABLE_ALL_PACKAGES_MODULE_LIBRARIES. I accidentally broke this by converting dune_enable_all_packages (which defines the variable) from a macro to a function, which removed the variable from global scope. This patch fixes the problem by explicitly exporting the variable to the parent scope, making it available to dune_library_add_sources() again. (cherry picked from commit 289d3eb6) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
Jö Fahlke authored
on Ubuntu. (cherry picked from commit 71e08e51) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
Dominic Kempf authored
Passing multiple files to dune_symlink_to_source_files() was broken. While at it, I switched the given macros to be functions and have named arguments. Using positional arguments will result in a warning. (cherry picked from commit 797fbfa1) Signed-off-by:
Carsten Gräser <graeser@dune-project.org>
-
- May 20, 2015
-
-
Steffen Müthing authored
We have to call add_definitions() in a loop because add_definitions() is kind of broken: even though it is supposed to be *the* function for adding compile definitions, it does not prepend "-D" (as opposed to target_compile_definitions(), which does). Well, whatever... (cherry picked from commit bd578fd8) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
Steffen Müthing authored
Thanks for spotting that, Dominic! (cherry picked from commit c849d756) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
- May 19, 2015
-
-
Steffen Müthing authored
This branch resolves somes smaller problems with the dune_enable_all_packages() feature and importantly provides support for modules with libraries and CMake < 3.1. * feature/FS1654-improve-dune-enable-all-packages: [Release][CMake] Add support for compile options in DuneEnableAllPackages [Release][CMake][Bugfix] Use correct test in if() command [Release][CMake] Add dune_target_enable_all_packages() [Release][CMake][Bugfix] Remove stray unset() command [Release][CMake] Convert macros to functions in DuneEnableAllPackages [Release][CMake] Improve documentation in DuneEnableAllPackages.cmake (cherry picked from commit 7cc5bc4b) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
Steffen Müthing authored
We do not really support this combination of C++11 features, and the only time it should occur is when the user has a recent Intel Compiler and an outdated GCC (which the Intel Compiler uses for the C++ standard library). In that case, we emit a helpful error message at configuration time. (cherry picked from commit c3e637ab) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
- May 11, 2015
-
-
Steffen Müthing authored
The test for __cxa_demangle(), which is used by Dune::className() to demangle type names, doesn't work on my clang 3.6. Apparently, clang requires the user to include <typeinfo> before <cxxabi.h>. While classname.hh already does this, the build system tests don't, causing the feature to get disabled on clang. Fixed by adding the include to the build system tests. (cherry picked from commit 70f52c0d) Signed-off-by:
Steffen Müthing <muething@dune-project.org>
-
- Apr 27, 2015
-
-
- Apr 21, 2015
-
-
Felix Gruber authored
-
Felix Gruber authored
DuneEnableAllPackages.cmake, FindThreadsCMake31.cmake and CheckForPthreads.c were missing in the Dune-common installation.
-
- Apr 20, 2015
- Apr 16, 2015
-
-
Christoph Grüninger authored
This fixes FS#1614. (cherry picked from commit f12adb99)
-
Christoph Grüninger authored
This fixes FS#1614.
-
- Apr 15, 2015
-
-
Dominic Kempf authored
The Metis test used the wrong one and I copied it for PTScotch... :/
-
Dominic Kempf authored
This test has been added while the dune_enable_all_packages feature was developed...
-
Steffen Müthing authored
This patch adds some sanity checks to dune_library_add_sources: - Make sure that dune_enable_all_packages has been called - Test whether the library has been declared in the MODULE_LIBRARIES argument of dune_enable_all_packages In case of an error, the macro aborts the CMake run with a fatal error.
-
Steffen Müthing authored
All variables defined in the macros stick around forever, so add a scope matching the macro name to avoid name clashes.
-
Steffen Müthing authored
The check for a correct cmake_minimum_version already happened in dune_enable_all_packages, so let's avoid spamming the user...
-
Steffen Müthing authored
The library support in dune_enable_all_packages (more specifically, the ability to add source files to an existing library target with dune_library_add_sources) relies on target_sources, which only exists in CMake 3.1+. To avoid confusing users, this patch emits a meaningful error for older versions of CMake and generates a warning for more recent versions. This warning can be disabled by defining DUNE_ENABLE_ALL_PACKAGES_SILENCE_LIBRARY_WARNING.
-
- Apr 14, 2015
-
-
Dominic Kempf authored
-
Dominic Kempf authored
...unless specificially set to false by the user.
-
Christoph Grüninger authored
-
Christoph Grüninger authored
Needed to properly support pthreads. The copied file is modified because of - lacking support of INTERFACE in older CMake versions - difficulties finding default FindPackageHandleStandardArgs
-
- Apr 08, 2015
-
-
Steffen Müthing authored
This reverts commit 5f053401. I was a little hasty in cherry-picking this from the dune_enable_all_packages() branch, as it needs some infrastructure from over there.
-
Steffen Müthing authored
dune_enable_all_packages() doesn't really work if a module contains libraries (it triggers CMP022 and CMP038). This patch works around that problem and also adds a number of convenience features to the overall mechanism. In particular: - dune_enable_all_packages() now accepts optional lists of additional include directories and compile definitions that will be applied to all targets in the module. There is a new option APPEND that controls the placement of those compiler arguments, analogous to dune_register_package_flags(). - Libraries need special handling to work around the problem with the two CMake policies listed above. Those get triggered because libraries defined in the module ended up linking to themselves, and newer versions of CMake really don't like that. We can avoid this problem by exploiting the fact that the set of libraries contained in link_libraries is evaluated only once, at the point when a target is created. So we only have to make sure that libraries inside the module are created before they are added to link_libraries(). But we have to be careful to make sure that link_libraries() is called before the user creates any targets that depend on the module library. In order to minimize the risk of user error, I have integrated those two tasks (creating the library and adding it to link_libraries()) into the dune_enable_all_packages() macro. So this macro now accepts a list of library names (as the multi argument MODULE_LIBRARIES). These are automatically created using dune_add_library() (placing them in lib/) in the order that they are listed and added to link_libraries() afterwards. Users MUST use this mechanism if they want the library to be linked automatically to programs in the module. On the other hand, you can still manually create libraries, but then you have to link to them manually (e.g. the Alberta libs in dune-grid). - There is a new macro dune_library_add_sources() that can be used to add source files to libraries created with the help of dune_enable_all_packages(). That macro can be called repeatedly and in any subdirectory of the source tree. Using this facility, I think we can mostly get rid of OBJECT libraries. :-) - CMake doesn't like to create a target without any source files, so the patch generates a small stub source for each library that contains two functions that are named after the library and return the version of the associated dune module.
-
Steffen Müthing authored
-
Steffen Müthing authored
CMake exports the major and minor components of the module version, but not the revision. This patch fixes that omission.
-
Steffen Müthing authored
-
Steffen Müthing authored
CMake exports the major and minor components of the module version, but not the revision. This patch fixes that omission.
-
- Apr 07, 2015
-
-
Dominic Kempf authored
I was bitten again by not properly cleaning build directories while testing build system features. With this patch, the feature * builds the symlinks in finalize_project instead of dune_project Only there the existence of the subdirectories in the build tree is guaranteed. * The globbing expression is sane again. * Properly excludes build directories * works with cmake 2.8 and 3.1, per-module or global out-of-source builds.
-
- Apr 06, 2015
-
-
Christoph Grüninger authored
We got the workaround_9220 code from Eigen. Now we use the code as the Eigen project does, see for example their file lapack/CMakeLists.txt. This fixes the Fortran detection with Visual Studio 2015 CTP 6.
-
Christoph Grüninger authored
-