Может ли cmake автоматически добавить флаг препроцессора fortran -cpp? - PullRequest
2 голосов
/ 04 июня 2019

У меня есть несколько источников с инструкциями препроцессора.Я обычно компилирую их с ifort -cpp -DOPT1 -DOPT2 ... в Makefile.Сейчас я пытаюсь перейти на cmake, и для добавления этих опций я использую target_compile_definitions(target PUBLIC OPT1).Но когда я запускаю компиляцию, команда показывает только ifort -DOPT1 -DOPT2 ... и поэтому терпит неудачу.

Я читал, что в некоторых компиляторах этот флаг установлен по умолчанию, например, gfortran:

-cpp
-nocpp  Enable preprocessing. The preprocessor is automatically invoked if
        the file extension is .fpp, .FPP, .F, .FOR, .FTN, .F90, .F95, .F03
        or .F08. Use this option to manually enable preprocessing of any 
        kind of Fortran file.

но похоже, что это явно не относится к ifort:

-cpp   Runs the Fortran preprocessor on source files prior
       to compilation (same as the -fpp option).

Есть ли опция, которую я пропустил в cmake, чтобы добавить этот флаг или нет?Если нет, то как правильно добавить его вручную с помощью команды cmake?

Спасибо!

...