如果我做:
set(SourceDir ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
message("SourceDir: " ${SourceDir})
该消息表示 SourceDir 为空。据推测,它仅在父作用域中设置。有没有办法在当前作用域和父作用域中设置变量?这样我就不必做:
set(SourceDir ${CMAKE_CURRENT_SOURCE_DIR} PARENT_SCOPE)
set(SourceDir ${CMAKE_CURRENT_SOURCE_DIR})
message("SourceDir: " ${SourceDir})
最佳答案
当您为 PARENT_SCOPE 设置它时,它不会以某种方式为当前范围执行此操作。但是两步过程有效。第一行在本地设置它,第二行将它导出到父作用域。
set (LIB_VER 6)
set (LIB_VER ${LIB_VER} PARENT_SCOPE)
关于cmake - 在当前范围和 PARENT_SCOPE 中设置一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34028300/