Thread: [brlcad-commits] SF.net SVN: brlcad:[49637] brlcad/trunk/misc/CMake/DocBook.cmake
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: <sta...@us...> - 2012-03-07 01:07:18
|
Revision: 49637 http://brlcad.svn.sourceforge.net/brlcad/?rev=49637&view=rev Author: starseeker Date: 2012-03-07 01:07:11 +0000 (Wed, 07 Mar 2012) Log Message: ----------- Don't need the mannum there Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-03-06 23:17:54 UTC (rev 49636) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-03-07 01:07:11 UTC (rev 49637) @@ -164,7 +164,7 @@ foreach(filename ${${xml_files}}) string(REGEX REPLACE "([0-9a-z_-]*).xml" "\\1" filename_root "${filename}") set(outfile ${CMAKE_BINARY_DIR}/${DATA_DIR}/${targetdir}/${filename_root}.${manext}) - set(targetname ${filename_root}_${targetname_suffix}_man${mannum}) + set(targetname ${filename_root}_${targetname_suffix}_man) set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${targetname}.cmake) set(CURRENT_XSL_STYLESHEET ${XSL_MAN_STYLESHEET}) configure_file(${BRLCAD_SOURCE_DIR}/misc/CMake/${XSLT_EXECUTABLE}.cmake.in ${scriptfile} @ONLY) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2012-03-15 00:06:33
|
Revision: 49707 http://brlcad.svn.sourceforge.net/brlcad/?rev=49707&view=rev Author: starseeker Date: 2012-03-15 00:06:27 +0000 (Thu, 15 Mar 2012) Log Message: ----------- Flesh out logic for generating fully qualified cmake scripts while still using configuration-flexible paths for build targets when doing DocBook building. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-03-15 00:04:57 UTC (rev 49706) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-03-15 00:06:27 UTC (rev 49707) @@ -95,11 +95,27 @@ set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${targetname}.cmake) configure_file(${BRLCAD_SOURCE_DIR}/misc/CMake/${executable}.cmake.in ${scriptfile} @ONLY) else(NOT CMAKE_CONFIGURATION_TYPES) + # Multi-configuration is more complex - for each configuration, the + # standard variables must reflect the final directory (not the CMAKE_CFG_INTDIR + # value used by the build tool) but after generating the config specific + # script the values must be restored to the values using CMAKE_CFG_INTDIR + # for the generation of flexible build targets. foreach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES}) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CFG_TYPE}) file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${CFG_TYPE}/${DATA_DIR}/${targetdir}) + # Temporarily store flexible values + string(TOUPPER "${executable}" exec_upper) + set(outfile_tmp "${outfile}") + set(exec_tmp "${${exec_upper}_EXECUTABLE}") + # Generate final paths for configure_file + string(REPLACE "${CMAKE_CFG_INTDIR}" "${CFG_TYPE}" outfile "${outfile}") + string(REPLACE "${CMAKE_CFG_INTDIR}" "${CFG_TYPE}" ${exec_upper}_EXECUTABLE "${${exec_upper}_EXECUTABLE}") + string(REPLACE "${CMAKE_CFG_INTDIR}" "${CFG_TYPE}" executable "${executable}") set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${CFG_TYPE}/${targetname}.cmake) configure_file(${BRLCAD_SOURCE_DIR}/misc/CMake/${executable}.cmake.in ${scriptfile} @ONLY) + # Restore flexible values + set(outfile "${outfile_tmp}") + set(${exec_upper}_EXECUTABLE "${exec_tmp}") endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES}) set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${targetname}.cmake) endif(NOT CMAKE_CONFIGURATION_TYPES) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2012-04-28 19:48:25
|
Revision: 50358 http://brlcad.svn.sourceforge.net/brlcad/?rev=50358&view=rev Author: starseeker Date: 2012-04-28 19:48:18 +0000 (Sat, 28 Apr 2012) Log Message: ----------- Try to make input paths more 'DocBook friendly' Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-04-28 18:26:50 UTC (rev 50357) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-04-28 19:48:18 UTC (rev 50358) @@ -79,12 +79,19 @@ endif(NOT EXISTS ${BRLCAD_SOURCE_DIR}/misc/CMake/${PDF_CONF_EXECUTABLE}.cmake.in) endif(NOT DEFINED PDF_CONV_EXECUTABLE) +# Get our root path if(CMAKE_CONFIGURATION_TYPES) set(bin_root "${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}") else(CMAKE_CONFIGURATION_TYPES) set(bin_root "${CMAKE_BINARY_DIR}") endif(CMAKE_CONFIGURATION_TYPES) +# xsltproc is finicky about slashes in names - do some +# sanity scrubbing of the full root path string in +# preparation for generating DocBook scripts +string(REGEX REPLACE "/+" "/" bin_root "${bin_root}") +string(REGEX REPLACE "/$" "" bin_root "${bin_root}") + # Handle script generation in both single and multi configuration setups. While we're at # it, this is a good place to make sure all the directories we'll be needing exist # (xsltproc needs the directory to already exist when multiple docs are building in This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2012-05-09 15:43:01
|
Revision: 50476 http://brlcad.svn.sourceforge.net/brlcad/?rev=50476&view=rev Author: starseeker Date: 2012-05-09 15:42:49 +0000 (Wed, 09 May 2012) Log Message: ----------- Add some quotes to DOCBOOK_EXTRA_OUTPUT Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-05-09 13:28:30 UTC (rev 50475) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-05-09 15:42:49 UTC (rev 50476) @@ -291,9 +291,9 @@ # we need to get those files too. macro(DOCBOOK_EXTRA_OUTPUT output_files targetdir) foreach(filename ${${output_files}}) - set(outfile ${bin_root}/${DATA_DIR}/${targetdir}/${filename}) - install(FILES ${outfile} DESTINATION ${targetdir}) - set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${outfile}) + set(outfile "${bin_root}/${DATA_DIR}/${targetdir}/${filename}") + install(FILES "${outfile}" DESTINATION ${targetdir}) + set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${outfile}") endforeach(filename ${${output_files}}) endmacro(DOCBOOK_EXTRA_OUTPUT ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2012-08-15 17:58:23
|
Revision: 52037 http://brlcad.svn.sourceforge.net/brlcad/?rev=52037&view=rev Author: carlmoore Date: 2012-08-15 17:58:17 +0000 (Wed, 15 Aug 2012) Log Message: ----------- remove trailing blanks/tabs Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-08-15 17:55:58 UTC (rev 52036) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-08-15 17:58:17 UTC (rev 52037) @@ -37,14 +37,14 @@ # In principle, DocBook conversion and validation can be accomplished # with multiple programs. BRL-CAD's CMake logic uses variables to # hold the "active" tools for each conversion operation, but will -# set defaults if the user does not manually set them. +# set defaults if the user does not manually set them. # If a user wishes to use their own validation and/or conversion -# tools, they can set the following variables to their executable +# tools, they can set the following variables to their executable # names and create <exec_name>.cmake.in files in misc/CMake. To work, # the cmake.in files will need to produce the same validity "stamp" -# files and fatal errors as the default tools upon success or failure. -# For a worked example, see rnv.cmake.in - to test it, install rnv from +# files and fatal errors as the default tools upon success or failure. +# For a worked example, see rnv.cmake.in - to test it, install rnv from # http://sourceforge.net/projects/rnv/ and configure BRL-CAD as follows: # # cmake .. -DBRLCAD_EXTRADOCS_VALIDATE=ON -DVALIDATE_EXECUTABLE=rnv @@ -61,7 +61,7 @@ endif(NOT EXISTS ${BRLCAD_SOURCE_DIR}/misc/CMake/${VALIDATE_EXECUTABLE}.cmake.in) endif(NOT DEFINED VALIDATE_EXECUTABLE) -# Handle default exec and sanity checking for XSLT +# Handle default exec and sanity checking for XSLT if(NOT DEFINED XSLT_EXECUTABLE) set(XSLT_EXECUTABLE "xsltproc") else(NOT DEFINED XSLT_EXECUTABLE) @@ -87,7 +87,7 @@ endif(CMAKE_CONFIGURATION_TYPES) # xsltproc is finicky about slashes in names - do some -# sanity scrubbing of the full root path string in +# sanity scrubbing of the full root path string in # preparation for generating DocBook scripts string(REGEX REPLACE "/+" "/" bin_root "${bin_root}") string(REGEX REPLACE "/$" "" bin_root "${bin_root}") @@ -127,9 +127,9 @@ endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES}) set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${targetname}.cmake) endif(NOT CMAKE_CONFIGURATION_TYPES OR "${CMAKE_CFG_INTDIR}" STREQUAL ".") -endmacro(DB_SCRIPT) +endmacro(DB_SCRIPT) -# Macro to define individual validation build targets and generate the script files +# Macro to define individual validation build targets and generate the script files # used to run the validation step during build macro(DB_VALIDATE_TARGET targetname targetdir filename_root) # Man page root names are not unique (and other documents' root names are not guaranteed to be @@ -140,7 +140,7 @@ set(validate_target ${root2}_${root1}_${filename_root}_validate) set(db_outfile ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) # If we're already set up, no need to do it twice (CMake doesn't like it anyway) - # Handle this by getting a TARGET_NAME property on the target that we set when + # Handle this by getting a TARGET_NAME property on the target that we set when # creating the target. If the target doesn't exist yet, the get returns NOTFOUND # and we know to create the target. Otherwise, the target exists and this xml # file has handled - skip it. @@ -173,8 +173,8 @@ foreach(extra_out ${EXTRA_OUTPUTS}) set(EXTRAS ${EXTRAS} ${bin_root}/${DOC_DIR}/${targetdir}/${extra_out}) endforeach(extra_out ${EXTRA_OUTPUTS}) - - # Generate the script that will be used to run the XSLT executable + + # Generate the script that will be used to run the XSLT executable DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") if(BRLCAD_EXTRADOCS_VALIDATE) @@ -227,7 +227,7 @@ foreach(extra_out ${EXTRA_OUTPUTS}) set(EXTRAS ${EXTRAS} ${bin_root}/${MAN_DIR}/${targetdir}/${extra_out}) endforeach(extra_out ${EXTRA_OUTPUTS}) - + # Generate the script that will be used to run the XSLT executable DB_SCRIPT("${targetname}" "${MAN_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") @@ -315,7 +315,7 @@ install(FILES ${outfile} DESTINATION ${DOC_DIR}/${targetdir}) get_property(BRLCAD_EXTRADOCS_PDF_TARGETS GLOBAL PROPERTY BRLCAD_EXTRADOCS_PDF_TARGETS) set(BRLCAD_EXTRADOCS_PDF_TARGETS ${BRLCAD_EXTRADOCS_PDF_TARGETS} ${targetname}) - set_property(GLOBAL PROPERTY BRLCAD_EXTRADOCS_PDF_TARGETS "${BRLCAD_EXTRADOCS_PDF_TARGETS}") + set_property(GLOBAL PROPERTY BRLCAD_EXTRADOCS_PDF_TARGETS "${BRLCAD_EXTRADOCS_PDF_TARGETS}") endforeach(filename ${${xml_files}}) endif(BRLCAD_EXTRADOCS_PDF) CMAKEFILES(${${xml_files}}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2012-09-25 16:36:27
|
Revision: 52539 http://brlcad.svn.sourceforge.net/brlcad/?rev=52539&view=rev Author: carlmoore Date: 2012-09-25 16:36:21 +0000 (Tue, 25 Sep 2012) Log Message: ----------- fix spelling Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-09-25 16:35:09 UTC (rev 52538) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-09-25 16:36:21 UTC (rev 52539) @@ -212,7 +212,7 @@ CMAKEFILES(${${xml_files}}) endmacro(DOCBOOK_TO_HTML targetname_suffix srcfile outfile targetdir deps_list) -# This macro produces Unix-syle manual or "man" pages +# This macro produces Unix-style manual or "man" pages macro(DOCBOOK_TO_MAN targetname_suffix xml_files mannum manext targetdir deps_list) if(BRLCAD_EXTRADOCS_MAN) foreach(filename ${${xml_files}}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2012-11-27 16:47:25
|
Revision: 53833 http://brlcad.svn.sourceforge.net/brlcad/?rev=53833&view=rev Author: starseeker Date: 2012-11-27 16:47:19 +0000 (Tue, 27 Nov 2012) Log Message: ----------- Fix DB_VALIDATE_TARGET calls. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-11-27 16:22:45 UTC (rev 53832) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-11-27 16:47:19 UTC (rev 53833) @@ -232,7 +232,7 @@ DB_SCRIPT("${targetname}" "${MAN_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") if(BRLCAD_EXTRADOCS_VALIDATE) - DB_VALIDATE_TARGET(${targetname} ${filename_root}) + DB_VALIDATE_TARGET(${targetname} ${targetdir} ${filename_root}) add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} @@ -285,7 +285,7 @@ set(CURRENT_XSL_STYLESHEET ${XSL_FO_STYLESHEET}) DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") if(BRLCAD_EXTRADOCS_VALIDATE) - DB_VALIDATE_TARGET(${targetname} ${filename_root}) + DB_VALIDATE_TARGET(${targetname} ${targetdir} ${filename_root}) add_custom_command( OUTPUT ${outfile} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2012-11-27 23:14:11
|
Revision: 53841 http://brlcad.svn.sourceforge.net/brlcad/?rev=53841&view=rev Author: starseeker Date: 2012-11-27 23:14:04 +0000 (Tue, 27 Nov 2012) Log Message: ----------- Grr - ordering issues with script generation in DocBook targets. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-11-27 21:53:29 UTC (rev 53840) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-11-27 23:14:04 UTC (rev 53841) @@ -174,17 +174,22 @@ set(EXTRAS ${EXTRAS} ${bin_root}/${DOC_DIR}/${targetdir}/${extra_out}) endforeach(extra_out ${EXTRA_OUTPUTS}) - # Generate the script that will be used to run the XSLT executable - DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") - if(BRLCAD_EXTRADOCS_VALIDATE) DB_VALIDATE_TARGET(${targetname} ${targetdir} ${filename_root}) + + # Generate the script that will be used to run the XSLT executable + DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") + add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${filename} ${db_outfile} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${XSL_XHTML_STYLESHEET} ${deps_list} ) else(BRLCAD_EXTRADOCS_VALIDATE) + + # Generate the script that will be used to run the XSLT executable + DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") + add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} @@ -228,17 +233,22 @@ set(EXTRAS ${EXTRAS} ${bin_root}/${MAN_DIR}/${targetdir}/${extra_out}) endforeach(extra_out ${EXTRA_OUTPUTS}) - # Generate the script that will be used to run the XSLT executable - DB_SCRIPT("${targetname}" "${MAN_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") - if(BRLCAD_EXTRADOCS_VALIDATE) DB_VALIDATE_TARGET(${targetname} ${targetdir} ${filename_root}) + + # Generate the script that will be used to run the XSLT executable + DB_SCRIPT("${targetname}" "${MAN_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") + add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${filename} ${db_outfile} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${XSL_MAN_STYLESHEET} ${deps_list} ) else(BRLCAD_EXTRADOCS_VALIDATE) + + # Generate the script that will be used to run the XSLT executable + DB_SCRIPT("${targetname}" "${MAN_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") + add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} @@ -283,15 +293,16 @@ endif(CMAKE_CONFIGURATION_TYPES) set(fo_outfile ${outfile}) set(CURRENT_XSL_STYLESHEET ${XSL_FO_STYLESHEET}) - DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") if(BRLCAD_EXTRADOCS_VALIDATE) DB_VALIDATE_TARGET(${targetname} ${targetdir} ${filename_root}) + DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") add_custom_command( OUTPUT ${outfile} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${filename} ${db_outfile} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${XSL_FO_STYLESHEET} ${deps_list} ) else(BRLCAD_EXTRADOCS_VALIDATE) + DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") add_custom_command( OUTPUT ${outfile} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2012-12-07 19:34:13
|
Revision: 54025 http://brlcad.svn.sourceforge.net/brlcad/?rev=54025&view=rev Author: carlmoore Date: 2012-12-07 19:34:04 +0000 (Fri, 07 Dec 2012) Log Message: ----------- remove trailing blank/tab, and fix spelling Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2012-12-07 18:30:36 UTC (rev 54024) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2012-12-07 19:34:04 UTC (rev 54025) @@ -136,7 +136,7 @@ macro(DB_VALIDATE_TARGET targetdir filename filename_root) - # Regardless of whether the command is defined or not, we'll need xml_valid_stamp set + # Regardless of whether the command is defined or not, we'll need xml_valid_stamp set set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) # If we have already added a validation command for this file, don't add another one. Otherwise, # proceed to add a new custom command @@ -203,7 +203,7 @@ # If multiple outputs are being generated from the same file, make sure # one of them is run to completion before the others to avoid multiple - # triggerings of the XML valiation command. + # triggerings of the XML validation command. get_property(1ST_TARGET SOURCE ${filename} PROPERTY 1ST_TARGET) if(1ST_TARGET) add_dependencies(${targetname} ${1ST_TARGET}) @@ -265,7 +265,7 @@ # If multiple outputs are being generated from the same file, make sure # one of them is run to completion before the others to avoid multiple - # triggerings of the XML valiation command. + # triggerings of the XML validation command. get_property(1ST_TARGET SOURCE ${filename} PROPERTY 1ST_TARGET) if(1ST_TARGET) add_dependencies(${targetname} ${1ST_TARGET}) @@ -325,7 +325,7 @@ # If multiple outputs are being generated from the same file, make sure # one of them is run to completion before the others to avoid multiple - # triggerings of the XML valiation command. + # triggerings of the XML validation command. get_property(1ST_TARGET SOURCE ${filename} PROPERTY 1ST_TARGET) if(1ST_TARGET) add_dependencies(${targetname} ${1ST_TARGET}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-01-07 21:03:13
|
Revision: 66812 http://sourceforge.net/p/brlcad/code/66812 Author: starseeker Date: 2016-01-07 21:03:10 +0000 (Thu, 07 Jan 2016) Log Message: ----------- stylesheet files shouldn't be in depends lists, since they're not produced by build targets. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-07 18:01:17 UTC (rev 66811) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-07 21:03:10 UTC (rev 66812) @@ -193,7 +193,7 @@ add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${XSL_XHTML_STYLESHEET} ${deps_list} + DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} ) add_custom_target(${targetname} ALL DEPENDS ${outfile}) set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/HTML") @@ -260,7 +260,7 @@ add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${XSL_PHP_STYLESHEET} ${deps_list} + DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} ) add_custom_target(${targetname} ALL DEPENDS ${outfile}) set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/HTML") @@ -326,7 +326,7 @@ add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${XSL_PPT_STYLESHEET} ${deps_list} + DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} ) add_custom_target(${targetname} ALL DEPENDS ${outfile}) set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/HTML") @@ -393,7 +393,7 @@ add_custom_command( OUTPUT ${outfile} ${EXTRAS} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${XSL_MAN_STYLESHEET} ${deps_list} + DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} ) add_custom_target(${targetname} ALL DEPENDS ${outfile}) set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/MAN") @@ -458,7 +458,7 @@ add_custom_command( OUTPUT ${outfile} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${XSL_FO_STYLESHEET} ${deps_list} + DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} ) set(targetname ${filename_root}_${targetname_suffix}_pdf) set(outfile ${bin_root}/${DOC_DIR}/${targetdir}/${filename_root}.pdf) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-01-08 17:19:00
|
Revision: 66821 http://sourceforge.net/p/brlcad/code/66821 Author: starseeker Date: 2016-01-08 17:18:57 +0000 (Fri, 08 Jan 2016) Log Message: ----------- ws Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-07 23:15:27 UTC (rev 66820) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-08 17:18:57 UTC (rev 66821) @@ -200,7 +200,7 @@ # CMAKE_CFG_INTDIR can't be used in installation rules: # http://www.cmake.org/Bug/view.php?id=5747 if(CMAKE_CONFIGURATION_TYPES) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") if(EXTRAS) string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") endif(EXTRAS) @@ -237,40 +237,40 @@ set(targetname ${filename_root}_${targetname_suffix}_php) set(CURRENT_XSL_STYLESHEET ${XSL_PHP_STYLESHEET}) if (EXISTS ${filename}) - set(full_path_filename ${filename}) + set(full_path_filename ${filename}) else (EXISTS ${filename}) - set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) + set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) endif (EXISTS ${filename}) # If we have extra outputs, need to handle them now set(EXTRAS) get_property(EXTRA_OUTPUTS SOURCE ${filename} PROPERTY EXTRA_PHP_OUTPUTS) foreach(extra_out ${EXTRA_OUTPUTS}) - set(EXTRAS ${EXTRAS} ${bin_root}/${DOC_DIR}/${targetdir}/${extra_out}) + set(EXTRAS ${EXTRAS} ${bin_root}/${DOC_DIR}/${targetdir}/${extra_out}) endforeach(extra_out ${EXTRA_OUTPUTS}) if(BRLCAD_EXTRADOCS_VALIDATE) - DB_VALIDATE_TARGET(${targetdir} "${filename}" ${filename_root}) + DB_VALIDATE_TARGET(${targetdir} "${filename}" ${filename_root}) endif(BRLCAD_EXTRADOCS_VALIDATE) # Generate the script that will be used to run the XSLT executable DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") add_custom_command( - OUTPUT ${outfile} ${EXTRAS} - COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} - ) + OUTPUT ${outfile} ${EXTRAS} + COMMAND ${CMAKE_COMMAND} -P ${scriptfile} + DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} + ) add_custom_target(${targetname} ALL DEPENDS ${outfile}) set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/HTML") # CMAKE_CFG_INTDIR can't be used in installation rules: # http://www.cmake.org/Bug/view.php?id=5747 if(CMAKE_CONFIGURATION_TYPES) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") - if(EXTRAS) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") - endif(EXTRAS) + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") + if(EXTRAS) + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") + endif(EXTRAS) endif(CMAKE_CONFIGURATION_TYPES) install(FILES ${outfile} ${EXTRAS} DESTINATION ${DOC_DIR}/${targetdir}) @@ -283,9 +283,9 @@ # triggerings of the XML validation command. get_property(1ST_TARGET SOURCE ${filename} PROPERTY 1ST_TARGET) if(1ST_TARGET) - add_dependencies(${targetname} ${1ST_TARGET}) + add_dependencies(${targetname} ${1ST_TARGET}) else(1ST_TARGET) - set_property(SOURCE ${filename} PROPERTY 1ST_TARGET "${targetname}") + set_property(SOURCE ${filename} PROPERTY 1ST_TARGET "${targetname}") endif(1ST_TARGET) endforeach(filename ${${xml_files}}) @@ -303,40 +303,40 @@ set(targetname ${filename_root}_${targetname_suffix}_ppt) set(CURRENT_XSL_STYLESHEET ${XSL_PPT_STYLESHEET}) if (EXISTS ${filename}) - set(full_path_filename ${filename}) + set(full_path_filename ${filename}) else (EXISTS ${filename}) - set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) + set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) endif (EXISTS ${filename}) # If we have extra outputs, need to handle them now set(EXTRAS) get_property(EXTRA_OUTPUTS SOURCE ${filename} PROPERTY EXTRA_PPT_OUTPUTS) foreach(extra_out ${EXTRA_OUTPUTS}) - set(EXTRAS ${EXTRAS} ${bin_root}/${DOC_DIR}/${targetdir}/${extra_out}) + set(EXTRAS ${EXTRAS} ${bin_root}/${DOC_DIR}/${targetdir}/${extra_out}) endforeach(extra_out ${EXTRA_OUTPUTS}) if(BRLCAD_EXTRADOCS_VALIDATE) - DB_VALIDATE_TARGET(${targetdir} "${filename}" ${filename_root}) + DB_VALIDATE_TARGET(${targetdir} "${filename}" ${filename_root}) endif(BRLCAD_EXTRADOCS_VALIDATE) # Generate the script that will be used to run the XSLT executable DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") add_custom_command( - OUTPUT ${outfile} ${EXTRAS} - COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} - ) + OUTPUT ${outfile} ${EXTRAS} + COMMAND ${CMAKE_COMMAND} -P ${scriptfile} + DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} + ) add_custom_target(${targetname} ALL DEPENDS ${outfile}) set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/HTML") # CMAKE_CFG_INTDIR can't be used in installation rules: # http://www.cmake.org/Bug/view.php?id=5747 if(CMAKE_CONFIGURATION_TYPES) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") - if(EXTRAS) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") - endif(EXTRAS) + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") + if(EXTRAS) + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") + endif(EXTRAS) endif(CMAKE_CONFIGURATION_TYPES) install(FILES ${outfile} ${EXTRAS} DESTINATION ${DOC_DIR}/${targetdir}) @@ -349,9 +349,9 @@ # triggerings of the XML validation command. get_property(1ST_TARGET SOURCE ${filename} PROPERTY 1ST_TARGET) if(1ST_TARGET) - add_dependencies(${targetname} ${1ST_TARGET}) + add_dependencies(${targetname} ${1ST_TARGET}) else(1ST_TARGET) - set_property(SOURCE ${filename} PROPERTY 1ST_TARGET "${targetname}") + set_property(SOURCE ${filename} PROPERTY 1ST_TARGET "${targetname}") endif(1ST_TARGET) endforeach(filename ${${xml_files}}) @@ -400,7 +400,7 @@ # CMAKE_CFG_INTDIR can't be used in installation rules: # http://www.cmake.org/Bug/view.php?id=5747 if(CMAKE_CONFIGURATION_TYPES) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") if(EXTRAS) string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") endif(EXTRAS) @@ -446,7 +446,7 @@ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}) set(outfile ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.fo) else(CMAKE_CONFIGURATION_TYPES) - set(outfile ${CMAKE_CURRENT_BINARY_DIR}/${filename_root}.fo) + set(outfile ${CMAKE_CURRENT_BINARY_DIR}/${filename_root}.fo) endif(CMAKE_CONFIGURATION_TYPES) set(fo_outfile ${outfile}) set(CURRENT_XSL_STYLESHEET ${XSL_FO_STYLESHEET}) @@ -472,7 +472,7 @@ # CMAKE_CFG_INTDIR can't be used in installation rules: # http://www.cmake.org/Bug/view.php?id=5747 if(CMAKE_CONFIGURATION_TYPES) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") endif(CMAKE_CONFIGURATION_TYPES) install(FILES ${outfile} DESTINATION ${DOC_DIR}/${targetdir}) get_property(BRLCAD_EXTRADOCS_PDF_TARGETS GLOBAL PROPERTY BRLCAD_EXTRADOCS_PDF_TARGETS) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-01-08 17:54:14
|
Revision: 66822 http://sourceforge.net/p/brlcad/code/66822 Author: starseeker Date: 2016-01-08 17:54:11 +0000 (Fri, 08 Jan 2016) Log Message: ----------- Switch a couple macros to functions, use PARENT_SCOPE to set variables defined for callers, specifically call out side effects. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-08 17:18:57 UTC (rev 66821) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-08 17:54:11 UTC (rev 66822) @@ -97,11 +97,13 @@ # (xsltproc needs the directory to already exist when multiple docs are building in # parallel.) If CMAKE_CFG_INTDIR is just the current working directory, then everything # is flat even if we are multi-config and we proceed as normal. -macro(DB_SCRIPT targetname outdir executable) +# +# Side effects: sets scriptfile in parent scope and creates files in build directory +function(DB_SCRIPT targetname outdir executable) if(NOT CMAKE_CONFIGURATION_TYPES OR "${CMAKE_CFG_INTDIR}" STREQUAL ".") file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${outdir}) - set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${targetname}.cmake) - configure_file(${BRLCAD_SOURCE_DIR}/misc/CMake/${executable}.cmake.in ${scriptfile} @ONLY) + configure_file(${BRLCAD_SOURCE_DIR}/misc/CMake/${executable}.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/${targetname}.cmake @ONLY) + set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${targetname}.cmake PARENT_SCOPE) else(NOT CMAKE_CONFIGURATION_TYPES OR "${CMAKE_CFG_INTDIR}" STREQUAL ".") # Multi-configuration is more complex - for each configuration, the # standard variables must reflect the final directory (not the CMAKE_CFG_INTDIR @@ -125,47 +127,52 @@ set(outfile "${outfile_tmp}") set(${exec_upper}_EXECUTABLE "${exec_tmp}") endforeach(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES}) - set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${targetname}.cmake) + set(scriptfile ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${targetname}.cmake PARENT_SCOPE) endif(NOT CMAKE_CONFIGURATION_TYPES OR "${CMAKE_CFG_INTDIR}" STREQUAL ".") -endmacro(DB_SCRIPT) +endfunction(DB_SCRIPT) -# Macro to define individual validation commands generate the script files -# used to run the validation step during build +# Function to define individual validation commands. In order to avoid defining +# a validation command more than once for a given file, a global list of all files +# for which validation commands have already been defined is maintained by CMake. +# +# Side effects: generates the script files used to run the validation step during build +define_property(GLOBAL PROPERTY DB_VALIDATION_FILE_LIST + BRIEF_DOCS "DocBook files to validate" + FULL_DOCS "List used to track which files already have a validation command set up.") -define_property(GLOBAL PROPERTY DB_VALIDATION_FILE_LIST BRIEF_DOCS "DocBook files to validate" FULL_DOCS "List used to track which files already have a validation command set up.") +function(DB_VALIDATE_TARGET targetdir filename filename_root) -macro(DB_VALIDATE_TARGET targetdir filename filename_root) + # Get full path name, if we don't' already have it + if (EXISTS ${filename}) + set(full_path_filename ${filename}) + else (EXISTS ${filename}) + set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) + endif (EXISTS ${filename}) - # Regardless of whether the command is defined or not, we'll need xml_valid_stamp set - set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) # If we have already added a validation command for this file, don't add another one. Otherwise, # proceed to add a new custom command get_property(DB_VALIDATION_FILE_LIST GLOBAL PROPERTY DB_VALIDATION_FILE_LIST) set(IN_LIST) - if (EXISTS ${filename}) - set(full_path_filename ${filename}) - else (EXISTS ${filename}) - set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) - endif (EXISTS ${filename}) list(FIND DB_VALIDATION_FILE_LIST "${full_path_filename}" IN_LIST) if("${IN_LIST}" STREQUAL "-1") set_property(GLOBAL APPEND PROPERTY DB_VALIDATION_FILE_LIST "${full_path_filename}") - DB_SCRIPT("${filename_root}_validate" "${DOC_DIR}/${targetdir}" "${VALIDATE_EXECUTABLE}") + set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) add_custom_command( OUTPUT ${xml_valid_stamp} COMMAND ${CMAKE_COMMAND} -P ${scriptfile} DEPENDS ${full_path_filename} ${XMLLINT_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ) endif("${IN_LIST}" STREQUAL "-1") -endmacro(DB_VALIDATE_TARGET) +endfunction(DB_VALIDATE_TARGET) + # HTML output, the format used by BRL-CAD's graphical help systems macro(DOCBOOK_TO_HTML targetname_suffix xml_files targetdir deps_list) - set(xml_valid_stamp) if(BRLCAD_EXTRADOCS_HTML) foreach(filename ${${xml_files}}) get_filename_component(filename_root "${filename}" NAME_WE) + set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) set(outfile ${bin_root}/${DOC_DIR}/${targetdir}/${filename_root}.html) set(targetname ${filename_root}_${targetname_suffix}_html) set(CURRENT_XSL_STYLESHEET ${XSL_XHTML_STYLESHEET}) @@ -229,10 +236,10 @@ # HTML output, the format used by BRL-CAD's graphical help systems macro(DOCBOOK_TO_PHP targetname_suffix xml_files targetdir deps_list) - set(xml_valid_stamp) if(BRLCAD_EXTRADOCS_PHP) foreach(filename ${${xml_files}}) get_filename_component(filename_root "${filename}" NAME_WE) + set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) set(outfile ${bin_root}/${DOC_DIR}/${targetdir}/${filename_root}.php) set(targetname ${filename_root}_${targetname_suffix}_php) set(CURRENT_XSL_STYLESHEET ${XSL_PHP_STYLESHEET}) @@ -295,10 +302,10 @@ endmacro(DOCBOOK_TO_PHP targetname_suffix srcfile outfile targetdir deps_list) macro(DOCBOOK_TO_PPT targetname_suffix xml_files targetdir deps_list) - set(xml_valid_stamp) if(BRLCAD_EXTRADOCS_PPT) foreach(filename ${${xml_files}}) get_filename_component(filename_root "${filename}" NAME_WE) + set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) set(outfile ${bin_root}/${DOC_DIR}/${targetdir}/${filename_root}_2.html) set(targetname ${filename_root}_${targetname_suffix}_ppt) set(CURRENT_XSL_STYLESHEET ${XSL_PPT_STYLESHEET}) @@ -362,10 +369,10 @@ # This macro produces Unix-style manual or "man" pages macro(DOCBOOK_TO_MAN targetname_suffix xml_files mannum manext targetdir deps_list) - set(xml_valid_stamp) if(BRLCAD_EXTRADOCS_MAN) foreach(filename ${${xml_files}}) get_filename_component(filename_root "${filename}" NAME_WE) + set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) set(outfile ${bin_root}/${MAN_DIR}/${targetdir}/${filename_root}.${manext}) set(targetname ${filename_root}_${targetname_suffix}_man) set(CURRENT_XSL_STYLESHEET ${XSL_MAN_STYLESHEET}) @@ -431,10 +438,10 @@ # PDF output is generated in a two stage process - the XML file is first # converted to an "FO" file, and the FO file is in turn translated to PDF. macro(DOCBOOK_TO_PDF targetname_suffix xml_files targetdir deps_list) - set(xml_valid_stamp) if(BRLCAD_EXTRADOCS_PDF) foreach(filename ${${xml_files}}) get_filename_component(filename_root "${filename}" NAME_WE) + set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) if (EXISTS ${filename}) set(full_path_filename ${filename}) else (EXISTS ${filename}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-01-08 19:03:39
|
Revision: 66824 http://sourceforge.net/p/brlcad/code/66824 Author: starseeker Date: 2016-01-08 19:03:37 +0000 (Fri, 08 Jan 2016) Log Message: ----------- Collapse most of the DocBook output specific macros into wrappers. PDF is still the odd duck as a 2 stage process. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-08 18:43:03 UTC (rev 66823) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-08 19:03:37 UTC (rev 66824) @@ -241,208 +241,34 @@ if(BRLCAD_EXTRADOCS_HTML) DOCBOOK_PROCESS("${targetname_suffix}" HTML "${xml_files}" html "${DOC_DIR}/${targetdir}" "${deps_list}") endif(BRLCAD_EXTRADOCS_HTML) - # Mark input files for distcheck regardless of whether we're building them + # Mark input files for distcheck whether or not we're building them CMAKEFILES(${${xml_files}}) -endmacro(DOCBOOK_TO_HTML targetname_suffix srcfile outfile targetdir deps_list) +endmacro(DOCBOOK_TO_HTML) -# HTML output, the format used by BRL-CAD's graphical help systems +# PHP HTML output macro(DOCBOOK_TO_PHP targetname_suffix xml_files targetdir deps_list) if(BRLCAD_EXTRADOCS_PHP) - foreach(filename ${${xml_files}}) - get_filename_component(filename_root "${filename}" NAME_WE) - set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) - set(outfile ${bin_root}/${DOC_DIR}/${targetdir}/${filename_root}.php) - set(targetname ${filename_root}_${targetname_suffix}_php) - set(CURRENT_XSL_STYLESHEET ${XSL_PHP_STYLESHEET}) - if (EXISTS ${filename}) - set(full_path_filename ${filename}) - else (EXISTS ${filename}) - set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) - endif (EXISTS ${filename}) - - # If we have extra outputs, need to handle them now - set(EXTRAS) - get_property(EXTRA_OUTPUTS SOURCE ${filename} PROPERTY EXTRA_PHP_OUTPUTS) - foreach(extra_out ${EXTRA_OUTPUTS}) - set(EXTRAS ${EXTRAS} ${bin_root}/${DOC_DIR}/${targetdir}/${extra_out}) - endforeach(extra_out ${EXTRA_OUTPUTS}) - - if(BRLCAD_EXTRADOCS_VALIDATE) - DB_VALIDATE_TARGET(${targetdir} "${filename}" ${filename_root}) - endif(BRLCAD_EXTRADOCS_VALIDATE) - - # Generate the script that will be used to run the XSLT executable - DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") - - add_custom_command( - OUTPUT ${outfile} ${EXTRAS} - COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} - ) - add_custom_target(${targetname} ALL DEPENDS ${outfile}) - set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/HTML") - - # CMAKE_CFG_INTDIR can't be used in installation rules: - # http://www.cmake.org/Bug/view.php?id=5747 - if(CMAKE_CONFIGURATION_TYPES) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") - if(EXTRAS) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") - endif(EXTRAS) - endif(CMAKE_CONFIGURATION_TYPES) - install(FILES ${outfile} ${EXTRAS} DESTINATION ${DOC_DIR}/${targetdir}) - - get_property(BRLCAD_EXTRADOCS_PHP_TARGETS GLOBAL PROPERTY BRLCAD_EXTRADOCS_PHP_TARGETS) - set(BRLCAD_EXTRADOCS_PHP_TARGETS ${BRLCAD_EXTRADOCS_PHP_TARGETS} ${targetname}) - set_property(GLOBAL PROPERTY BRLCAD_EXTRADOCS_PHP_TARGETS "${BRLCAD_EXTRADOCS_PHP_TARGETS}") - - # If multiple outputs are being generated from the same file, make sure - # one of them is run to completion before the others to avoid multiple - # triggerings of the XML validation command. - get_property(1ST_TARGET SOURCE ${filename} PROPERTY 1ST_TARGET) - if(1ST_TARGET) - add_dependencies(${targetname} ${1ST_TARGET}) - else(1ST_TARGET) - set_property(SOURCE ${filename} PROPERTY 1ST_TARGET "${targetname}") - endif(1ST_TARGET) - - endforeach(filename ${${xml_files}}) + DOCBOOK_PROCESS("${targetname_suffix}" PHP "${xml_files}" php "${DOC_DIR}/${targetdir}" "${deps_list}") endif(BRLCAD_EXTRADOCS_PHP) - + # Mark input files for distcheck whether or not we're building them CMAKEFILES(${${xml_files}}) -endmacro(DOCBOOK_TO_PHP targetname_suffix srcfile outfile targetdir deps_list) +endmacro(DOCBOOK_TO_PHP) +# Presentation style HTML output macro(DOCBOOK_TO_PPT targetname_suffix xml_files targetdir deps_list) if(BRLCAD_EXTRADOCS_PPT) - foreach(filename ${${xml_files}}) - get_filename_component(filename_root "${filename}" NAME_WE) - set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) - set(outfile ${bin_root}/${DOC_DIR}/${targetdir}/${filename_root}_2.html) - set(targetname ${filename_root}_${targetname_suffix}_ppt) - set(CURRENT_XSL_STYLESHEET ${XSL_PPT_STYLESHEET}) - if (EXISTS ${filename}) - set(full_path_filename ${filename}) - else (EXISTS ${filename}) - set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) - endif (EXISTS ${filename}) - - # If we have extra outputs, need to handle them now - set(EXTRAS) - get_property(EXTRA_OUTPUTS SOURCE ${filename} PROPERTY EXTRA_PPT_OUTPUTS) - foreach(extra_out ${EXTRA_OUTPUTS}) - set(EXTRAS ${EXTRAS} ${bin_root}/${DOC_DIR}/${targetdir}/${extra_out}) - endforeach(extra_out ${EXTRA_OUTPUTS}) - - if(BRLCAD_EXTRADOCS_VALIDATE) - DB_VALIDATE_TARGET(${targetdir} "${filename}" ${filename_root}) - endif(BRLCAD_EXTRADOCS_VALIDATE) - - # Generate the script that will be used to run the XSLT executable - DB_SCRIPT("${targetname}" "${DOC_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") - - add_custom_command( - OUTPUT ${outfile} ${EXTRAS} - COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} - ) - add_custom_target(${targetname} ALL DEPENDS ${outfile}) - set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/HTML") - - # CMAKE_CFG_INTDIR can't be used in installation rules: - # http://www.cmake.org/Bug/view.php?id=5747 - if(CMAKE_CONFIGURATION_TYPES) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") - if(EXTRAS) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") - endif(EXTRAS) - endif(CMAKE_CONFIGURATION_TYPES) - install(FILES ${outfile} ${EXTRAS} DESTINATION ${DOC_DIR}/${targetdir}) - - get_property(BRLCAD_EXTRADOCS_PPT_TARGETS GLOBAL PROPERTY BRLCAD_EXTRADOCS_PPT_TARGETS) - set(BRLCAD_EXTRADOCS_PPT_TARGETS ${BRLCAD_EXTRADOCS_PPT_TARGETS} ${targetname}) - set_property(GLOBAL PROPERTY BRLCAD_EXTRADOCS_PPT_TARGETS "${BRLCAD_EXTRADOCS_PPT_TARGETS}") - - # If multiple outputs are being generated from the same file, make sure - # one of them is run to completion before the others to avoid multiple - # triggerings of the XML validation command. - get_property(1ST_TARGET SOURCE ${filename} PROPERTY 1ST_TARGET) - if(1ST_TARGET) - add_dependencies(${targetname} ${1ST_TARGET}) - else(1ST_TARGET) - set_property(SOURCE ${filename} PROPERTY 1ST_TARGET "${targetname}") - endif(1ST_TARGET) - - endforeach(filename ${${xml_files}}) + DOCBOOK_PROCESS("${targetname_suffix}" PPT "${xml_files}" ppt.html "${DOC_DIR}/${targetdir}" "${deps_list}") endif(BRLCAD_EXTRADOCS_PPT) - + # Mark input files for distcheck whether or not we're building them CMAKEFILES(${${xml_files}}) -endmacro(DOCBOOK_TO_PPT targetname_suffix srcfile outfile targetdir deps_list) +endmacro(DOCBOOK_TO_PPT) # This macro produces Unix-style manual or "man" pages macro(DOCBOOK_TO_MAN targetname_suffix xml_files mannum manext targetdir deps_list) if(BRLCAD_EXTRADOCS_MAN) - foreach(filename ${${xml_files}}) - get_filename_component(filename_root "${filename}" NAME_WE) - set(xml_valid_stamp ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${filename_root}.valid) - set(outfile ${bin_root}/${MAN_DIR}/${targetdir}/${filename_root}.${manext}) - set(targetname ${filename_root}_${targetname_suffix}_man) - set(CURRENT_XSL_STYLESHEET ${XSL_MAN_STYLESHEET}) - if (EXISTS ${filename}) - set(full_path_filename ${filename}) - else (EXISTS ${filename}) - set(full_path_filename ${CMAKE_CURRENT_SOURCE_DIR}/${filename}) - endif (EXISTS ${filename}) - - # If we have more outputs than the default, they need to be handled here. - set(EXTRAS) - get_property(EXTRA_OUTPUTS SOURCE ${filename} PROPERTY EXTRA_MAN_OUTPUTS) - foreach(extra_out ${EXTRA_OUTPUTS}) - set(EXTRAS ${EXTRAS} ${bin_root}/${MAN_DIR}/${targetdir}/${extra_out}) - endforeach(extra_out ${EXTRA_OUTPUTS}) - - if(BRLCAD_EXTRADOCS_VALIDATE) - DB_VALIDATE_TARGET(${targetdir} "${filename}" ${filename_root}) - endif(BRLCAD_EXTRADOCS_VALIDATE) - - # Generate the script that will be used to run the XSLT executable - DB_SCRIPT("${targetname}" "${MAN_DIR}/${targetdir}" "${XSLT_EXECUTABLE}") - - add_custom_command( - OUTPUT ${outfile} ${EXTRAS} - COMMAND ${CMAKE_COMMAND} -P ${scriptfile} - DEPENDS ${full_path_filename} ${xml_valid_stamp} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} - ) - add_custom_target(${targetname} ALL DEPENDS ${outfile}) - set_target_properties(${targetname} PROPERTIES FOLDER "DocBook/MAN") - - # CMAKE_CFG_INTDIR can't be used in installation rules: - # http://www.cmake.org/Bug/view.php?id=5747 - if(CMAKE_CONFIGURATION_TYPES) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" outfile "${outfile}") - if(EXTRAS) - string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" EXTRAS "${EXTRAS}") - endif(EXTRAS) - endif(CMAKE_CONFIGURATION_TYPES) - install(FILES ${outfile} ${EXTRAS} DESTINATION ${MAN_DIR}/man${mannum}) - - # Add the current build target to the list of man page targets - get_property(BRLCAD_EXTRADOCS_MAN_TARGETS GLOBAL PROPERTY BRLCAD_EXTRADOCS_MAN_TARGETS) - set(BRLCAD_EXTRADOCS_MAN_TARGETS ${BRLCAD_EXTRADOCS_MAN_TARGETS} ${targetname}) - set_property(GLOBAL PROPERTY BRLCAD_EXTRADOCS_MAN_TARGETS "${BRLCAD_EXTRADOCS_MAN_TARGETS}") - - # If multiple outputs are being generated from the same file, make sure - # one of them is run to completion before the others to avoid multiple - # triggerings of the XML validation command. - get_property(1ST_TARGET SOURCE ${filename} PROPERTY 1ST_TARGET) - if(1ST_TARGET) - add_dependencies(${targetname} ${1ST_TARGET}) - else(1ST_TARGET) - set_property(SOURCE ${filename} PROPERTY 1ST_TARGET "${targetname}") - endif(1ST_TARGET) - - endforeach(filename ${${xml_files}}) + DOCBOOK_PROCESS("${targetname_suffix}" MAN "${xml_files}" ${manext} "${MAN_DIR}/${targetdir}" "${deps_list}") endif(BRLCAD_EXTRADOCS_MAN) - # Mark files for distcheck + # Mark input files for distcheck whether or not we're building them CMAKEFILES(${${xml_files}}) endmacro(DOCBOOK_TO_MAN targetname_suffix srcfile outfile targetdir deps_list) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-01-08 19:05:15
|
Revision: 66825 http://sourceforge.net/p/brlcad/code/66825 Author: starseeker Date: 2016-01-08 19:05:13 +0000 (Fri, 08 Jan 2016) Log Message: ----------- fix docs Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-08 19:03:37 UTC (rev 66824) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-01-08 19:05:13 UTC (rev 66825) @@ -168,7 +168,8 @@ endfunction(DB_VALIDATE_TARGET) -# This macro produces Unix-style manual or "man" pages +# This macro provides the core custom command and target wiring for most of the DocBook +# build targets. macro(DOCBOOK_PROCESS targetname_suffix format xml_files extension targetdir deps_list) if(BRLCAD_EXTRADOCS_${format}) foreach(filename ${${xml_files}}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-09 23:51:30
|
Revision: 67279 http://sourceforge.net/p/brlcad/code/67279 Author: starseeker Date: 2016-03-09 23:51:27 +0000 (Wed, 09 Mar 2016) Log Message: ----------- copy/paste error Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-09 23:38:32 UTC (rev 67278) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-09 23:51:27 UTC (rev 67279) @@ -181,7 +181,7 @@ get_property(EXTRA_OUTPUTS SOURCE ${fname} PROPERTY EXTRA_${fmt}_OUTPUTS) foreach(extra_out ${EXTRA_OUTPUTS}) set(${fmt}_EXTRAS ${${fmt}_EXTRAS} ${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}) - set(outputs ${outputs} ${${fmt}_OUTFILE}) + set(outputs ${outputs} ${${fmt}_EXTRAS} ${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}) endforeach(extra_out ${EXTRA_OUTPUTS}) endif(NOT "${IN_LIST}" STREQUAL "-1") endforeach(fmt ${fmts}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-09 23:54:20
|
Revision: 67280 http://sourceforge.net/p/brlcad/code/67280 Author: starseeker Date: 2016-03-09 23:54:18 +0000 (Wed, 09 Mar 2016) Log Message: ----------- explanatory comment Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-09 23:51:27 UTC (rev 67279) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-09 23:54:18 UTC (rev 67280) @@ -130,8 +130,13 @@ set(MANN_DIR "${DOC_DIR}/../man/") set(PDF_DIR "${DOC_DIR}/pdf/") +# The general pattern of the BRL-CAD build is to use CMAKE_CFG_INTDIR when +# multi-configuration builds complicate the location of binaries. In this +# case, however, we are using a generated script with a different mechanism +# for handling this situation, and we need to update the executable paths +# accordingly if they are configuration dependent. +string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XMLLINT_EXECUTABLE "${XMLLINT_EXECUTABLE}") string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XSLTPROC_EXECUTABLE "${XSLTPROC_EXECUTABLE}") -string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XMLLINT_EXECUTABLE "${XMLLINT_EXECUTABLE}") macro(ADD_DOCBOOK fmts in_xml_files outdir deps_list) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-09 23:56:16
|
Revision: 67281 http://sourceforge.net/p/brlcad/code/67281 Author: starseeker Date: 2016-03-09 23:56:14 +0000 (Wed, 09 Mar 2016) Log Message: ----------- don't double list. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-09 23:54:18 UTC (rev 67280) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-09 23:56:14 UTC (rev 67281) @@ -186,7 +186,7 @@ get_property(EXTRA_OUTPUTS SOURCE ${fname} PROPERTY EXTRA_${fmt}_OUTPUTS) foreach(extra_out ${EXTRA_OUTPUTS}) set(${fmt}_EXTRAS ${${fmt}_EXTRAS} ${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}) - set(outputs ${outputs} ${${fmt}_EXTRAS} ${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}) + set(outputs ${outputs} ${${fmt}_EXTRAS}) endforeach(extra_out ${EXTRA_OUTPUTS}) endif(NOT "${IN_LIST}" STREQUAL "-1") endforeach(fmt ${fmts}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-10 00:31:33
|
Revision: 67282 http://sourceforge.net/p/brlcad/code/67282 Author: starseeker Date: 2016-03-10 00:31:31 +0000 (Thu, 10 Mar 2016) Log Message: ----------- Go with fewer DocBook build targets. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-09 23:56:14 UTC (rev 67281) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 00:31:31 UTC (rev 67282) @@ -138,20 +138,39 @@ string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XMLLINT_EXECUTABLE "${XMLLINT_EXECUTABLE}") string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XSLTPROC_EXECUTABLE "${XSLTPROC_EXECUTABLE}") +# Convenience target to launch all DocBook builds +add_custom_target(docbook ALL) +set_target_properties(docbook PROPERTIES FOLDER "DocBook") + macro(ADD_DOCBOOK fmts in_xml_files outdir deps_list) # If we got the name of a list or an explicit list, - # translate into the form we need. + # translate into the form we need and set up the + # build target name accordingly. list(GET ${in_xml_files} 0 xml_files) if("${xml_files}" MATCHES "NOTFOUND") set(xml_files ${in_xml_files}) + string(MD5 target_root "${xml_files}") else("${xml_files}" MATCHES "NOTFOUND") set(xml_files ${${in_xml_files}}) + get_filename_component(dname_root1 "${CMAKE_CURRENT_SOURCE_DIR}" NAME_WE) + get_filename_component(dname_path1 "${CMAKE_CURRENT_SOURCE_DIR}" PATH) + get_filename_component(dname_root2 "${dname_path1}" NAME_WE) + get_filename_component(dname_path2 "${dname_path1}" PATH) + get_filename_component(dname_root3 "${dname_path2}" NAME_WE) + set(inc_num 0) + set(target_root "${dname_root3}-${dname_root2}-${dname_root1}") + while(TARGET docbook-${target_root}) + math(EXPR inc_num "${inc_num} + 1") + set(target_root "${dname_root3}-${dname_root2}-${dname_root1}-${inc_num}") + endwhile(TARGET docbook-${target_root}) endif("${xml_files}" MATCHES "NOTFOUND") # Mark files for distcheck CMAKEFILES(${xml_files}) + set(all_outfiles) + # Each file gets its own target, which handles all the outputs # to be produced from that file foreach(fname ${xml_files}) @@ -191,6 +210,8 @@ endif(NOT "${IN_LIST}" STREQUAL "-1") endforeach(fmt ${fmts}) + set(all_outfiles ${all_outfiles} ${outputs}) + # As long as we're outputting *something*, we have a target to produce if(NOT "${outputs}" STREQUAL "") string(MD5 path_md5 "${CMAKE_CURRENT_SOURCE_DIR}/${fname}") @@ -200,29 +221,25 @@ COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/dbp_${fname_root}-${path_md5}.cmake DEPENDS ${fname} ${XMLLINT_EXECUTABLE_TARGET} ${XSLTPROC_EXECUTABLE_TARGET} ${DOCBOOK_RESOURCE_FILES} ${deps_list} ) - add_custom_target(docbook-${fname_root}-${path_md5} ALL DEPENDS ${outputs}) - set_target_properties(docbook-${fname_root}-${path_md5} PROPERTIES FOLDER "DocBook") - - # Now, set up the install rules in such a way that they will pull output from - # the correct directory in single or multi configuration build situations. - # Note that CMAKE_CFG_INTDIR can't be used in installation rules (known limitation): - # http://www.cmake.org/Bug/view.php?id=5747 - foreach(fmt ${fmts}) - list(FIND OUTPUT_FORMATS "${fmt}" IN_LIST) - if(NOT "${IN_LIST}" STREQUAL "-1") - set(outfile ${bin_root}/${${fmt}_DIR}${outdir}/${fname_root}.${${fmt}_EXTENSION}) - install(FILES ${outfile} DESTINATION ${${fmt}_DIR}${outdir}) - get_property(EXTRA_OUTPUTS SOURCE ${fname} PROPERTY EXTRA_${fmt}_OUTPUTS) - foreach(extra_out ${EXTRA_OUTPUTS}) - set(outfile ${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}) - install(FILES ${outfile} DESTINATION ${${fmt}_DIR}${outdir}) - endforeach(extra_out ${EXTRA_OUTPUTS}) - endif(NOT "${IN_LIST}" STREQUAL "-1") - endforeach(fmt ${fmts}) + # For now, we'll skip generating per-input-file build targets - that's not normally how + # the docbook targets are built. + #add_custom_target(docbook-${fname_root}-${path_md5} DEPENDS ${outputs}) + #set_target_properties(docbook-${fname_root}-${path_md5} PROPERTIES FOLDER "DocBook") endif(NOT "${outputs}" STREQUAL "") endforeach(fname ${xml_files}) + if(NOT "${all_outfiles}" STREQUAL "") + add_custom_target(docbook-${target_root} DEPENDS ${all_outfiles}) + set_target_properties(docbook-${target_root} PROPERTIES FOLDER "DocBook") + + add_dependencies(docbook docbook-${target_root}) + + foreach(fname ${all_outfiles}) + install(FILES ${fname} DESTINATION ${${fmt}_DIR}${outdir}) + endforeach(fname ${all_outfiles}) + endif(NOT "${all_outfiles}" STREQUAL "") + endmacro(ADD_DOCBOOK) # Local Variables: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-10 01:12:02
|
Revision: 67286 http://sourceforge.net/p/brlcad/code/67286 Author: starseeker Date: 2016-03-10 01:12:00 +0000 (Thu, 10 Mar 2016) Log Message: ----------- Tweak install logic Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 01:04:41 UTC (rev 67285) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 01:12:00 UTC (rev 67286) @@ -195,17 +195,19 @@ if(NOT "${IN_LIST}" STREQUAL "-1") set(${fmt}_OUTFILE ${bin_root}/${${fmt}_DIR}${outdir}/${fname_root}.${${fmt}_EXTENSION}) set(outputs ${outputs} ${${fmt}_OUTFILE}) + install(FILES ${${fmt}_OUTFILE} DESTINATION ${${fmt}_DIR}${outdir}) endif(NOT "${IN_LIST}" STREQUAL "-1") endforeach(fmt ${OUTPUT_FORMATS}) # If we have more outputs than the default, they need to be handled here. foreach(fmt ${fmts}) list(FIND OUTPUT_FORMATS "${fmt}" IN_LIST) if(NOT "${IN_LIST}" STREQUAL "-1") - set(${fmt}_EXTRAS) + set(${fmt}_EXTRA) get_property(EXTRA_OUTPUTS SOURCE ${fname} PROPERTY EXTRA_${fmt}_OUTPUTS) foreach(extra_out ${EXTRA_OUTPUTS}) - set(${fmt}_EXTRAS ${${fmt}_EXTRAS} ${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}) - set(outputs ${outputs} ${${fmt}_EXTRAS}) + set(${fmt}_EXTRA ${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}) + install(FILES ${${fmt}_EXTRA} DESTINATION ${${fmt}_DIR}${outdir}) + set(outputs ${outputs} ${${fmt}_EXTRA}) endforeach(extra_out ${EXTRA_OUTPUTS}) endif(NOT "${IN_LIST}" STREQUAL "-1") endforeach(fmt ${fmts}) @@ -232,12 +234,7 @@ if(NOT "${all_outfiles}" STREQUAL "") add_custom_target(docbook-${target_root} DEPENDS ${all_outfiles}) set_target_properties(docbook-${target_root} PROPERTIES FOLDER "DocBook") - add_dependencies(docbook docbook-${target_root}) - - foreach(fname ${all_outfiles}) - install(FILES ${fname} DESTINATION ${${fmt}_DIR}${outdir}) - endforeach(fname ${all_outfiles}) endif(NOT "${all_outfiles}" STREQUAL "") endmacro(ADD_DOCBOOK) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-10 01:24:02
|
Revision: 67287 http://sourceforge.net/p/brlcad/code/67287 Author: starseeker Date: 2016-03-10 01:23:59 +0000 (Thu, 10 Mar 2016) Log Message: ----------- Quote paths (Sean) Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 01:12:00 UTC (rev 67286) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 01:23:59 UTC (rev 67287) @@ -193,7 +193,7 @@ foreach(fmt ${fmts}) list(FIND OUTPUT_FORMATS "${fmt}" IN_LIST) if(NOT "${IN_LIST}" STREQUAL "-1") - set(${fmt}_OUTFILE ${bin_root}/${${fmt}_DIR}${outdir}/${fname_root}.${${fmt}_EXTENSION}) + set(${fmt}_OUTFILE "${bin_root}/${${fmt}_DIR}${outdir}/${fname_root}.${${fmt}_EXTENSION}") set(outputs ${outputs} ${${fmt}_OUTFILE}) install(FILES ${${fmt}_OUTFILE} DESTINATION ${${fmt}_DIR}${outdir}) endif(NOT "${IN_LIST}" STREQUAL "-1") @@ -205,7 +205,7 @@ set(${fmt}_EXTRA) get_property(EXTRA_OUTPUTS SOURCE ${fname} PROPERTY EXTRA_${fmt}_OUTPUTS) foreach(extra_out ${EXTRA_OUTPUTS}) - set(${fmt}_EXTRA ${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}) + set(${fmt}_EXTRA "${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}") install(FILES ${${fmt}_EXTRA} DESTINATION ${${fmt}_DIR}${outdir}) set(outputs ${outputs} ${${fmt}_EXTRA}) endforeach(extra_out ${EXTRA_OUTPUTS}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-10 02:09:00
|
Revision: 67289 http://sourceforge.net/p/brlcad/code/67289 Author: starseeker Date: 2016-03-10 02:08:57 +0000 (Thu, 10 Mar 2016) Log Message: ----------- quote Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:00:14 UTC (rev 67288) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:08:57 UTC (rev 67289) @@ -204,7 +204,7 @@ set(${fmt}_OUTFILE "${${fmt}_OUTFILE_RAW}") endif(CMAKE_CONFIGURATION_TYPES) set(outputs ${outputs} ${${fmt}_OUTFILE_RAW}) - install(FILES ${${fmt}_OUTFILE} DESTINATION ${${fmt}_DIR}${outdir}) + install(FILES "${${fmt}_OUTFILE}" DESTINATION ${${fmt}_DIR}${outdir}) endif(NOT "${IN_LIST}" STREQUAL "-1") endforeach(fmt ${OUTPUT_FORMATS}) # If we have more outputs than the default, they need to be handled here. @@ -223,7 +223,7 @@ set(${fmt}_EXTRA "${${fmt}_EXTRA_RAW}") endif(CMAKE_CONFIGURATION_TYPES) set(outputs ${outputs} ${${fmt}_EXTRA_RAW}) - install(FILES ${${fmt}_EXTRA} DESTINATION ${${fmt}_DIR}${outdir}) + install(FILES "${${fmt}_EXTRA}" DESTINATION ${${fmt}_DIR}${outdir}) endforeach(extra_out ${EXTRA_OUTPUTS}) endif(NOT "${IN_LIST}" STREQUAL "-1") endforeach(fmt ${fmts}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-10 02:09:37
|
Revision: 67290 http://sourceforge.net/p/brlcad/code/67290 Author: starseeker Date: 2016-03-10 02:09:35 +0000 (Thu, 10 Mar 2016) Log Message: ----------- remove debug message Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:08:57 UTC (rev 67289) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:09:35 UTC (rev 67290) @@ -165,7 +165,6 @@ while(TARGET docbook-${target_root}) math(EXPR inc_num "${inc_num} + 1") set(target_root "${dname_root3}-${dname_root2}-${dname_root1}-${inc_num}") - message("target_root: ${target_root}") endwhile(TARGET docbook-${target_root}) # Mark files for distcheck This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-10 02:40:36
|
Revision: 67291 http://sourceforge.net/p/brlcad/code/67291 Author: starseeker Date: 2016-03-10 02:40:33 +0000 (Thu, 10 Mar 2016) Log Message: ----------- Need the extras list when odd pathnames and xsltproc don't get along Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:09:35 UTC (rev 67290) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:40:33 UTC (rev 67291) @@ -172,8 +172,8 @@ set(all_outfiles) - # Each file gets its own target, which handles all the outputs - # to be produced from that file + # Each file gets its own script file and custom command, which handle all + # the outputs to be produced from that file. foreach(fname ${xml_files}) get_filename_component(fname_root "${fname}" NAME_WE) get_filename_component(filename "${fname}" ABSOLUTE) @@ -195,8 +195,8 @@ list(FIND OUTPUT_FORMATS "${fmt}" IN_LIST) if(NOT "${IN_LIST}" STREQUAL "-1") set(${fmt}_OUTFILE_RAW "${bin_root}/${${fmt}_DIR}${outdir}/${fname_root}.${${fmt}_EXTENSION}") - # Use CMAKE_CFG_INTDIR for build system custom commands, but need BUILD_TYPE form for scripts - # and install commands. + # Use CMAKE_CFG_INTDIR for build system output list, but need + # BUILD_TYPE form of path for scripts and install commands. if(CMAKE_CONFIGURATION_TYPES) string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" ${fmt}_OUTFILE "${${fmt}_OUTFILE_RAW}") else(CMAKE_CONFIGURATION_TYPES) @@ -206,16 +206,21 @@ install(FILES "${${fmt}_OUTFILE}" DESTINATION ${${fmt}_DIR}${outdir}) endif(NOT "${IN_LIST}" STREQUAL "-1") endforeach(fmt ${OUTPUT_FORMATS}) + # If we have more outputs than the default, they need to be handled here. foreach(fmt ${fmts}) list(FIND OUTPUT_FORMATS "${fmt}" IN_LIST) if(NOT "${IN_LIST}" STREQUAL "-1") - set(${fmt}_EXTRA) + set(${fmt}_EXTRAS) get_property(EXTRA_OUTPUTS SOURCE ${fname} PROPERTY EXTRA_${fmt}_OUTPUTS) foreach(extra_out ${EXTRA_OUTPUTS}) + # Pass the file name to the script's extras list, in case the script + # has to manually place the file in the correct directory... + set(${fmt}_EXTRAS ${${fmt}_EXTRAS} "${extra_out}") + + # Use CMAKE_CFG_INTDIR for build system output list, but need + # BUILD_TYPE form of path for scripts and install commands. set(${fmt}_EXTRA_RAW "${bin_root}/${${fmt}_DIR}${outdir}/${extra_out}") - # Use CMAKE_CFG_INTDIR for build system custom commands, but need BUILD_TYPE form for scripts - # and install commands. if(CMAKE_CONFIGURATION_TYPES) string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" ${fmt}_EXTRA "${${fmt}_EXTRA_RAW}") else(CMAKE_CONFIGURATION_TYPES) @@ -225,6 +230,7 @@ install(FILES "${${fmt}_EXTRA}" DESTINATION ${${fmt}_DIR}${outdir}) endforeach(extra_out ${EXTRA_OUTPUTS}) endif(NOT "${IN_LIST}" STREQUAL "-1") + endforeach(fmt ${fmts}) set(all_outfiles ${all_outfiles} ${outputs}) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-10 02:56:18
|
Revision: 67292 http://sourceforge.net/p/brlcad/code/67292 Author: starseeker Date: 2016-03-10 02:56:15 +0000 (Thu, 10 Mar 2016) Log Message: ----------- Only mess with CMAKE_CFG_INTDIR if we're doing multiconfig - in non-multiconfig it breaks in-src-dir. Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:40:33 UTC (rev 67291) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:56:15 UTC (rev 67292) @@ -135,8 +135,10 @@ # case, however, we are using a generated script with a different mechanism # for handling this situation, and we need to update the executable paths # accordingly if they are configuration dependent. -string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XMLLINT_EXEC "${XMLLINT_EXECUTABLE}") -string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XSLTPROC_EXEC "${XSLTPROC_EXECUTABLE}") +if(CMAKE_CONFIGURATION_TYPES) + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XMLLINT_EXEC "${XMLLINT_EXECUTABLE}") + string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XSLTPROC_EXEC "${XSLTPROC_EXECUTABLE}") +endif(CMAKE_CONFIGURATION_TYPES) # Convenience target to launch all DocBook builds add_custom_target(docbook ALL) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sta...@us...> - 2016-03-10 04:09:50
|
Revision: 67293 http://sourceforge.net/p/brlcad/code/67293 Author: starseeker Date: 2016-03-10 04:09:47 +0000 (Thu, 10 Mar 2016) Log Message: ----------- need to set these regardless Modified Paths: -------------- brlcad/trunk/misc/CMake/DocBook.cmake Modified: brlcad/trunk/misc/CMake/DocBook.cmake =================================================================== --- brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 02:56:15 UTC (rev 67292) +++ brlcad/trunk/misc/CMake/DocBook.cmake 2016-03-10 04:09:47 UTC (rev 67293) @@ -138,6 +138,9 @@ if(CMAKE_CONFIGURATION_TYPES) string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XMLLINT_EXEC "${XMLLINT_EXECUTABLE}") string(REPLACE "${CMAKE_CFG_INTDIR}" "\${BUILD_TYPE}" XSLTPROC_EXEC "${XSLTPROC_EXECUTABLE}") +else(CMAKE_CONFIGURATION_TYPES) + set(XMLLINT_EXEC "${XMLLINT_EXECUTABLE}") + set(XSLTPROC_EXEC "${XSLTPROC_EXECUTABLE}") endif(CMAKE_CONFIGURATION_TYPES) # Convenience target to launch all DocBook builds This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |