opened
denesb
username_0
The `doc_api` target, which should just run doxygen to generate the API documentation, somehow depends on C++ object files. It appears that the `doc_api` target depends on the `seastar` target:
```
  1 add_custom_command (                                                                                                      
  2   OUTPUT ${seastar_doxygen_marker_file}                                                                                   
  3   DEPENDS                                                                                                                 
  4     seastar                                                                                                               
  5     ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile                                                                                  
  6     ${CMAKE_CURRENT_BINARY_DIR}/DoxygenLayout.xml                                                                         
  7   COMMAND ${Seastar_DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile                                              
  8   COMMAND ${CMAKE_COMMAND} -E touch ${seastar_doxygen_marker_file})  
```

The doxygen generation should only depend on source files, no reason to compile anything just to run doxygen.
doc_api target triggers the compilation of C++ source files
issue
created
hakuch
username_1
I suppose it may be possible to add a finer-grained dependency on the files themselves and not the built target, but there would certainly be a little complexity overhead and I'm not sure if the trade-off is worth-it.

Does the current behavior actually cause problems?
comment
created
denesb
username_0
I will send a patch when I find the time.
comment
created
hakuch
username_1
@username_2, what is your preference? (New comment, since I'm not sure if a notification goes out to somebody tagged when a comment is edited.)
comment
created
nyh
username_2
I agree that doxygen is so quick that there is no problem for doxygen to be rebuilt entirely from scratch every time it is run. There's certainly no reason to wait for a full build to finish. Moreover, it's actually important that we don't, because I can imagine a Jenkins job which on every commit, retrieves the latest sourecode and rebuilds the most up-to-date doxygen documentation. Waiting for a build to finish will be really slow.
comment
created
hakuch
username_1
I'm convinced! Please see the patch [here](https://groups.google.com/d/msg/seastar-dev/Ok4VXt1b-Ac/NTRoyxxCCwAJ).
comment