Mey*_*sam 4 linux code-reuse cmake reusability
我有以下代码段,它获取当前系统 IP 并将其存储在SERVER_IP变量中:
EXECUTE_PROCESS(
COMMAND ip route get 8.8.8.8
COMMAND awk "NR==1 {print $NF}"
OUTPUT_VARIABLE SERVER_IP
OUTPUT_STRIP_TRAILING_WHITESPACE
)
Run Code Online (Sandbox Code Playgroud)
我需要在CMakeLists.txt文件层次结构中的多个位置使用此 IP。重用此代码的最佳方法是什么?我的第一个想法是使其成为一个类似 的函数function(GetIP),但我不确定将该函数放在哪里以使其对所有 CMakeLists.txt 文件可见。
如果您使 CMake 函数在顶级文件中可用,那么它也将在您使用 . 添加的子目录的文件CMakeLists.txt中可用。CMakeLists.txtADD_SUBDIRECTORY
要么直接在顶级CMakeLists.txt文件中定义函数,要么使用类似的东西INCLUDE(GetIP.cmake)。