gpt4 book ai didi

cmake - 如何在不同的CMake文件之间共享变量

转载 作者:行者123 更新时间:2023-12-03 23:23:12 25 4
gpt4 key购买 nike

如何在不同的CMake文件之间共享变量,并显示以下示例来说明我的问题:

主要

cmake_minimum_required(VERSION 2.6)
project(test)
set(Var3 "Global variable")

add_subdirectory(${test_SOURCE_DIR}/exe)
add_subdirectory(${test_SOURCE_DIR}/dll)


EXE文件

set(Var1 "this is variable 1")
set(Var1 ${Var1} " added to varible 1")
message(STATUS ${Var1})


DLL文件

set(Var2 "this is variable 2")
message(STATUS ${Var2})
message(STATUS ${Var1})
message(STATUS ${Var3})


在此示例中,可以在 exedll的CMake文件中看到Var3,如在 Main中定义的那样。但是,在 exe中将看不到在 dll中定义的Var1。我只是好奇:有没有办法使 exe中定义的Var1在 dll中可观察?

最佳答案

除了Tadeusz正确说的话,您还可以使用来使变量在任何级别(不仅是向上!)都可见。

set(Var1 "This is variable 1" CACHE INTERNAL "")


该变量将可用于该指令之后的所有CMake指令,因此,例如,该变量将不适用于在定义此变量的目录之前添加的姊妹目录。

关于cmake - 如何在不同的CMake文件之间共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19858134/

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