This project contains a set of general CMake configuration files, used for building the program modules of FEDEM.
This repository is consumed as a submodule by the other FEDEM repositories to facilitate a common build setup for those, and therefore does not require any setup for itself.
Here is the list of .cmake files in the Modules folder
and what they do:
FedemConfig.cmakecontains general compiler flag setup for the builds. Currently, gcc on Linux (Ubuntu) and MS Visual Studio with Intel Fortran on Windows is supported. This file needs to be included in the top-levelCMakeLists.txtfile of the build project.Date.cmakedefines the macrodate()for creating time stamp source files that generates the build date in the compiled binaries.GTest.cmakedefines the functionadd_cpp_test()for defining a C++ unit test, if the googletest framework is installed. It uses the environment variableGTEST_ROOTto determine whether the googletest package is available or not.CheckPFUnit.cmakedetects if the package pFUnit has been installed for conducting Fortran unit tests. It uses the environment variablePFUNITto check for valid installations.pFUnit.cmakedefines the macroenable_fortran_tests()which adds some compiler flags needed for building the Fortran unit tests with pFUnit, and the functionadd_fortran_test()which defines a specific Fortran unit test.CodeCoverage.cmakecontains some functions for generating code coverage reports using the tools gcov, lcov, and gcovr (on Linux only).
In addition, some files named Find<module>.cmake are present.
They define find-rules to be used by the cmake command
find_package(),
i.e., find_package(<module>) to locate and set up for build with the package <module>.
This project is open to feature requests, suggestions, bug reports, etc., via GitHub issues. Contributions and feedback are encouraged and always welcome. For more information about how to contribute, see our Contribution Guidelines.
Copyright 2023 SAP SE or an SAP affiliate company and cmake-modules contributors. Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.