Hi, Le 16/08/2010 12:20, Michael Jansen a écrit : > Because it is the right thing to do. The first line overriding it is > just plain wrong imho. > > 1. CMAKE_MODULE_PATH is documented in cmake at the same level as > CMAKE_PREFIX_PATH as a variable that changes behaviour. Which means a > user can and will expect he is able to override it. Which will break > with the first line.
This is incorrect, CMAKE_PREFIX_PATH is an environment variable and CMAKE_MODULE_PATH is a CMake parameter (http://public.kitware.com/Wiki/CMake_Useful_Variables : _MODULE belongs to the "Locations" section and _PREFIX is under "Environment Variables") > 2. KDE installs a ton of useful not kde related FindXYZ*.cmake files > into a path != /usr/share/cmake... . If a non kde project wants to use > it (even a small homegrown project) the user has to set > CMAKE_MODULE_PATH from the outside. Therefore he needs the line from > Yury in his CMakeLists.txt. Since we as kde are the poster child for > cmake usage we should implement our cmake files as examples for other to > copy. This is exactly what CMAKE_PREFIX_PATH does: give the order in which CMake looks for stuff. There's no need for this hack. > > 3. If someone develops a small lib he plans to add as a kde dependency > he probably installs it into some non distro prefix so he doesn't need > root rights to install it. So he needs to override CMAKE_MODULE_PATH in > say koffice to make it pick up that location. And i would expect it to > work. Remember that his KDELIBS_PREFIX could be distro provided and > koffice is installed into /usr/local/ . > Once again, CMAKE_PREFIX_PATH is enough. Here's an example: # echo $CMAKE_PREFIX_PATH /kde/inst/akonadi:/kde/inst/extragear-network:/kde/inst/kdepim:/kde/inst/kdepimlibs:/kde/inst/kdepim-runtime:/kde/inst/pim and CMake ran in kdenetwork has no problem to find libktorrent: -- Found libktorrent: /kde/inst/extragear-network/lib64/libktorrent.so WRT to the original post, there are two issues: - libktorrent should not install FindKtorrent.cmake since it's supposed to help finding libktorrent and not ktorrent, - It should install a LibKtorrentConfig.cmake instead of a FindXXX.cmake for the reasons Andreas already gave. Christophe. _______________________________________________ Kde-buildsystem mailing list [email protected] https://mail.kde.org/mailman/listinfo/kde-buildsystem
