Re: kdesrc-build: cmake should take local (instead of system-wide) cmake modules

2018-05-08 Thread Ben Cooksley
On Wed, May 9, 2018 at 9:28 AM, gregor.mi.sw  wrote:
>
>
> On 08.05.2018 23:15, Milian Wolff wrote:
>>
>> On Dienstag, 8. Mai 2018 22:40:39 CEST gregor.mi.sw wrote:
>>>
>>> Hello,
>>>
>>> I have a question regarding kdesrc-build and CMake.
>>>
>>> I setup the build environment variables and ran kdesrc-build and got a
>>> compiler error kinfocenter.
>>>
>>> I investigated
>>> /home/gregor/kde/src/build/kde/workspace/kinfocenter/CMakeCache.txt and
>>> found the following lines
>>>
>>>   //The directory containing a CMake configuration file for
>>> KF5Service.
>>>   KF5Service_DIR:PATH=/usr/lib64/cmake/KF5Service
>>>
>>>   //The directory containing a CMake configuration file for KF5Solid.
>>>   KF5Solid_DIR:PATH=/usr/lib64/cmake/KF5Solid
>>>
>>>   //The directory containing a CMake configuration file for
>>> KF5Wayland.
>>>   KF5Wayland_DIR:PATH=/usr/lib64/cmake/KF5Wayland
>>>
>>> The directories of the needed KF5 frameworks point to the system wide
>>> installed ones.
>>>
>>> I removed the system-wide devel package for solid (because it caused the
>>> compiler error) and ran kdesrc-build again:
>>>
>>>   //The directory containing a CMake configuration file for
>>> KF5Service.
>>>   KF5Service_DIR:PATH=/usr/lib64/cmake/KF5Service
>>>
>>>   //The directory containing a CMake configuration file for KF5Solid.
>>>   KF5Solid_DIR:PATH=/home/gregor/kde/usr/lib64/cmake/KF5Solid
>>>
>>>   //The directory containing a CMake configuration file for
>>> KF5Wayland.
>>>   KF5Wayland_DIR:PATH=/usr/lib64/cmake/KF5Wayland
>>>
>>> Now it shows the correct (local) path for solid (but not the other ones).
>>> Is
>>> there an environment variable or something I have to set to tell Cmake to
>>> always look for local modules first?
>>
>>
>> Try CMAKE_PREFIX_PATH. See e.g. this old blog post on the matter:
>>
>> https://blogs.kde.org/2008/12/12/how-get-cmake-find-what-you-want-it
>
>
> Thanks for the hint. The variable was already set:
>
> CMAKE_PREFIX_PATH=/home/gregor/kde/usr:
>
> In the blog post, it is said, that CMAKE_PREFIX_PATH is searched _first_. I
> find it strange that I had to uninstall the system-wide devel package in
> order to have cmake pick up the library in /home/gregor/kde/usr. And for the
> other libraries it still uses /usr. Any idea how to investigate this
> further?

If you have previously run CMake without setting CMAKE_PREFIX_PATH you
will need to remove your build directory first, otherwise it will
reuse modules it has already found.

>
> Gregor

Cheers,
Ben


Re: kdesrc-build: cmake should take local (instead of system-wide) cmake modules

2018-05-08 Thread gregor.mi.sw



On 08.05.2018 23:15, Milian Wolff wrote:

On Dienstag, 8. Mai 2018 22:40:39 CEST gregor.mi.sw wrote:

Hello,

I have a question regarding kdesrc-build and CMake.

I setup the build environment variables and ran kdesrc-build and got a
compiler error kinfocenter.

I investigated
/home/gregor/kde/src/build/kde/workspace/kinfocenter/CMakeCache.txt and
found the following lines

  //The directory containing a CMake configuration file for KF5Service.
  KF5Service_DIR:PATH=/usr/lib64/cmake/KF5Service

  //The directory containing a CMake configuration file for KF5Solid.
  KF5Solid_DIR:PATH=/usr/lib64/cmake/KF5Solid

  //The directory containing a CMake configuration file for KF5Wayland.
  KF5Wayland_DIR:PATH=/usr/lib64/cmake/KF5Wayland

The directories of the needed KF5 frameworks point to the system wide
installed ones.

I removed the system-wide devel package for solid (because it caused the
compiler error) and ran kdesrc-build again:

  //The directory containing a CMake configuration file for KF5Service.
  KF5Service_DIR:PATH=/usr/lib64/cmake/KF5Service

  //The directory containing a CMake configuration file for KF5Solid.
  KF5Solid_DIR:PATH=/home/gregor/kde/usr/lib64/cmake/KF5Solid

  //The directory containing a CMake configuration file for KF5Wayland.
  KF5Wayland_DIR:PATH=/usr/lib64/cmake/KF5Wayland

Now it shows the correct (local) path for solid (but not the other ones). Is
there an environment variable or something I have to set to tell Cmake to
always look for local modules first?


Try CMAKE_PREFIX_PATH. See e.g. this old blog post on the matter:

https://blogs.kde.org/2008/12/12/how-get-cmake-find-what-you-want-it


Thanks for the hint. The variable was already set:

CMAKE_PREFIX_PATH=/home/gregor/kde/usr:

In the blog post, it is said, that CMAKE_PREFIX_PATH is searched _first_. I find it strange that I 
had to uninstall the system-wide devel package in order to have cmake pick up the library in 
/home/gregor/kde/usr. And for the other libraries it still uses /usr. Any idea how to investigate 
this further?


Gregor


Re: kdesrc-build: cmake should take local (instead of system-wide) cmake modules

2018-05-08 Thread Milian Wolff
On Dienstag, 8. Mai 2018 22:40:39 CEST gregor.mi.sw wrote:
> Hello,
> 
> I have a question regarding kdesrc-build and CMake.
> 
> I setup the build environment variables and ran kdesrc-build and got a
> compiler error kinfocenter.
> 
> I investigated
> /home/gregor/kde/src/build/kde/workspace/kinfocenter/CMakeCache.txt and
> found the following lines
> 
>  //The directory containing a CMake configuration file for KF5Service.
>  KF5Service_DIR:PATH=/usr/lib64/cmake/KF5Service
> 
>  //The directory containing a CMake configuration file for KF5Solid.
>  KF5Solid_DIR:PATH=/usr/lib64/cmake/KF5Solid
> 
>  //The directory containing a CMake configuration file for KF5Wayland.
>  KF5Wayland_DIR:PATH=/usr/lib64/cmake/KF5Wayland
> 
> The directories of the needed KF5 frameworks point to the system wide
> installed ones.
> 
> I removed the system-wide devel package for solid (because it caused the
> compiler error) and ran kdesrc-build again:
> 
>  //The directory containing a CMake configuration file for KF5Service.
>  KF5Service_DIR:PATH=/usr/lib64/cmake/KF5Service
> 
>  //The directory containing a CMake configuration file for KF5Solid.
>  KF5Solid_DIR:PATH=/home/gregor/kde/usr/lib64/cmake/KF5Solid
> 
>  //The directory containing a CMake configuration file for KF5Wayland.
>  KF5Wayland_DIR:PATH=/usr/lib64/cmake/KF5Wayland
> 
> Now it shows the correct (local) path for solid (but not the other ones). Is
> there an environment variable or something I have to set to tell Cmake to
> always look for local modules first?

Try CMAKE_PREFIX_PATH. See e.g. this old blog post on the matter:

https://blogs.kde.org/2008/12/12/how-get-cmake-find-what-you-want-it

Cheers

-- 
Milian Wolff
m...@milianw.de
http://milianw.de

signature.asc
Description: This is a digitally signed message part.


kdesrc-build: cmake should take local (instead of system-wide) cmake modules

2018-05-08 Thread gregor.mi.sw

Hello,

I have a question regarding kdesrc-build and CMake.

I setup the build environment variables and ran kdesrc-build and got a compiler 
error kinfocenter.

I investigated /home/gregor/kde/src/build/kde/workspace/kinfocenter/CMakeCache.txt and found the 
following lines


//The directory containing a CMake configuration file for KF5Service.
KF5Service_DIR:PATH=/usr/lib64/cmake/KF5Service

//The directory containing a CMake configuration file for KF5Solid.
KF5Solid_DIR:PATH=/usr/lib64/cmake/KF5Solid

//The directory containing a CMake configuration file for KF5Wayland.
KF5Wayland_DIR:PATH=/usr/lib64/cmake/KF5Wayland

The directories of the needed KF5 frameworks point to the system wide installed 
ones.

I removed the system-wide devel package for solid (because it caused the compiler error) and ran 
kdesrc-build again:


//The directory containing a CMake configuration file for KF5Service.
KF5Service_DIR:PATH=/usr/lib64/cmake/KF5Service

//The directory containing a CMake configuration file for KF5Solid.
KF5Solid_DIR:PATH=/home/gregor/kde/usr/lib64/cmake/KF5Solid

//The directory containing a CMake configuration file for KF5Wayland.
KF5Wayland_DIR:PATH=/usr/lib64/cmake/KF5Wayland

Now it shows the correct (local) path for solid (but not the other ones). Is there an environment 
variable or something I have to set to tell Cmake to always look for local modules first?


Gregor