小编Ofr*_*sky的帖子

cmake文件是否包含一次包含命令?

有谁知道在CMake文件中应用“包含一次”模式的简单方法?在C / C ++中,它通常在头文件的开头和结尾都需要一个#ifdef / #endif对,直到#pragma变得常见为止。当然,可以在CMake中做同样的事情,但是我认为如果不需要显式的条件语句,那会很好。

重新版本:似乎return()命令应该这样做。我会定义一个这样的宏:

macro(include_once)
  if (INCLUDED_${CMAKE_CURRENT_LIST_FILE})
    return()
  endif()
  set(INCLUDED_${CMAKE_CURRENT_LIST_FILE} true)
endmacro()
Run Code Online (Sandbox Code Playgroud)

在文件开头使用宏,不带任何参数。因为它是一个宏,所以返回的是文件的include命令,而不是宏本身。

请注意,创建的变量的名称为奇数,但CMake似乎接受此名称。

cmake

6
推荐指数
2
解决办法
1598
查看次数

标签 统计

cmake ×1