diff options
Diffstat (limited to 'graphics/asymptote/cmake-scripts/asy-base-files.cmake')
-rw-r--r-- | graphics/asymptote/cmake-scripts/asy-base-files.cmake | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/graphics/asymptote/cmake-scripts/asy-base-files.cmake b/graphics/asymptote/cmake-scripts/asy-base-files.cmake new file mode 100644 index 0000000000..0622c21cb4 --- /dev/null +++ b/graphics/asymptote/cmake-scripts/asy-base-files.cmake @@ -0,0 +1,78 @@ +set(ASY_STATIC_BASE_FILES + animate animation annotate babel bezulate binarytree bsp CAD colormap + contour3 contour drawtree embed external feynman flowchart fontsize + geometry graph3 graph graph_settings graph_splinetype grid3 interpolate + labelpath3 labelpath lmfit map mapArray markers math metapost obj ode palette patterns + plain_arcs plain_arrows plain plain_bounds plain_boxes plain_constants plain_debugger + plain_filldraw plain_Label plain_margins plain_markers plain_paths plain_pens + plain_picture plain_prethree plain_scaling plain_shipout plain_strings pstoedit rational rationalSimplex + roundedpath simplex size10 size11 slide slopefield smoothcontour3 solids stats syzygy simplex2 + texcolors three_arrows three three_light three_margins three_surface three_tube tree + trembling tube v3d x11colors +) + +set(ASY_STATIC_SHADER_FILES + blend compress count fragment screen sum1 sum2 sum2fast + sum3 vertex zero +) + +set(OTHER_STATIC_BASE_FILES nopapersize.ps) + +# base dir +set(ASY_SOURCE_BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/base) +set(ASY_BUILD_BASE_DIR ${CMAKE_CURRENT_BINARY_DIR}/base) + +file(MAKE_DIRECTORY ${ASY_BUILD_BASE_DIR}) + +# version.asy +configure_file(${ASY_RESOURCE_DIR}/versionTemplate.asy.in ${ASY_BUILD_BASE_DIR}/version.asy) +list(APPEND ASY_OUTPUT_BASE_FILES ${ASY_BUILD_BASE_DIR}/version.asy) + +# copy base files to build dir +macro (copy_base_file_with_custom_output_name base_file_name output_file_name) + add_custom_command( + COMMAND ${CMAKE_COMMAND} -E copy + ${ASY_SOURCE_BASE_DIR}/${base_file_name} + ${ASY_BUILD_BASE_DIR}/${output_file_name} + OUTPUT ${ASY_BUILD_BASE_DIR}/${output_file_name} + MAIN_DEPENDENCY ${ASY_SOURCE_BASE_DIR}/${base_file_name} + ) + + list(APPEND ASY_OUTPUT_BASE_FILES ${ASY_BUILD_BASE_DIR}/${output_file_name}) +endmacro() + +macro (copy_base_file base_file_name) + copy_base_file_with_custom_output_name(${base_file_name} ${base_file_name}) +endmacro() + +foreach(ASY_STATIC_BASE_FILE ${ASY_STATIC_BASE_FILES}) + copy_base_file(${ASY_STATIC_BASE_FILE}.asy) +endforeach () + +foreach(OTHER_STATIC_BASE_FILE ${OTHER_STATIC_BASE_FILES}) + copy_base_file(${OTHER_STATIC_BASE_FILE}) +endforeach () + +file(MAKE_DIRECTORY ${ASY_BUILD_BASE_DIR}/shaders) +foreach(ASY_STATIC_SHADER_FILE ${ASY_STATIC_SHADER_FILES}) + copy_base_file(shaders/${ASY_STATIC_SHADER_FILE}.glsl) +endforeach () + +# generated csv files +foreach(csv_enum_file ${ASY_CSV_ENUM_FILES}) + add_custom_command( + OUTPUT ${ASY_BUILD_BASE_DIR}/${csv_enum_file}.asy + COMMAND ${PY3_INTERPRETER} ${ASY_SCRIPTS_DIR}/generate_enums.py + --language asy + --name ${csv_enum_file} + --input ${ASY_RESOURCE_DIR}/${csv_enum_file}.csv + --output ${ASY_BUILD_BASE_DIR}/${csv_enum_file}.asy + MAIN_DEPENDENCY ${ASY_RESOURCE_DIR}/${csv_enum_file}.csv + ) + + list(APPEND ASY_OUTPUT_BASE_FILES ${ASY_BUILD_BASE_DIR}/${csv_enum_file}.asy) +endforeach () + +# asygl +file(MAKE_DIRECTORY ${ASY_BUILD_BASE_DIR}/webgl) +copy_base_file_with_custom_output_name(webgl/asygl-${ASY_GL_VERSION}.js webgl/asygl.js) |