gpt4 book ai didi

cmake - 使用星号更改多个源文件的 CMake 编译器标志

转载 作者:行者123 更新时间:2023-12-01 09:25:49 32 4
gpt4 key购买 nike

我正在尝试调试与编译器优化相关的问题(-O2 或更低版本没有问题,-O3 出现段错误)并且我希望能够为我的源代码块切换编译器标志,所以我可以尝试缩小段错误的来源。

我可以将全局优化级别设置为 -O2,并更改单个文件的属性,如下所示:

SET_SOURCE_FILES_PROPERTIES(file1.f90 PROPERTIES COMPILE_FLAGS -O3)

但是,例如,当我尝试使用 *.f90 对多个文件执行此操作时,它似乎不起作用:

SET_SOURCE_FILES_PROPERTIES(*.f90 PROPERTIES COMPILE_FLAGS -O3)

有没有办法在不指定每个文件名称的情况下对多个文件执行此操作?

最佳答案

您可以glob文件列表:

file(GLOB MyFiles *.f90)
set_property(SOURCE ${MyFiles} PROPERTY COMPILE_FLAGS -O3)

或者,您可以设置 COMPILE_FLAGS target property取而代之的是各自的目标。通常,在同一目标中编译具有不同编译标志的某些源文件没有多大意义。因此,除非您有充分的理由对每个文件执行此操作,否则您应该始终使用目标属性。

关于cmake - 使用星号更改多个源文件的 CMake 编译器标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24554702/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com