Age | Commit message (Collapse) | Author | Files | Lines |
|
Scalapack uses a library stack that can be challenging to manage.
Not least of all since many Scalapacks ship with broken / incomplete
pkg-config files and CMake FindScalapack.cmake
This resolves those issues for typical Scalapack setups including:
* Linux: Intel MKL or OpenMPI + Netlib
* MacOS: Intel MKL or OpenMPI + Netlib
* Windows: Intel MKL (OpenMPI not available on Windows)
|
|
This PR refactors the old output_target_map, which was a
raw dict, into it's own class. This makes the access to
the map more uniform and robust (at the cost of more lines
of code).
Additionally relative paths to the build directory are
now also tracked for outputs. This is neccessary to
corretcly distingluish files with the same name, that are
in different directories.
|
|
|
|
This reverts commit 6ed36e97aeb01dd779115a9710d3a97cdbcb4ccf.
|
|
cmake: Add support for add_custom_target() and add_dependencies()
|
|
This addresses various real-world problems with HDF5 pkg-config, including
* hdf*.pc with package versions as part of the filename
* malformed hdf*.pc missing the commonly-used HDF5 HL module
---
Additionally, this refactors more complicated dependencies such as
HDF5 and OpenMPI. This may help us deduplicate internal dependency
code in the future.
HDF5 selftest: improve platform-agnostic test
ci: init demo github action for HDF5 framework
ci Actions: hold off on MSYS2 for now [skip ci]
hdf5: ensure C libraries always included
ci: mac hdf5--use clang+gfortran
|
|
|
|
Also test commands with args separated by ';'
|
|
Finding all the dependencies missing from my Fedora system to run the whole
test suite was relatively quick - except for this one.
|
|
Also harminize a bit the logged message.
|
|
t.pic won't be defined. We can only hope it has been built with -fPIC.
Linker will complain otherwise any way.
t.extract_all_objects_recurse() won't be defined. We could support this
case by extracting the archive somewhere and pick object files.
|
|
|
|
cmake: Uniform target name handling and custom target fixes
|
|
|
|
|
|
|
|
cmake: Handle CMake system include dirs (closes #6079)
|
|
* Have set() and set_quoted() of configuration object work with newlines.
set_quoted() makes the value into a double-quoted string, so let's
assume C-style string, in particular with newlines as "\n".
Also take care of remaining newlines in dump_conf_header(). C or nasm
macros expect single-line values so if the value was multi-line, we
would end up with broken syntax. Appending a backslash at each end of
line make them concat into a single line in both C and nasm format
(note: multi-line macros in nasm are actually possible apparently but
use another format not outputted by current meson code). Also note that
the replacement is done at the end only when dumping the conf as a
header because we cannot assume anything about the format when replacing
variables from an input file (in this case, it should be the dev
responsibility).
* Add unit tests for multiline set() and set_quoted().
|
|
|
|
|
|
dep: Fortran Coarrays-enhance finding by use Pkg-config & CMake
|
|
|
|
|
|
|
|
fs module; make more robust, dedupe code, add method, add type anno & check
|
|
-fimplicit-none on fortran
Fortran: check for undeclared variables by forcing implicit none everywhere
C/C++: check for unused parameters and return types
removed unused variables from test cases
ci: do missing return and unused arg check with Github Actions
|
|
the string
|
|
|
|
fs: add samefile
|
|
|
|
|
|
|
|
|
|
|
|
Previously if a user tried to pass a command line build
option that contained a '%' character the command line
parser assumed that there was string interpolation to be
done. As there is no sense in such a scenario no code
provides any input for the interpolation. This then leads to
a failure.
In this commit we specifically override the defaults in
ConfigParser and set interpolation to None, which disables
command line build option interpolation.
Fixes #6157
|
|
This reverts commit 7b9c348102792030859ed0001a51416506a0a092.
Closes #6027.
|
|
Added two new failing tests.
|
|
|
|
This way we can easily check that we only provide builtin targets such
as clang-format if the user has not provided their own.
|
|
|
|
fixes #6130
wrap: more error verbosity
|
|
- Typos were found by codespell v1.16.0
|
|
|
|
|
|
|
|
When a static library link_whole to a bunch of other static libraries,
we have to extract all their objects recursively. But that could
introduce duplicated objects. ar is dumb enough to allow this without
error, but once the resulting static library is linked into an
executable or shared library, the linker will complain about duplicated
symbols.
|
|
|
|
|
|
|
|
since 0.52 is indeed now required for this test case.
|