3
有没有办法在执行另一个CMakeLists.txt
文件时临时更改CMake变量。像这样?按下/弹出cmake变量
PUSH (SOME_VARIABLE)
SET (SOME_VARIABLE "temporary value")
ADD_SUBDIRECTORY("subdir")
POP (SOME_VARIABLE)
我知道你可以做到这一点是这样的:
SET (SOME_VARIABLE_TMP "${SOME_VARIABLE}")
SET (SOME_VARIABLE "temporary value")
ADD_SUBDIRECTORY("subdir")
SET (SOME_VARIABLE "${SOME_VARIABLE_TMP})
而且我想我甚至可以做一些哈克功能做我自己,像这样(未经):
FUNCTION (PUSH VARNAME)
SET (${VARNAME}_TMP "${${VARNAME}}" PARENT_SCOPE)
ENDFUNCTION()
FUNCTION (POP VARNAME)
SET (${VARNAME} "${${VARNAME}_TMP}" PARENT_SCOPE)
ENDFUNCTION()
你甚至可以扩展它,所以它可以工作,如果你推推弹出流行。但我想知道是否有一种很好的方式可以在本地执行?