CMake questions (add_definition, CMP0063)

Aleix Pol aleixpol at kde.org
Fri Oct 2 22:30:04 UTC 2015


On Fri, Oct 2, 2015 at 11:09 PM, Frederik Schwarzer <schwarzer at kde.org> wrote:
> Hi,
>
> while looking through some make files, I found two things that I do
> not understand.
>
> 1)  add_definitions("-Dx -Dy") vs. add_definitions(-Dx -Dy)
> Is there a difference? Laurent added the quoted version in KShisen but
> "in the wild" I can only find the non-quoted version.
Well, not that I know of. If anything I would suggest /not/ using the
quotes, without knowing Laurent's reasoning. Maybe you can ask him and
enlighten us?

>
> 2)  CMP0063
> When building KShisen, I get a message, that lead me to this
> explanation: http://cmake.org/cmake/help/v3.3/policy/CMP0063.html
> But to be honest, I do not understand the implications of this.
> In other KDE applications, the devs just set cmake to OLD behaviour.
> That feels unsatisfying to me. Setting it to NEW also helps but since
> I do not understand, what this is about, I refrain from doing
> anything.
> Can anyone explain, what this means?
So the thing is that cmake used to work in a way, and when cmake
changes how it works, they add one of those policies you can set to
the old or the new behavior.

What this warning is telling us is that we're doing something wrong
and it should be addressed. I've seen this error in other projects as
well. Setting the policy to "OLD" only makes cmake to shut up, but
doesn't solve the problem.

As a proper fix, I'd suggest looking into
extra-cmake-modules/kde-modules/KDECompilerSettings.cmake, there we
are setting CMAKE_VISIBILITY_INLINES_HIDDEN globally for all KDE
projects, we should figure out what's the most appropriate value for
the variable or whether the policy should be set over there.

HTH,
Aleix


More information about the Kde-buildsystem mailing list