On Wed, May 9, 2018 at 9:28 AM, gregor.mi.sw <codestr...@posteo.org> 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