Re: kdesrc-build: cmake should take local (instead of system-wide) cmake modules
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
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
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
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