[llvm-dev] [CMake] Re-configuring Debug and Release builds
David Greene via llvm-dev
llvm-dev at lists.llvm.org
Fri Mar 8 13:17:42 PST 2019
<paul.robinson at sony.com> writes:
>> If I've configured a Release build, build it and then go back and re-run
>> cmake with -DCMAKE_BUILD_TYPE=Debug (and nothing else changed), almost
>> nothing gets rebuilt when I try to build. Is this expected? I know I
>> can edit CMakeCache.txt directly and trigger an essentially full
>> rebuild.
>
> IME rerunning CMake with new options really does nothing; CMakeCache.txt
> appears to override the command line, which is not intuitive but seems
> to be how it actually works.
I thought so too at first, except changing LLVM_TARGETS_TO_BUILD when
re-running CMake does indeed cause any new targets to be built. So it
can't be the case that the cache overrides everything.
> I would hope that this is not a choice made by the LLVM project but a
> bug/feature of CMake itself. But I haven't ever had the energy to
> pursue it.
https://llvm.org/docs/CMake.html#cmake-caches seems to imply that -D
options should override cache values, but it doesn't for
CMAKE_BUILD_TYPE.
-David
More information about the llvm-dev
mailing list