PRUNERS / FLiT

A project to quickly detect discrepancies in floating point computation across hardware, compilers, libraries and software.
Other
36 stars 6 forks source link

CMake integration #305

Open mikebentley15 opened 4 years ago

mikebentley15 commented 4 years ago

Feature Request

Describe the new feature: Right now, FLiT only has GNU Make integration and experimental Ninja Build integration.

What about projects using CMake? As it is now, we could have the flit-config.toml and custom.mk be input files that CMake can populate (i.e., flit-config.toml.in and custom.mk.in). It would also be nice to have a way of generating a CMakeLists.txt file for doing the whole FLiT stuff. It is unknown how much work that would be.

First Approach: Generate a CMakeLists.txt file instead of a Makefile that would be able to generate all FLiT builds. Likewise for Bisect.

This approach would likely take a lot of work.

Alternative approaches: Create a CMake infrastructure to make it easy to generate flit-config.toml and custom.mk files from CMake - perhaps even without the .in files. You could perhaps specify everything needed into one or more CMake function calls and it would cause the FLiT test directory to be generated, and a target to be added to CMake (like make flit).

This seems much more attainable. It would require a CMake file to be installed, and when found with find_package(flit), would define needed variables and functions.

I think this is easier to swallow for us implementers, and also for users.