[cmake-developers] [CMake 0015258]: 3.0.2-3.1rc2: _IMPORT_PREFIX always used even if absolute paths are in use - thus breaking build

Stephen Kelly steveire at gmail.com
Mon Dec 8 17:42:58 EST 2014


Arkadiusz Miśkiewicz wrote:

> On Monday 08 of December 2014, Stephen Kelly wrote:
>> Arkadiusz Miśkiewicz wrote:
>> 
>> >> Removing CMAKE_INSTALL_LIBDIR from your command line might also cause
>> >> the correct files to be generated (why are you setting that?).
>> > 
>> > To ensure correct libdir gets used/set the one defined in rpm (package
>> > manager), not some kde/cmake one. Also user that uses rpm to build the
>> > package is allowed to redefine it like rpm --define '_libdir
>> > /blagblah', rpm passes that to cmake at cmdline.
>> 
>> Is there something equivalent for include dirs?
> 
> Yes, there is but it's not currently passed to cmake. libdir was passed
> because of lib vs lib64 issue and problems related to it in the past.

You also pass -DLIB_SUFFIX=64. *Something* is redundant. 

> I could set includedir too but probably there is some other xxxdir that
> I'm not overriding and the whole problem will appear again, right?

Please help my understanding:

You justify passing the value of libdir because a user should be allowed to 
set it with rpm --define and you want to pass it along. However, if the user 
uses rpm --define to set the includedir, you don't pass it along, correct? 

Why not?

I don't know if the problem would appear again with other paths/options. It 
is probably decreasingly likely after fixing the includedir. 
INTERFACE_INCLUDE_DIRECTORIES in IMPORTED targets is quite a new concept, 
but it will likely get widespread use.

Are there guidelines for creating rpms? Eg, can you point me to a guideline 
which says users should be able to pass 'rpm --define libdir ...'? Or is 
that kind of guideline only learned by doing but not written down?

Thanks,

Steve.




More information about the cmake-developers mailing list