linux – 检测Cmake中的底层平台/风格

有没有人知道任何cmake变量或钩子或什么东西可以给我基础平台名称/风味名称,它正在执行?
例如 Linux的CentOS的
Linux的Ubuntu的
Linux的SLES

我知道cmake有“CMAKE_SYSTEM”变量,但这并没有帮助区分linux的风格.任何帮助表示赞赏.

编辑:
我刚看到它可以使用lsb_release命令完成吗?

解决方法

以下代码段使用有关基础Linux系统的信息填充LSB_RELEASE_ID_SHORT cmake变量:
find_program(LSB_RELEASE_EXEC lsb_release)
execute_process(COMMAND ${LSB_RELEASE_EXEC} -is
    OUTPUT_VARIABLE LSB_RELEASE_ID_SHORT
    OUTPUT_STRIP_TRAILING_WHITESPACE
)

例如,在Ubuntu上,它会产生Ubuntu.

相关文章

查找全部容器的日志文件 $ sudo find /var/lib/docker/conta...
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型