On Tue, Aug 25, 2009 at 3:35 PM, Michael Wild <them...@gmail.com> wrote:
> > On 25. Aug, 2009, at 15:23, David Ojeda wrote: > > On Tue, Aug 25, 2009 at 12:47 PM, Andreas Pakulat <ap...@gmx.de> wrote: >> >> On 25.08.09 12:37:46, David Ojeda wrote: >>> >>>> I have a shared library that I managed to compile and install using >>>> >>> cmake. >>> >>>> This is working great but now I want to use this library in another >>>> cmake-based development. Normally, as with any other shared library, I >>>> >>> use a >>> >>>> FindPackage to get the include and linker flags. However, since I am >>>> >>> using >>> >>>> my shared library, I wrote a cmake module. Once again this is working ok >>>> >>> and >>> >>>> I would like to include this module as a part of the files installed by >>>> >>> the >>> >>>> library. >>>> >>> >>> So you don't want that, you want it to be either part of cmake or part of >>> all projects using that library. The reason is simple, if the library is >>> not installed, its find-module won't be installed. Hence upon the >>> cmake-run >>> in the project using the lib you'll get a cryptic error message that >>> library_DIR is not set properly. >>> >>> >> Thank you for your response Andreas, >> >> Actually I get a not so cryptic error, which says that it does not find >> the >> module: >> >> CMake Warning at CMakeLists.txt:12 (find_package): >> Could not find module Findmylib.cmake or a configuration file for package >> mylib. >> >> Adjust CMAKE_MODULE_PATH to find Findmylib.cmake or set mylib_DIR to the >> directory containing a CMake configuration file for mylib. The file will >> have one of the following names: >> >> mylibConfig.cmake >> mylib-config.cmake >> >> >> So, to my understanding, cmake will search the module at CMAKE_MODULE_PATH >> or at /usr/share/cmake-2.6/Modules/ >> Does it also search somewhere else such as: >> /usr/local/share/cmake-2.6/Modules ? >> I've tried this and apparently it doesn't search there... (maybe it >> searches >> somewhere >> else?) >> If cmake does not do this at all... would this be useful? I think so, >> personally... since >> usually it is common to install libraries/programs at /usr/local/... >> >> > > You want to read > http://www.cmake.org/cmake/help/cmake2.6docs.html#command:find_package, > especially where it starts to talk about "config mode": > > CMake constructs a set of possible installation prefixes for the package. >>>> Under each prefix several directories are searched for a configuration >>>> file. >>>> The tables below show the directories searched. Each entry is meant for >>>> installation trees following Windows (W), UNIX (U), or Apple (A) >>>> conventions. >>>> >>>> <prefix>/ (W) >>>> <prefix>/(cmake|CMake)/ (W) >>>> <prefix>/<name>*/ (W) >>>> <prefix>/<name>*/(cmake|CMake)/ (W) >>>> <prefix>/(share|lib)/cmake/<name>*/ (U) >>>> <prefix>/(share|lib)/<name>*/ (U) >>>> <prefix>/(share|lib)/<name>*/(cmake|CMake)/ (U) >>>> On systems supporting OS X Frameworks and Application Bundles the >>>> following directories are searched for frameworks or bundles containing a >>>> configuration file: >>>> >>>> <prefix>/<name>.framework/Resources/ (A) >>>> <prefix>/<name>.framework/Resources/CMake/ (A) >>>> <prefix>/<name>.framework/Versions/*/Resources/ (A) >>>> <prefix>/<name>.framework/Versions/*/Resources/CMake/ (A) >>>> <prefix>/<name>.app/Contents/Resources/ (A) >>>> <prefix>/<name>.app/Contents/Resources/CMake/ (A) >>>> In all cases the <name> is treated as case-insensitive and corresponds >>>> to any of the names specified (<package> or names given by NAMES). If >>>> PATH_SUFFIXES is specified the suffixes are appended to each (W) or (U) >>>> directory entry one-by-one. >>>> >>>> > Michael > Thank you Michael, I did not know this. I found another interesting solution, just by filling the HINT section of the find_package David
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake