Yes, by adding another directory between my top-level ./src/ directory and ./mylib, I can cause the example to fail. I understand now that the include_directory() directive really has no hidden intelligence to it at all, as I had mistakenly believed. It's just a path.
However, I don't really want to have to go around to all my executables and add a bunch of relative paths based on which libraries they use, and where they are located in the tree. Is there some way that I can instead do something like force the install of the libraries to happen before the build of the programs which depend upon them? On Tue, Dec 2, 2014 at 3:53 PM, Chris Johnson <[email protected]> wrote: > Well, this fixed my example. But my real project still fails the same > way. It is, of course, much more complex and the library directories are > often several layers down in subdirectory trees. :-( > > On Tue, Dec 2, 2014 at 2:05 PM, Chris Johnson <[email protected]> wrote: > >> I'm using Make as my build tool. Here's the failing compile line with >> the -I paths. Indeed, they're not quite correct. This is with the >> suggested include_directories() directive. >> >> [100%] Building CXX object prog/CMakeFiles/prog.dir/prog.cpp.o >> cd /sandbox/src/.build/prog && /usr/bin/c++ -I/sandbox/include >> -I/sandbox/src/src -I/sandbox/src/mylib -o >> CMakeFiles/prog.dir/prog.cpp.o -c /sandbox/src/prog/prog.cpp >> >> Since the ../src/src path is wrong, I tried changing to >> include_directories(${CMAKE_SOURCE_DIR}) and that seems to work. That >> seems to imply the top-level source is not part of the default include >> path, correct? >> >> Thanks, >> ..chris >> >> >> On Tue, Dec 2, 2014 at 1:10 PM, Bill Hoffman <[email protected]> >> wrote: >> >>> On 12/2/2014 1:04 PM, Chris Johnson wrote: >>> >>>> Adding this directive does not seem to change the results at all, >>>> actually. Am I missing something? >>>> >>>> >>> What build tool are you using? Can you show a verbose compile line? >>> Then check the -I paths. make VERBOSE=1 will do it for make. >>> >>> -Bill >>> >>> >
-- 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
