[flang-dev] Flang + CMake
Andrzej Warzynski via flang-dev
flang-dev at lists.llvm.org
Wed Jun 30 09:36:02 PDT 2021
[Flang = llvm-project/flang]
Hello,
I have been trying to use Flang with CMake and this integration seems to
be dysfunctional right now. Has anyone been using/testing it?
*Minimal reproducer*
```CMakeLists.txt
project(hello_fortran Fortran)
add_executable(hello hello.f90)
```
*How to test*
```bash
mkdir build && cd build
cmake -G Ninja -DCMAKE_Fortran_COMPILER=<path-to-flang-or-gfortran> ../
```
*The error*
My minimal reproducer works fine with `gfortran`, but it fails with `flang`:
```bash
CMake Error: Error required internal CMake variable not set, cmake may
not be built correctly.
Missing variable is:
CMAKE_Fortran_PREPROCESS_SOURCE
```
If I understand correctly, CMake fails to identify Flang because the
driver does not define the following preprocessor variables currently
expected by CMake [1]:
* __FLANG
* __FLANG_MAJOR__
* __FLANG_MINOR__
These macros were first discussed and added in [2], but then deleted in
[3] in order to keep Flang consistent with the rest of LLVM.
This seems to have been broken for a while, so I suspect that this has
not been required by anyone recently?
Thank you,
-Andrzej
[1]
https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/CMakeFortranCompilerId.F.in#L143-147
[2] https://reviews.llvm.org/D84334
[3] https://reviews.llvm.org/D94422
More information about the flang-dev
mailing list