cmake在预处理程序指令中缺少fortran模块依赖项

时间:2013-05-14 21:33:34

标签: cmake fortran

我遇到了Cmake缺少依赖关系的问题。有问题的代码看起来像。

        SUBROUTINE foo
        USE A
  #ifdef C
        USE B
  #endif
        ...

在生成依赖项时,预处理器阻塞部分似乎被排除在外。这导致错误,因为模块B永远不会在此源文件之前构建。我该如何解决这个问题?

更新

我在这里设置预处理器定义。

add_library (abc STATIC ${abc_sources})
set_target_properties (abc PROPERTIES COMPILE_FLAGS "${BUILD_FLAGS} -D C")

1 个答案:

答案 0 :(得分:2)

想出来。正确的解决方案是使用

set_target_properties (abc PROPERTIES COMPILE_DEFINITIONS "C")

COMPILE_DEFINITIONSset_target_properties anaglog add_definitions