Hi Sven,
On Tue, Jun 28, 2016 at 5:26 PM, Sven Baars <[email protected]> wrote: > Hey all, > > Since I did not receive a reply to my previous mail, I decided to write a > minimal example explaining my problem, where I kept al the names as I used > in my previous mails. I hope that after seeing my example, someone can > explain me what I am doing wrong here. I included a script that reproduces > the problem. > > Cheers, > Sven I'm not much of an expert with CMake, but I can explain to you what I've done, at least. If I understand correctly, package X makes use of package Y, but during compilation, it cannot find it? I think what you can do depends on whether X and Y are in two separate source trees. If they are, then it is almost like Y is the zlib library. Then what you can do is, like the zlib library, install it into a system directory (i.e., via INSTALL ()) and then X will use a FIND_PACKAGE to look for it. But, suppose Y isn't like zlib. For example, it is a library that is within the same source tree and will only ever be used by X (both of which are written by you). I think this is the scenario that you're talking about? In my case, I have done this in my CMakeLists.txt: SET (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) I guess you can set it [https://cmake.org/cmake/help/v3.3/variable/CMAKE_LIBRARY_OUTPUT_DIRECTORY.html] to anything so that all of the libraries will be installed into one place without doing an INSTALL. Of course, this directory is or somewhere within the build/ directory. (I suppose doing an install into ${CMAKE_BINARY_DIR} would achieve the same thing?) I had previously installed Y's archive into a system directory, but besides the need to run FIND_PACKAGE, I thought it was "silly" to install an archive into a system directory that is only used by my own program. Seems a bit messy and intrusive to the end-user -- my libraries are quite unlike zlib; few chance someone else will use it :-) . At the very least, this approach keeps it in one place within build/ . I'm not sure if it is the "right" way to do it, but this is what I do at the moment... I hope it helps! Ray -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake
