Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 433844

Summary: kde-base/kdelibs-4.9.0 installs cmake files into non-standard directory
Product: Gentoo Linux Reporter: Dennis Schridde <dschridde+gentoobugs>
Component: [OLD] KDEAssignee: Gentoo KDE team <kde>
Status: RESOLVED WONTFIX    
Severity: enhancement    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Dennis Schridde 2012-09-03 21:35:52 UTC
# q file -v /usr/share/apps/cmake/modules/FindEigen.cmake
kde-base/kdelibs-4.9.0 (/usr/share/apps/cmake/modules/FindEigen.cmake)

In an own project I get:
CMake Error at CMakeLists.txt:17 (find_package):
  By not providing "FindEigen.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Eigen", but
  CMake did not find one.

I suggest that cmake files be installed into the standard cmake directory (which appears to be /usr/share/cmake) instead, so they can be used by other projects as well.

Reproducible: Always
Comment 1 Michael Palimaka (kensington) gentoo-dev 2012-09-04 12:56:00 UTC
I believe upstream's expectation is that find_package(KDE4) (which adds that directory to CMAKE_MODULE_PATH) will always be called prior to using KDE-provided modules.

Do you have a different use case?
Comment 2 Dennis Schridde 2012-09-04 13:25:05 UTC
Yes, I simply want to use Eigen, without using KDE. Hence it would be nice if there was a globally installed CMake module.
Comment 3 Johannes Huber (RETIRED) gentoo-dev 2012-09-04 13:39:00 UTC
(In reply to comment #2)
> Yes, I simply want to use Eigen, without using KDE. Hence it would be nice
> if there was a globally installed CMake module.

You have two options:

1. find_package(KDE4)
2. Include the search module in your project.

We wont mix the installations of the cmake and kdelibs.
Comment 4 Maciej Mrozowski gentoo-dev 2012-09-04 18:06:08 UTC
You need to include all 3rd party FindXXX.cmake files in your own project. Only modules provided officially by CMake can be implicitly depended on.
If you don't care for portability and just want to get it found, pass -DCMAKE_MODULE_PATH=/usr/share/apps/cmake/modules to cmake.