Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Todo list not generated #9416

Open
benthevining opened this issue Jun 22, 2022 · 5 comments
Open

Todo list not generated #9416

benthevining opened this issue Jun 22, 2022 · 5 comments
Labels
needinfo reported bug is incomplete, please add additional info

Comments

@benthevining
Copy link

Describe the bug
Doxygen does not generate a todo list page when the GENERATE_TODOLIST config key is set to YES

Expected behavior
Doxygen should generate a todo list page.

To Reproduce
Here is the repository in question. You can run cmake -B Builds -D LIMES_INTERNAL_DOCS=ON and then cmake --build Builds --target LimesDocs.

Version
1.9.4, OS is MacOS.

Additional context
The configuration file contains the following:

GENERATE_TODOLIST      = YES
INTERNAL_DOCS          = YES
@albert-github
Copy link
Collaborator

The repository is a moving target and also requires CMake at least 3.22 so all in all less suitable so solve a problem.

  • Can you please attach a, small, self contained example (source+configuration file in a tar or zip) that shows the problem that should be fixed with the proposed patch? Please don't add external links as they might not be persistent.

@albert-github albert-github added the needinfo reported bug is incomplete, please add additional info label Jun 23, 2022
@benthevining
Copy link
Author

I tried creating a basic project, and the todo list was generated correctly.

The issue seems to be that in my project, I want some Doxygen configuration options to be configurable by the user, so I expose them as CMake options, and then in the CMake configuration, the actual Doxyfile to be used is generated from a "template" Doxyfile using CMake's configure_file() command. With most fields, this works just fine -- I'm able to insert absolute paths determined by CMake into the final Doxyfile, and Doxygen picks them up correctly. But for some reason, with the GENERATE_TODOLIST key, even if the final generated Doxyfile reads

GENERATE_TODOLIST = YES

Doxygen doesn't seem to "pick up" this configuration key. Do you have any idea why this might be happening?

@albert-github
Copy link
Collaborator

It is strange that when you explicitly set GENERATE_TODOLIST = YES this is not seen, though we need some more information, so please post (in a tar or zip) your:

  • input doxygen settings file used by CMake
  • resulting doxygen settings file from CMake
  • please specify the CMake version you are using

@albert-github
Copy link
Collaborator

Due to my system setup and the requirement from the Limes package I'm not able to build the Limes package as indicated.

  • on Cygwin my cmake version is 3.20 (newest available) and Limes requires 3.22
    • Is it possible to use an older version, how?
  • on Windows I get:
    ...
    -- Oranges package found -- Sources downloaded
    -- The ASM compiler identification is MSVC
    -- Found assembler: D:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023 /bin/Hostx86/x86/cl.exe
    CMake Error at D:/Program Files/CMake/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
      Could NOT find Protobuf (missing: Protobuf_LIBRARIES Protobuf_INCLUDE_DIR)
    Call Stack (most recent call first):
      D:/Program Files/CMake/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
      D:/Program Files/CMake/share/cmake-3.22/Modules/FindProtobuf.cmake:650 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
      Cache/oranges-src/modules/code_generation/UseProtobuf.cmake:64 (find_package)
      libs/CMakeLists.txt:87 (include)
    
    -- Configuring incomplete, errors occurred!
    
    Is there a way so that only the documentation will be configured / build

Still the request from #9416 (comment) would be very useful.

@albert-github
Copy link
Collaborator

On Cygwin I have now a newer version of CMake so I tried again

git clone https://github.com/benthevining/Limes.git
cd Limes
cmake -B Builds -D LIMES_INTERNAL_DOCS=ON

but I got the error:

-- The CXX compiler identification is GNU 11.3.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/c++.exe
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for __arm__
-- Looking for __arm__ - not found
-- Looking for __SSE__
-- Looking for __SSE__ - found
-- Looking for __AVX512CD__
-- Looking for __AVX512CD__ - not found
-- Looking for __AVX__
-- Looking for __AVX__ - not found
-- The C compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
CMake Warning (dev) at Cache/oranges-src/modules/general/LinuxLSBInfo.cmake:57 (message):
  Unable to detect LSB info for your Linux distro
Call Stack (most recent call first):
  Cache/oranges-src/targets/OrangesDefaultTarget.cmake:115 (include)
  Cache/oranges-src/targets/CMakeLists.txt:18 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Oranges package found -- Sources downloaded
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- limes_vecops - SelectImpl.cmake -- Could NOT find IPP (missing: IPP_INCLUDE_DIR IPP_ROOT)
-- limes_vecops - SelectImpl.cmake -- MIPP found - Downloaded
-- limes_vecops - SelectImpl.cmake -- LIMES_VECOPS_USE_VDSP=0
-- limes_vecops - SelectImpl.cmake -- LIMES_VECOPS_USE_IPP=0
-- limes_vecops - SelectImpl.cmake -- LIMES_VECOPS_USE_NE10=0
-- limes_vecops - SelectImpl.cmake -- LIMES_VECOPS_USE_MIPP=1
CMake Error at /usr/lib/cmake/fftw3/fftw3Config.cmake:13 (include):
  include could not find requested file:

    /usr/lib/cmake/fftw3/FFTW3LibraryDepends.cmake
Call Stack (most recent call first):
  Cache/oranges-src/modules/finders/libs/FFTW/FindFFTW.cmake:61 (find_package)
  libs/limes_vecops/fft/impl/CMakeLists.txt:35 (find_package)


-- limes_vecops - FFT -- Could NOT find pffft (missing: PFFFT_INCLUDE_DIR PFFFT_LIBRARY)
-- limes_vecops - Resampling -- Could NOT find SampleRate (missing: LIBSAMPLERATE_INCLUDE_DIR LIBSAMPLERATE_LIBRARY)
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.9.4 (a2e22797de7d4e54bd6cf4fc752b8b1f5bd5bd80)") found components: doxygen dot
-- Found LATEX: /usr/bin/latex  found components: BIBTEX PDFLATEX
-- The following features have been enabled:

 * IPO, Enabling interprocedural optimization in OrangesIPO target
 * ccache, Using the ccache compiler cache
 * Accelerated vecops, Using the MIPP backend for the limes_vecops functions
 * Pommier SIMD functions, Using Julien Pommier's SIMD functions for NEON/SSE
 * Unit tests, Build the Limes unit test runner
 * Docs, Build the Limes documentation

-- The following OPTIONAL packages have been found:

 * fftw3
 * Git
 * Doxygen
 * LATEX

-- The following RECOMMENDED packages have been found:

 * MIPP, Wrapper for various platform-specific SIMD instruction sets, <https://github.com/aff3ct/MIPP>
   SIMD vector math acceleration

-- The following REQUIRED packages have been found:

 * Oranges (required version >= 3.3.0), Library of CMake modules, <https://github.com/benthevining/Oranges>
   Required CMake modules
 * Catch2 (required version >= 3)

-- The following features have been disabled:

 * Oranges maintainer build, OrangesDefaultTarget is linked to OrangesDefaultWarnings and OrangesStaticAnalysis
 * clang-tidy, Clang's static analysis tool
 * cppcheck, cppcheck static analysis tool
 * cpplint, cpplint static analysis tool
 * include-what-you-use, include-what-you-use static analysis tool
 * FFTW, Using the Fallback backend for the limes_vecops FFT, <https://www.fftw.org>
   FFT acceleration with FFTW
 * libsamplerate, Using the Fallback backend for the limes_vecops resampler

-- The following OPTIONAL packages have not been found:

 * fftw3f, Float precision FFT library, <https://www.fftw.org>

-- The following RECOMMENDED packages have not been found:

 * Accelerate
   Apple's accelerated vector math library
 * IPP, Hardware-accelerated functions for signal and image processing provided by Intel, <https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.sd4x9g>
   Intel's accelerated vector math library
 * FFTW, Using the Fallback backend for the limes_vecops FFT, <https://www.fftw.org>
   FFT acceleration with FFTW
 * pffft, Optimized FFT library, <https://github.com/marton78/pffft>
   Optimized FFT library
 * SampleRate, Resampling library, <http://libsndfile.github.io/libsamplerate/>
   Resampling acceleration with libsamplerate

-- Configuring incomplete, errors occurred!
See also "/cygdrive/d/.../Limes/Builds/CMakeFiles/CMakeOutput.log".
See also "/cygdrive/d/../Limes/Builds/CMakeFiles/CMakeError.log".

I cannot run the second phase i.e. the building of the documentation as the first phase failed (so there is no Makefile, probably related to FFTW/fftw3#130).
I ran doxygen in the docs directory and the resulting output, as you indicated, did contain the todo list.

So no idea why you have the problem, please advise how to overcome the problems in the first phase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needinfo reported bug is incomplete, please add additional info
Projects
None yet
Development

No branches or pull requests

2 participants