我需要在 CMakelists.txt 中区分 Ubuntu 和 Debian。有人知道怎么做吗?我尝试使用 CMAKE_SYSTEM 和 CMAKE_SYSTEM_NAME 但它只返回有关 Linux 内核的信息......
谢谢
你可以尝试这样的事情:
cmake_minimum_required(VERSION 2.8)
file(READ "/etc/issue" ETC_ISSUE)
string(REGEX MATCH "Debian|Ubuntu" DIST ${ETC_ISSUE})
if(DIST STREQUAL "Debian")
message(STATUS ">>>> Found Debian <<<<")
elseif(DIST STREQUAL "Ubuntu")
message(STATUS ">>>> Found Ubuntu <<<<")
else()
message(STATUS ">>>> Found unknown distribution <<<<")
endif()
add_executable(main main.cpp)
Run Code Online (Sandbox Code Playgroud)
这会将包含您正在使用的发行版名称的/etc/issue文件读取到ETC_ISSUE变量中。然后你为 Debian 或 Ubuntu grep 并将结果保存在DIST 中。现在您可以使用if命令检查DIST。
| 归档时间: |
|
| 查看次数: |
668 次 |
| 最近记录: |