【发布时间】:2019-06-11 10:22:59
【问题描述】:
CMake 文档描述了define 和 set 自定义属性(以及其他)缓存变量的方法。但是我不能让它工作。假设我有这个最小的例子:
cmake_minimum_required(VERSION 3.7)
project(x)
define_property(CACHED_VARIABLE PROPERTY A_PROPERTY BRIEF_DOCS "brief" FULL_DOCS "full")
set(A_VARIABLE "variable value" CACHE STRING "helpstring")
set_property(CACHE A_VARIABLE PROPERTY A_PROPERTY "property value")
尝试配置它会报错:
$ cmake .
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:6 (set_property):
set_property given invalid CACHE property A_PROPERTY. Settable CACHE
properties are: ADVANCED, HELPSTRING, STRINGS, TYPE, and VALUE.
-- Configuring incomplete, errors occurred!
See also "/tmp/x/CMakeFiles/CMakeOutput.log".
这个功能究竟应该如何工作?
【问题讨论】:
-
您可以在缓存条目上设置these properties,而不是您自己的。
标签: cmake