Tuesday, April 02, 2019

Re: NEW: devel/llvm (Extra Clang Tools)

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