On Mon, 1 Apr 2019 21:18:47 +0200
Rafael Sadowski <rafael@sizeofvoid.org> wrote:
> "If the :<type> portion is given it must be one of the types specified
> by the set() command documentation for its CACHE signature."
>
> Okay this is useless in almost all our cases because what we do is to
> modify an option()[1] and NOT a set() with a type.
option() sets a cache variable with the BOOL type. This 3-line
CMakeLists.txt
cmake_minimum_required(VERSION 2.6)
project(p C)
option(FAST "Be fast" OFF)
creates an entry in CMakeCache.txt
//Be fast
FAST:BOOL=OFF
If I use cmake -DFAST=ON, it creates an entry
//Be fast
FAST:BOOL=ON
Older versions of CMake needed a type like -DFAST:BOOL=ON, but newer
versions don't need a type in -D.
All CMake variables are strings. The strings can be true or false by
the rules that you quoted. Unless I forgot something, the cache type
like BOOL is only for editing the cache with an interactive tool like
ccmake(1). The tool might want to use a checkbox or a file dialog
with different types of cache variables.
--
George Koehler <kernigh@gmail.com>
No comments:
Post a Comment