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

incremental builds of manual broken #360

Closed
prjemian opened this issue Jan 3, 2015 · 11 comments
Closed

incremental builds of manual broken #360

prjemian opened this issue Jan 3, 2015 · 11 comments
Assignees

Comments

@prjemian
Copy link
Contributor

prjemian commented Jan 3, 2015

Since converting to cmake, incremental builds of the manual are now broken. This capability should be restored.

@prjemian
Copy link
Contributor Author

prjemian commented Jan 7, 2015

did not work for me (on Linux)

mkdir build
cd build
cmake ..
make
# now edit contributed/NXcanSAS.nxdl.xml, make a change in one of the <doc> elements
make
firefox manual/build/html/classes/contributed_definitions/NXcanSAS.html

This shows the original documentation, without change to the edited element.

Usually, I edit/test using Windows and run a Sphinx build within a shell from eclipse. Not sure how this will work with cmake.

@FreddieAkeroyd
Copy link
Member

OK, the rst is rebuild from the NXDL but there is no dependency of the finished manual on the rst and so CMake does not re-run sphinx. Did you add explicit dependencies previously with the Makefiles?

On windows, you could run cmake with a different generator (mingw or nmake) and then execute a "make" from eclipse, or I think CMake can generate eclipse project files too.

@prjemian
Copy link
Contributor Author

Yes. That was done with /manual/source/classes/{base_classes,applications,contributed_definitions}Makefile

@FreddieAkeroyd FreddieAkeroyd self-assigned this Jan 16, 2015
@prjemian
Copy link
Contributor Author

Not sure I get the cmake syntax yet. Perhaps this in each /manual/source/classes/{base_classes,applications,contributed_definitions}/CMakeLists.txt file, inside the foreach(VAR ${SRCs}) loop:
add_custom_target(${RST} DEPENDS ${SRCDIR}/${VAR})

or is this already included at this line?
DEPENDS ${SRCDIR}/${VAR} ${NXDL2RST}

@prjemian
Copy link
Contributor Author

That did not fix it. Following the test procedure above (editing the NXcanSAS NXDL), the /build/manual/source/classes/contributed_definitions/NXcanSAS.rst file is properly rebuilt but Sphinx does not rebuild the associated HTML page.

Also, I find the /build/manual/source/classes/contributed_definitions/NXcanSAS.nxdl.xml (the copy in the Sphinx .rst source directory) has the original content from the time of the "cmake .." step.

@prjemian
Copy link
Contributor Author

Also, it seems that ALL the NXDL files are being rebuilt into .rst files for every incremental build. This is not ready yet.

@prjemian
Copy link
Contributor Author

Even though the .rst files are rebuilt, Sphinx does not get the triggers to rebuild the PDF and HTML.

There are several things wrong with the cmake configuration. Still debating whether to regress and pursue issue #391 or try to fix the cmake configuration, which is the long-term plan.

@prjemian
Copy link
Contributor Author

When manual/build is removed, Sphinx triggers to rebuild the manual. That's a starting point.

@eugenwintersberger
Copy link
Contributor

Hi Pete. As I mentioned in the last telecon: I will start to work on this during easter holidays I as I am pretty occupied with other stuff right now. I guess I know where the problem is.
Just one question: when you are using sphinx in a stand alone environment (without make, cmake, etc.) - does it perform incremental builds?

@prjemian
Copy link
Contributor Author

Sphinx uses make (Unix make, Windows make.bat). Incremental builds are
routine. This was a major improvement from docbook, which did not support
incremental builds.
On Mar 12, 2015 1:27 AM, "Eugen Wintersberger" notifications@github.com
wrote:

Hi Pete. As I mentioned in the last telecon: I will start to work on this
during easter holidays I as I am pretty occupied with other stuff right
now. I guess I know where the problem is.
Just one question: when you are using sphinx in a stand alone environment
(without make, cmake, etc.) - does it perform incremental builds?


Reply to this email directly or view it on GitHub
#360 (comment)
.

@eugenwintersberger
Copy link
Contributor

This is fixed with merging the cmake_build branch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants