I am using the following CMake code fragment to collect file depends for a custom target that generatates doxygen documentation:
# Collect essentially same source code dependencies that are in Doxyfile # including most of the template files for configured code files. set(doxygen_prefixes "*.c;*.cc;*.cxx;*.cpp;*.c++;*.d;*.java;*.h;*.py;*.f90;*.f") set(doxygen_directories "libs;src;bindings;drivers;include") set(doxygen_globs) foreach(directory ${doxygen_directories}) foreach(prefix ${doxygen_prefixes}) list(APPEND doxygen_globs ${CMAKE_SOURCE_DIR}/${directory}/${prefix}) endforeach(prefix ${doxygen_prefixes}) endforeach(directory ${doxygen_directories}) #message(STATUS "DEBUG: doxygen_globs = ${doxygen_globs}") file(GLOB_RECURSE doxygen_file_depends ${doxygen_globs}) # message(STATUS "DEBUG: doxygen_file_depends = ${doxygen_file_depends}") All is well with the file dependencies generated this way. When I touch (say) include/plplot.h, the doxygen documentation is regenerated just like I want when I run the custom target. However, I noticed that the doxygen_globs list was getting really huge due to the long absolute pathnames so out of curiosity I tried file(GLOB_RECURSE doxygen_file_depends RELATIVE ${doxygen_globs}) instead, and the result has one too many "../" instances in the relative paths. That is, when I run the custom target, the result is make[3]: *** No rule to make target /home/software/plplot_svn/HEAD/plplot_cmake_qt/doc/../../include/ps.h', needed by doc/doxygen'. Stop. Note, doc and include are subdirectories of the top-level source directory, /home/software/plplot_svn/HEAD/plplot_cmake_qt so there is one too many ../ instances in the above relative path, and I have printed out doxygen_globs to verify that this issue occurs for all relative paths. Is this extra "../" issue with GLOB_RECURSE and RELATIVE for the file command a known bug? I happen to have run this test with cmake-2.8.4-rc2, although I would be happy to move to 2.8.4 instead if anybody is having trouble replicating this issue. Alan __________________________ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ _______________________________________________ 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