cmake_minimum_required(VERSION 3.16) add_custom_target(JKQTMathText_GenerateDocImages COMMENT "Building JKQTMathText Documentation Images ..." ) add_custom_target(JKQTPlotter_GenerateDocScreenshots COMMENT "Building JKQTPlotter Documentation Screenshots ..." ) add_custom_target(JKQTPlotter_GenerateDocImages COMMENT "Building JKQTPlotter Documentation Images ..." ) add_custom_target(JKQTP_GenerateAllDocImages DEPENDS JKQTPlotter_GenerateDocImages JKQTPlotter_GenerateDocScreenshots JKQTMathText_GenerateDocImages ) if(JKQtPlotter_BUILD_TOOLS) # custom target that generates the images for the JKQTMathText documentation set(JKQTMathText_GenerateDocImages_DefaultOptions --resolution=96 --fontsize=15 --fontmathroman=XITS --background=white --sizeincrease=5) set(JKQTMathText_GenerateDocImages_StdInputFiles jkqtmathtext_docimages_accents.jkmt jkqtmathtext_docimages_boxes.jkmt jkqtmathtext_docimages_braces.jkmt jkqtmathtext_docimages_formating.jkmt jkqtmathtext_docimages_frac.jkmt jkqtmathtext_docimages_math.jkmt jkqtmathtext_docimages_matrix.jkmt jkqtmathtext_docimages_misc.jkmt jkqtmathtext_docimages_specialfonts.jkmt jkqtmathtext_docimages_symbolsandencoding.jkmt jkqtmathtext_docimages_spaces.jkmt ) set(JKQTMathText_GenerateDocImages_COMMAND $ ${JKQTMathText_GenerateDocImages_DefaultOptions}) set(JKQTMathText_GenerateDocImages_OutputDir "${CMAKE_CURRENT_LIST_DIR}/images/jkqtmathtext/") foreach(file ${JKQTMathText_GenerateDocImages_StdInputFiles}) string(REGEX MATCH ".*_([^_\.]+)\.[A-Za-z]+" dummy ${file}) set(loc_name ${CMAKE_MATCH_1}) string(TOUPPER ${loc_name} loc_name_upper ${file}) set(loc_target_name "JKQTMathText_GenerateDocImages_${loc_name}") add_custom_target(${loc_target_name} COMMENT "Building JKQTMathText Documentation Images: ${loc_name_upper}" COMMAND ${JKQTMathText_GenerateDocImages_COMMAND} --inputfile="${CMAKE_CURRENT_LIST_DIR}/${file}" --outputdir="${JKQTMathText_GenerateDocImages_OutputDir}" WORKING_DIRECTORY ${JKQtPlotter_QT_BINDIR} DEPENDS jkqtmathtext_render ) add_dependencies(JKQTMathText_GenerateDocImages ${loc_target_name}) unset(loc_name) unset(loc_target_name) unset(loc_name_upper) unset(dummy) endforeach() add_custom_target(JKQTMathText_GenerateDocImages_listsymbols COMMENT "Building JKQTMathText Documentation Images: LISTSYMBOLS" COMMAND ${JKQTMathText_GenerateDocImages_COMMAND} --listsymbolsfonts=XITS_MATHANDTEXT,FIRA_MATHANDTEXT --listsymbols="${CMAKE_CURRENT_LIST_DIR}/dox/jkqtmathtext_supportedlatexsymbols.dox" --outputdir="${JKQTMathText_GenerateDocImages_OutputDir}/symbols/" WORKING_DIRECTORY ${JKQtPlotter_QT_BINDIR} DEPENDS jkqtmathtext_render ) add_dependencies(JKQTMathText_GenerateDocImages JKQTMathText_GenerateDocImages_listsymbols) endif() if(JKQtPlotter_BUILD_TOOLS) # custom target that generates the images for the JKQTPlotter documentation set(JKQTPlotter_GenerateDocImages_DefaultOptions ) set(JKQTPlotter_GenerateDocImages_COMMAND $ ${JKQTPlotter_GenerateDocImages_DefaultOptions}) set(JKQTPlotter_GenerateDocImages_OutputDir "${CMAKE_CURRENT_LIST_DIR}/images/") add_custom_target(JKQTPlotter_GenerateDocImages_listplotsymbols COMMENT "Building JKQTPlotter Documentation Images: LISTPLOTSYMBOLS" COMMAND ${JKQTPlotter_GenerateDocImages_COMMAND} --listsymbols --iconsize=32 --outputdir="${JKQTPlotter_GenerateDocImages_OutputDir}/symbols/" WORKING_DIRECTORY ${JKQtPlotter_QT_BINDIR} DEPENDS jkqtplotter_doc_imagegenerator ) add_dependencies(JKQTPlotter_GenerateDocImages JKQTPlotter_GenerateDocImages_listplotsymbols) add_custom_target(JKQTPlotter_GenerateDocImages_listlinedecorators COMMENT "Building JKQTPlotter Documentation Images: LISTLINEDECORATORS" COMMAND ${JKQTPlotter_GenerateDocImages_COMMAND} --listlinedecorators --iconsize=32 --outputdir="${JKQTPlotter_GenerateDocImages_OutputDir}/linedecorators/" WORKING_DIRECTORY ${JKQtPlotter_QT_BINDIR} DEPENDS jkqtplotter_doc_imagegenerator ) add_dependencies(JKQTPlotter_GenerateDocImages JKQTPlotter_GenerateDocImages_listlinedecorators) add_custom_target(JKQTPlotter_GenerateDocImages_listerrorindicators COMMENT "Building JKQTPlotter Documentation Images: listerrorindicators" COMMAND ${JKQTPlotter_GenerateDocImages_COMMAND} --listerrorindicators --iconsize=32 --outputdir="${JKQTPlotter_GenerateDocImages_OutputDir}/errorindicators/" WORKING_DIRECTORY ${JKQtPlotter_QT_BINDIR} DEPENDS jkqtplotter_doc_imagegenerator ) add_dependencies(JKQTPlotter_GenerateDocImages JKQTPlotter_GenerateDocImages_listerrorindicators) endif(JKQtPlotter_BUILD_TOOLS) if(JKQtPlotter_BUILD_EXAMPLES) # custom target that generates the images for the JKQTMathText documentation set(JKQTPlotter_GenerateDocScreenshots_DefaultOptions --screenshotdir="${CMAKE_CURRENT_LIST_DIR}/../screenshots/" --screenshot --disablehighdpi --smallscreenshotplot) # list examples for which to save a screenshot # the output basename equals the example name in this list, # unless you specify the basenames by adding it/them after a slash '/' # e.g. "barchart/barchart,barchart_hor" # the basenames are applied to the windows in the order of their windowTitle()s! set(JKQTPlotter_GenerateDocScreenshots_From scatter/scatter,scatter_error scatter_customsymbol simpletest barchart/barchart,barchart_hor barchart_twocolor/barchart_twocolor,barchart_twocolor_hor barchart_errorbars/barchart_errorbars,barchart_errorbars_hor wiggleplots/wiggleplot_x,wiggleplot_y advplotstyling/advancedlineandfillstyling boxplot contourplot violinplot/violinplot_hor,violinplot_vert errorbarstyles dateaxes/dateaxes,dateaxes_timeaxis distributionplot/test_distributionplot evalcurve filledgraphs/filledgraphs,filledgraphs_y filledgraphs_errors/filledgraphs_errors,filledgraphs_errors_y functionplot/functionplot,functionplot_fy styledboxplot/test_styledboxplot multiplot/multiplot,multiplot_controlwindow #symbols_and_styles symbols_and_errors stepplots stackedbars/stackedbars,stackedbars_hor #geo_arrows #geo_simple geometric imageplot imageplot_modifier imageplot_nodatastore imageplot_userpal/imageplot_userpal_program impulsesplot parametriccurve/parametriccurve1,parametriccurve2 paramscatterplot paramscatterplot_customsymbol #paramscatterplot_image parsedfunctionplot rgbimageplot rgbimageplot_qt mandelbrot #speed ) # custom target that generates the images for the JKQTMathText documentation set(JKQTPlotter_GenerateDocImage_DefaultOptions --screenshotdir="${CMAKE_CURRENT_LIST_DIR}/../doc/images/" --screenshotplot --disablehighdpi) set(JKQTPlotter_GenerateDocImages_From stackedbars/JKQTPbarVerticalGraphStacked,JKQTPbarHorizontalGraphStacked/--smallscreenshotplot scatter/JKQTPXYScatterGraph,JKQTPXYScatterErrorGraph/--smallscreenshotplot simpletest/JKQTPXYLineGraph/--smallscreenshotplot barchart/JKQTPBarVerticalGraph,JKQTPBarHorizontalGraph/--smallscreenshotplot barchart_twocolor/JKQTPBarVerticalGraphTwoColorFilling,JKQTPBarHorizontalGraphTwoColorFilling/--smallscreenshotplot barchart_errorbars/JKQTPBarVerticalErrorGraph,JKQTPBarHorizontalErrorGraph/--smallscreenshotplot wiggleplots/JKQTPFilledCurveXGraph_wiggle,JKQTPFilledCurveYGraph_wiggle contourplot/JKQTPColumnContourPlot/--smallscreenshotplot filledgraphs/JKQTPFilledCurveXGraph,JKQTPFilledCurveYGraph/--smallscreenshotplot filledgraphs_errors/JKQTPFilledCurveXErrorGraph,JKQTPFilledCurveYErrorGraph/--smallscreenshotplot evalcurve/JKQTPXYFunctionLineGraph/--smallscreenshotplot ) foreach(ex ${JKQTPlotter_GenerateDocScreenshots_From}) string(REGEX MATCH "(.+)/(.+)" dummy ${ex}) set(extra_command "") if(CMAKE_MATCH_1 STREQUAL "" OR CMAKE_MATCH_2 STREQUAL "") set(example ${ex}) set(basename ${ex}) else() set(example ${CMAKE_MATCH_1}) set(basename ${CMAKE_MATCH_2}) if(NOT (CMAKE_MATCH_3 STREQUAL "")) set(example ${CMAKE_MATCH_1}) set(basename ${CMAKE_MATCH_2}) set(extra_command ${CMAKE_MATCH_3}) endif() endif() set(loc_target_name JKQTPlotter_GenerateDocScreenshots_${example}) set(dep_name jkqtptest_${example}) string(TOUPPER ${example} example_upper) add_custom_target(${loc_target_name} COMMENT "Building JKQTPlotter Documentation Screenshot: ${example_upper}" COMMAND $ ${JKQTPlotter_GenerateDocScreenshots_DefaultOptions} --screenshotbasename=${basename} ${extra_command} WORKING_DIRECTORY ${JKQtPlotter_QT_BINDIR} DEPENDS ${dep_name} ) add_dependencies(JKQTPlotter_GenerateDocScreenshots ${loc_target_name}) unset(loc_target_name) unset(dep_name) unset(example) unset(example_upper) unset(basename) endforeach() foreach(ex ${JKQTPlotter_GenerateDocImages_From}) string(REGEX MATCH "(.+)/(.+)" dummy ${ex}) set(extra_command "") if(CMAKE_MATCH_1 STREQUAL "" OR CMAKE_MATCH_2 STREQUAL "") set(example ${ex}) set(basename ${ex}) else() set(example ${CMAKE_MATCH_1}) set(basename ${CMAKE_MATCH_2}) string(REGEX MATCH "(.+)/(.*)/(.+)" dummy ${ex}) if(NOT (CMAKE_MATCH_3 STREQUAL "")) set(example ${CMAKE_MATCH_1}) set(basename ${CMAKE_MATCH_2}) set(extra_command ${CMAKE_MATCH_3}) endif() endif() set(loc_target_name JKQTPlotter_GenerateDocImages_${example}) set(dep_name jkqtptest_${example}) string(TOUPPER ${example} example_upper) add_custom_target(${loc_target_name} COMMENT "Building JKQTPlotter Documentation Image: ${example_upper}" COMMAND $ ${JKQTPlotter_GenerateDocImage_DefaultOptions} --screenshotbasename=${basename} ${extra_command} WORKING_DIRECTORY ${JKQtPlotter_QT_BINDIR} DEPENDS ${dep_name} ) add_dependencies(JKQTPlotter_GenerateDocImages ${loc_target_name}) unset(loc_target_name) unset(dep_name) unset(example) unset(example_upper) unset(basename) endforeach() endif()