如何在CMake中区分Ubuntu和Debian?
我需要在CMakelists.txt中区分Ubuntu和Debian。 有人知道怎么做吗? 我尝试使用CMAKE_系统和CMAKE_系统名称,但它只返回有关Linux内核的信息如何在CMake中区分Ubuntu和Debian?,cmake,debian,Cmake,Debian,我需要在CMakelists.txt中区分Ubuntu和Debian。 有人知道怎么做吗? 我尝试使用CMAKE_系统和CMAKE_系统名称,但它只返回有关Linux内核的信息 谢谢您可以尝试以下方式: cmake_minimum_required(VERSION 2.8) file(READ "/etc/issue" ETC_ISSUE) string(REGEX MATCH "Debian|Ubuntu" DIST ${ETC_ISSUE}) if(DIST STREQUAL "Debi
谢谢您可以尝试以下方式:
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)
cmake_最低要求(2.8版)
文件(读取“/etc/issue”etc\u issue)
字符串(正则表达式匹配“Debian | Ubuntu”DIST${ETC_ISSUE})
if(德比安区斯特雷夸尔)
消息(状态“>>>>发现Debian发现Ubuntu发现未知发行版这正是我需要的!非常感谢。此解决方案适用于像Ubuntu这样的Debian衍生产品,但不适用于Fedora。不幸的是Fedora返回内核`/etc/os版本`似乎更可靠一些。