处理器功能的 CMake 测试

Gab*_*ern 1 linux cmake

我想知道 CMake 是否可以像使用配置脚本运行测试一样运行测试。具体来说,我想测试我正在编译的系统是否支持 rdtscp 指令。

我使用的是 Linux,如果我使用配置脚本,我可以执行以下操作:

cat /proc/cpuinfo | head -n 19 | tail -1 | grep -c rdtscp
Run Code Online (Sandbox Code Playgroud)

0如果 rdtscp 功能不存在,这会告诉我,或者1如果存在的话。然后我可以用它来确定是否#define RDTSCP。我想知道是否可以用 CMake 做类似的事情,即使它不完全可移植(我只在 Linux 下运行,不使用 Visual Studio 等)。

arr*_*owd 5

execute_process(COMMAND cat /proc/cpuinfo
    COMMAND head -n 19
    COMMAND tail -1
    COMMAND grep -c rdtscp
    OUTPUT_VARIABLE OUT)
Run Code Online (Sandbox Code Playgroud)