[toulbar2] 02/02: Restore testing and generate doc at compile time

Thomas Schiex tschiex-guest at moszumanska.debian.org
Tue May 10 16:25:46 UTC 2016


This is an automated email from the git hooks/post-receive script.

tschiex-guest pushed a commit to branch master
in repository toulbar2.

commit 184abc9a6600274734f59658177a83bb35916a48
Author: Thomas Schiex <Thomas.Schiex at toulouse.inra.fr>
Date:   Tue May 10 18:17:49 2016 +0200

    Restore testing and generate doc at compile time
---
 debian/patches/020-give-time-for-test              |  10 ++
 .../patches/030-regenerate-doxydoc-at-compile-time | 146 +++++++++++++++++++++
 debian/patches/series                              |   2 +
 3 files changed, 158 insertions(+)

diff --git a/debian/patches/020-give-time-for-test b/debian/patches/020-give-time-for-test
new file mode 100644
index 0000000..55ccde5
--- /dev/null
+++ b/debian/patches/020-give-time-for-test
@@ -0,0 +1,10 @@
+--- a/cover/test-opt.cmake
++++ b/cover/test-opt.cmake
+@@ -1,6 +1,6 @@
+ # list of arguments use in command line for the current directory
+ # test timeout ( used for all wcsp found in the directory
+-set (test_timeout 20)
++set (test_timeout 300)
+ #regexp to define successfull end.
+ #set (test_regexp  "Optimum: ${UB}")
+ set (test_regexp  "end." )
diff --git a/debian/patches/030-regenerate-doxydoc-at-compile-time b/debian/patches/030-regenerate-doxydoc-at-compile-time
new file mode 100644
index 0000000..eab58df
--- /dev/null
+++ b/debian/patches/030-regenerate-doxydoc-at-compile-time
@@ -0,0 +1,146 @@
+--- a/cmake-script/UseDoxygen.cmake
++++ b/cmake-script/UseDoxygen.cmake
+@@ -1,22 +1,58 @@
+ # add a target to generate API documentation with Doxygen
++find_package(LATEX)
+ find_package(Doxygen)
+-option(BUILD_DOCUMENTATION "Create and install the HTML based API documentation (requires Doxygen)" ${DOXYGEN_FOUND})
+ 
+-if(BUILD_DOCUMENTATION)
+-    if(NOT DOXYGEN_FOUND)
+-        message(FATAL_ERROR "Doxygen is needed to build the documentation.")
+-    endif()
++IF (DOXYGEN_FOUND)
++  MESSAGE(STATUS "########## package doxygen found #######################")
++ELSE(DOXYGEN_FOUND)
++  MESSAGE(STATUS "######### doxygen not found. Cannot generate doc...#############")
++ENDIF (DOXYGEN_FOUND)
++
++set(doxyfile_in ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
++set(doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
++# output directory for code source documentation
++
++configure_file(${doxyfile_in} ${doxyfile} @ONLY)
+ 
+-    set(doxyfile_in ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
+-    set(doxyfile ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
++add_custom_target(doc ALL
++  DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/doxygen.stamp)
+ 
+-    configure_file(${doxyfile_in} ${doxyfile} @ONLY)
++add_custom_command(
++  OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/doxygen.stamp
++  DEPENDS ${doxyfile}
++  COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile}
++  COMMAND cmake -E touch ${CMAKE_CURRENT_BINARY_DIR}/doxygen.stamp
++  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
++  COMMENT "Generating API documentation with Doxygen"
++  VERBATIM)
+ 
+-    add_custom_target(doc
+-        COMMAND ${DOXYGEN_EXECUTABLE} ${doxyfile}
+-        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+-        COMMENT "Generating API documentation with Doxygen"
+-        VERBATIM)
++if(BUILD_API_DOC_LATEX STREQUAL "ON")
++  set(DOXYFILE_GENERATE_LATEX "YES")
++  find_program(DOXYFILE_MAKE make)
++  mark_as_advanced(DOXYFILE_MAKE)
++  if(LATEX_COMPILER AND MAKEINDEX_COMPILER AND DOXYFILE_MAKE)
++    if(PDFLATEX_COMPILER)
++      set(DOXYFILE_PDFLATEX "YES")
++    endif()
++    if(DOXYGEN_DOT_EXECUTABLE)
++      set(DOXYFILE_DOT "YES")
++    endif()
+ 
+-    install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION share/doc)
++    add_custom_command(TARGET doc
++      POST_BUILD
++      COMMAND ${DOXYFILE_MAKE}
++      COMMENT "Running LaTeX for Doxygen documentation in ${CMAKE_CURRENT_BINARY_DIR}/latex..."
++      WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/latex")
++    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/latex/refman.pdf DESTINATION ${doc_destination}/${Toulbar_NAME_COMPLETE})
++  else()
++    set(DOXYGEN_LATEX "NO")
++  endif()
++else()
++  set(DOXYFILE_GENERATE_LATEX "NO")
+ endif()
++
++install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html DESTINATION ${doc_destination}/${Toulbar_NAME_COMPLETE})
++
++
++
++
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,14 +8,13 @@
+ #do not change this variable ==> location of the toulbar2 source code
+ set (My_cmake_script "${CMAKE_CURRENT_SOURCE_DIR}/cmake-script") # location of cmake script needed 
+ set (My_Source src)	# source location 
+-set (My_doc "${CMAKE_CURRENT_SOURCE_DIR}/doc" ) # doxygen repository default ./doc/
+ set (doc_destination "share/doc")   		#path of doc installation 
+ set (My_validation "validation")		#validation test location
+ set (My_benchmark "benchmarks")
+ set (My_misc_source misc/src/)
+ list(APPEND CMAKE_MODULE_PATH "${My_cmake_script}/Modules")
+ 
+-set (MAINTAINER "David allouche <david.allouche at toulouse.inra.fr>") #used in packaging 
++set (MAINTAINER "David Allouche <david.allouche at toulouse.inra.fr>") #used in packaging 
+ set (CONTACT "https://mulcyber.toulouse.inra.fr/projects/toulbar2/") #used in packaging
+ 
+ ################
+@@ -58,12 +57,13 @@
+ 	OPTION(LONG_PROBABILITY  "use long double to encode probabilities [default:on]" ON)
+ 
+ 	OPTION(BUILD_API_DOC "build documentation with doxygen [default:on]" ON)
++	OPTION(BUILD_API_DOC_LATEX "build PDF/LaTeX documentation with doxygen [default:off]" OFF)
+ 	OPTION(STATIC "static compilation flag [default: on]" OFF)
+ 	OPTION(verbose "verbose mode [default:on]" ON)
+ 	OPTION(COVER_TEST "cover test [default:on]" ON)
+ 	OPTION(BENCH "benchmarcking [default:on]" OFF)
+ 	OPTION(WITH_MEM_JEMALLOC "Enable malloc replacement (http://www.canonware.com/jemalloc)" ON)
+-	mark_as_advanced(WITH_MEM_JEMALLOC)
++	mark_as_advanced(WITH_MEM_JEMALLOC BUILD_API_DOC_LATEX)
+ 
+ 
+ ###########################
+@@ -118,7 +118,7 @@
+ SET(Default_bench_regexp "test ok" CACHE string "default regex searched in bench output")
+ 
+ 
+-	MARK_AS_ADVANCED(FORCE LIBTB2 BUILD_API_DOC verbose Boost FOPT CMAKE_INSTALL_PREFIX Default_test_timeout WIDE_STRING LONG_PROBABILITY)
++	MARK_AS_ADVANCED(FORCE LIBTB2 verbose Boost FOPT CMAKE_INSTALL_PREFIX Default_test_timeout WIDE_STRING LONG_PROBABILITY)
+ 	MARK_AS_ADVANCED(FORCE BUILD_SHARED_LIBS)
+ 
+ #############"
+@@ -414,27 +414,7 @@
+ #   Doc generation
+ ###################################################################################"
+ IF (BUILD_API_DOC)
+-
+-	SET (DOXYFILE_IN ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in)
+-	SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${My_Source})
+-
+-	# output directory for code source documentation
+-
+-	SET (DOXYFILE_OUTPUT_DIR ${My_doc}/dev)  
+-#	SET (DOXYFILE_LATEX_DIR ${DOXYFILE_OUTPUT_DIR}/latex)
+-#	SET (DOXYFILE_HTML_DIR ${DOXYFILE_OUTPUT_DIR}/html)
+-	SET (DOXYFILE_LATEX_DIR latex)
+-	SET (DOXYFILE_HTML_DIR html) 
+-	
+-	FIND_PACKAGE(Doxygen)
+-
+-   IF (DOXYGEN_FOUND)
+-	MESSAGE(STATUS "#### package doxygen found #############################")
+-	include(${My_cmake_script}/UseDoxygen.cmake)
+-   ELSE(DOXYGEN_FOUND)
+-	MESSAGE(STATUS "#### doxy packe not found .cmake cannot generate doc...#############################")
+-   ENDIF (DOXYGEN_FOUND)
+-
++  include(${My_cmake_script}/UseDoxygen.cmake)
+ ENDIF (BUILD_API_DOC)
+ 
+ ADD_CUSTOM_TARGET(man ALL)
diff --git a/debian/patches/series b/debian/patches/series
index 360e818..8248308 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,3 @@
 010-inhibit-version-generation
+020-give-time-for-test
+030-regenerate-doxydoc-at-compile-time

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/toulbar2.git



More information about the debian-science-commits mailing list