Coder Social home page Coder Social logo

Comments (4)

svenevs avatar svenevs commented on September 22, 2024

Hmm. Smells like a bug with breathe. Let's talk more here first though. Is there a public link you can give me to the code?

If not include the relevant sections of conf.py (exhale_args, breathe configurations) and in particular your doxygen configuration. If you're using an actual Doxyfile, upload it to gist.github.com (since it's huge xD).

from exhale.

Time0o avatar Time0o commented on September 22, 2024

My project is located here: https://github.com/Time0o/TUD_computational_group_theory, the Doxyfile is located at doxygen/Doxyfile. The sphinx conf.py is dynamically generated by CMake (which kind of sucks, I'll admit it), look at the toplevel CMakeLists.txt, line 133 following. Unfortunately I have just switched the hosted documentation to pure Doxygen, since it's basically empty anyways I'll try to host the exhale results at: https://time0o.github.io/TUD_computational_group_theory/ shortly.

from exhale.

svenevs avatar svenevs commented on September 22, 2024

Hey @Time0o I'm really confused about how your docs are setup. I don't get a conf.py generated anywhere. I'm also not sure why you would want to generate one from CMake. Anyway I can't really help since I can't reproduce things. Right now exhale forces you to have Doxyfile next to conf.py, that will be relaxed in the future but to test exhale i would suggest you just do

# from repo root, just for testing
$ mkdir exhale_docs
$ cd exhale_docs
$ sphinx-quickstart

Then use the exhaleDoxygenStdin approach. There's not really much of a reason for you to be configuring the Doxyfile and a conf.py for this project, it's not like those are changing right? You probably want something like (assuming for sphinx-quickstart first question > Separate source and build directories (y/n) [n]: you said n):

import textwrap
extensions = ["breathe", "exhale"]
breathe_projects = {
    "MPSoC Symmetry Reduction Library": "_doxygen/xml"
}
breathe_default_project = "MPSoC Symmetry Reduction Library"

exhale_args = {
    "containmentFolder": "./api",
    "rootFileName": "library_root.rst",
    "rootFileTitle": "Library API",
    "doxygenStripFromPath": "..",
    "createTreeView": True,
    "exhaleExecutesDoxygen": True,
    "exhaleDoxygenStdin": textwrap.dedent('''
        INPUT = ../include ../src ../doxygen ../doxygen/dox
        # CITE_BIB_FILES are just ../doxygen/bin/ ... ?
        # any other custom stuffs you want
    ''')
}

The answer to "spearate source and build directories" matters because relative paths are relative to conf.py. When you say no, it'll be in exhale_docs/source/conf.py so you need to adjust doxygenStripFromPath and INPUT etc.

Anyway that's just the test I did, and private members weren't showing up. I think if you can remove the CMake configure complexity you'll probably see different results. So if you like what you get out of that, then blow away your docs/ folder and do it slightly different:

  1. Answer [y] to separate source and build directories. That'll give you a docs/build/html in the end.
  2. You'll also have docs/source/conf.py, and exhale currently requires that you move doxygen/Doxyfile to docs/source/Doxyfile. Then also move the two folders in there to the source/ dir, and add them to exclude_patterns so Sphinx ignores them.

Hope this makes sense, i wanted to give you a thoughtful response but i have to run out the door x0. I think the problem you were encountering is from something going wrong in your configuration for Doxygen. Not really sure because I couldn't run a sample.

P.S. if you're using GitHub pages, you can get Travis CI to automatically update things. Tracking the generated docs files like you are right now in (from exhale or vanilla doxygen) is inadvisable...you're going to create a massive diff history on your repo like that over time, making it annoying to clone ;)

from exhale.

Time0o avatar Time0o commented on September 22, 2024

Thanks for the detailed response. I think you are right, my documentation build is very messy atm. It's good to know that this is not a general problem with exhale, I will try to clean things up in my project when I have the time and I assume the problem will just solve itself.

from exhale.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.