Revision: 40516
http://brlcad.svn.sourceforge.net/brlcad/?rev=40516&view=rev
Author: starseeker
Date: 2010-09-09 15:40:28 +0000 (Thu, 09 Sep 2010)
Log Message:
-----------
Hook in more of the Docbook build - add more options, get basic PDF build
working (need to enable more than articles, just a test)
Modified Paths:
--------------
brlcad/branches/cmake/CMakeLists.txt
brlcad/branches/cmake/doc/docbook/CMakeLists.txt
brlcad/branches/cmake/doc/docbook/articles/en/CMakeLists.txt
brlcad/branches/cmake/doc/docbook/fop.xconf.in
brlcad/branches/cmake/src/tclscripts/mged/CMakeLists.txt
Added Paths:
-----------
brlcad/branches/cmake/misc/CMake/FindFOP.cmake
Modified: brlcad/branches/cmake/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/CMakeLists.txt 2010-09-09 14:58:47 UTC (rev
40515)
+++ brlcad/branches/cmake/CMakeLists.txt 2010-09-09 15:40:28 UTC (rev
40516)
@@ -432,6 +432,12 @@
INCLUDE(${BRLCAD_CMAKE_DIR}/FindGL.cmake)
endif (BRLCAD-ENABLE_OPENGL)
+OPTION(BRLCAD-BUILD_EXTRADOCS "Build Docbook documentation" ON)
+IF(BRLCAD-BUILD_EXTRADOCS)
+ OPTION(BRLCAD-BUILD_EXTRADOCS_PDF "Build PDF output from Docbook
documentation" ON)
+ OPTION(BRLCAD-BUILD_EXTRADOCS_PDF_MAN "Build PDF output from Docbook
documentation for man pages" ${BRLCAD-BUILD_EXTRADOCS_PDF})
+ENDIF(BRLCAD-BUILD_EXTRADOCS)
+
INCLUDE (CheckLibraryExists)
# This may be overkill - does CHECK_LIBRARY_EXISTS usably set
@@ -1127,6 +1133,15 @@
MESSAGE("Extra doc build requested, but xsltproc not found -
disabling.")
SET(BRLCAD-BUILD_EXTRADOCS OFF)
ENDIF(NOT XSLTPROC_EXEC)
+ IF(BRLCAD-BUILD_EXTRADOCS_PDF)
+ INCLUDE(${BRLCAD_CMAKE_DIR}/FindFOP.cmake)
+ IF(NOT XSLTPROC_EXEC)
+ MESSAGE("Extra doc PDF build requested, but Apache FOP not
found - disabling.")
+ SET(BRLCAD-BUILD_EXTRADOCS_PDF OFF)
+ SET(BRLCAD-BUILD_EXTRADOCS_PDF_MAN OFF)
+ ENDIF(NOT XSLTPROC_EXEC)
+
+ ENDIF(BRLCAD-BUILD_EXTRADOCS_PDF)
endif (BRLCAD-BUILD_EXTRADOCS)
@@ -1312,11 +1327,11 @@
SET(BRLCAD-BUILD_RTSERVER_ONLY_LABEL "Only build librtserver ")
SET(BRLCAD-BUILD_GEOMETRY_LABEL "Install example geometry models ")
if (BRLCAD-BUILD_EXTRADOCS)
- if (BRLCAD-BUILD_PDF_DOCS)
+ if (BRLCAD-BUILD_EXTRADOCS_PDF)
set(BRLCAD-BUILD_DOCBUILD_MSG "ON (man/html/pdf)")
- else (BRLCAD-BUILD_PDF_DOCS)
+ else(BRLCAD-BUILD_EXTRADOCS_PDF)
set(BRLCAD-BUILD_DOCBUILD_MSG "ON (man/html only)")
- endif (BRLCAD-BUILD_PDF_DOCS)
+ endif(BRLCAD-BUILD_EXTRADOCS_PDF)
else (BRLCAD-BUILD_EXTRADOCS)
set(BRLCAD-BUILD_DOCBUILD_MSG "OFF")
endif (BRLCAD-BUILD_EXTRADOCS)
Modified: brlcad/branches/cmake/doc/docbook/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/doc/docbook/CMakeLists.txt 2010-09-09 14:58:47 UTC
(rev 40515)
+++ brlcad/branches/cmake/doc/docbook/CMakeLists.txt 2010-09-09 15:40:28 UTC
(rev 40516)
@@ -1,3 +1,5 @@
+configure_file(${CMAKE_SOURCE_DIR}/doc/docbook/fop.xconf.in
${CMAKE_BINARY_DIR}/doc/docbook/fop.xconf)
+
SET(XSLTPROC_FLAGS
-nonet
-xinclude
@@ -35,6 +37,28 @@
ENDFOREACH(filename ${${xml_files}})
ENDMACRO(DOCBOOK_TO_MAN targetname_suffix srcfile outfile targetdir)
+MACRO(DOCBOOK_TO_PDF targetname_suffix xml_files targetdir)
+ FOREACH(filename ${${xml_files}})
+ STRING(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" filename_root
"${filename}")
+ SET(tmp_fo_file ${CMAKE_CURRENT_BINARY_DIR}/${filename_root}.fo)
+ SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/${filename_root}.pdf)
+ SET(targetname ${filename_root}_${targetname_suffix}_pdf)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${tmp_fo_file}
+ COMMAND XML_CATALOG_FILES=${XML_CATALOG_FILES}
${XSLTPROC_EXEC} ${XSLTPROC_FLAGS} -o ${tmp_fo_file} ${XSL_FO_STYLESHEET}
${CMAKE_CURRENT_SOURCE_DIR}/${filename}
+ )
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${outfile}
+ COMMAND ${APACHE_FOP} -c
${CMAKE_BINARY_DIR}/doc/docbook/fop.xconf ${tmp_fo_file} -pdf ${outfile}
+ DEPENDS ${tmp_fo_file}
+ )
+ ADD_CUSTOM_TARGET(${targetname} ALL DEPENDS ${outfile})
+ INSTALL(FILES ${outfile} DESTINATION ${targetdir})
+ ENDFOREACH(filename ${${xml_files}})
+ENDMACRO(DOCBOOK_TO_PDF targetname_suffix srcfile outfile targetdir)
+
+
+
ADD_SUBDIRECTORY(articles/en)
ADD_SUBDIRECTORY(books/en)
ADD_SUBDIRECTORY(lessons/en)
Modified: brlcad/branches/cmake/doc/docbook/articles/en/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/doc/docbook/articles/en/CMakeLists.txt
2010-09-09 14:58:47 UTC (rev 40515)
+++ brlcad/branches/cmake/doc/docbook/articles/en/CMakeLists.txt
2010-09-09 15:40:28 UTC (rev 40516)
@@ -103,3 +103,7 @@
DOCBOOK_TO_HTML(article docbook_articles_EN
${BRLCAD_INSTALL_DATA_DIR}/html/articles/en)
INSTALL(FILES ${docbook_articles_EN_IMAGES} DESTINATION
${BRLCAD_INSTALL_DATA_DIR}/html/articles/en/images)
+
+IF(BRLCAD-BUILD_EXTRADOCS_PDF)
+DOCBOOK_TO_PDF(article docbook_articles_EN
${BRLCAD_INSTALL_DATA_DIR}/pdf/articles/en)
+ENDIF(BRLCAD-BUILD_EXTRADOCS_PDF)
Modified: brlcad/branches/cmake/doc/docbook/fop.xconf.in
===================================================================
--- brlcad/branches/cmake/doc/docbook/fop.xconf.in 2010-09-09 14:58:47 UTC
(rev 40515)
+++ brlcad/branches/cmake/doc/docbook/fop.xconf.in 2010-09-09 15:40:28 UTC
(rev 40516)
@@ -10,6 +10,6 @@
<!-- the base path below works. This referencing is needed so -->
<!-- that xincluded sections of documents referenced across -->
<!-- multiple directories can still find their target images. -->
- <base>@srcdir@/system/man1</base>
+ <base>@CMAKE_SOURCE_DIR@/doc/docbook/system/man1</base>
</fop>
Added: brlcad/branches/cmake/misc/CMake/FindFOP.cmake
===================================================================
--- brlcad/branches/cmake/misc/CMake/FindFOP.cmake
(rev 0)
+++ brlcad/branches/cmake/misc/CMake/FindFOP.cmake 2010-09-09 15:40:28 UTC
(rev 40516)
@@ -0,0 +1,10 @@
+# - Find Apache FOP (pdf generator)
+#
+# The following variables are set:
+#
+# APACHE_FOP
+
+FIND_PROGRAM(APACHE_FOP fop DOC "path to the exec script for Apache FOP")
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(FOP DEFAULT_MSG APACHE_FOP)
Property changes on: brlcad/branches/cmake/misc/CMake/FindFOP.cmake
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: svn:eol-style
+ native
Modified: brlcad/branches/cmake/src/tclscripts/mged/CMakeLists.txt
===================================================================
--- brlcad/branches/cmake/src/tclscripts/mged/CMakeLists.txt 2010-09-09
14:58:47 UTC (rev 40515)
+++ brlcad/branches/cmake/src/tclscripts/mged/CMakeLists.txt 2010-09-09
15:40:28 UTC (rev 40516)
@@ -1,8 +1,8 @@
-IF(BRLCAD-ENABLE_BUILD_DOCS)
+IF(BRLCAD-BUILD_EXTRADOCS)
SET(mgedman_TCLSCRIPTS
man.tcl
)
-ENDIF(BRLCAD-ENABLE_BUILD_DOCS)
+ENDIF(BRLCAD-BUILD_EXTRADOCS)
SET(mged_TCLSCRIPTS
${mgedman_TCLSCRIPTS}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:
Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits