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

Reply via email to