Warning, /games/skladnik/src/images/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2022 Friedrich W. H. Kossebau <kossebau@kde.org> 0002 # 0003 # SPDX-License-Identifier: BSD-3-Clause 0004 0005 find_package(POVRay) 0006 set_package_properties(POVRay PROPERTIES 0007 TYPE OPTIONAL 0008 PURPOSE "For rendering the games PNG images" 0009 ) 0010 0011 if(NOT POVRay_FOUND) 0012 return() 0013 endif() 0014 0015 0016 function(add_rendered_png output) 0017 cmake_parse_arguments(ARGS "" "SOURCE;WORKING_DIRECTORY;RESOLUTION" "DEPENDS" ${ARGN}) 0018 0019 if (NOT ARGS_SOURCE) 0020 message(FATAL_ERROR "SOURCE argument missing") 0021 endif() 0022 0023 if (NOT ARGS_RESOLUTION) 0024 set(resolution "+W192" "+H192") 0025 elseif (ARGS_RESOLUTION STREQUAL "STONE") 0026 set(resolution "+W192" "+H96") 0027 elseif (ARGS_RESOLUTION STREQUAL "HALFSTONE") 0028 set(resolution "+W96" "+H96") 0029 else() 0030 message(FATAL_ERROR "Unknown RESOLUTION value: ${ARGS_RESOLUTION}") 0031 endif() 0032 0033 # no antialias 0034 #set(antialias) 0035 # normal antialias 0036 #set(antialias "Antialias=on") 0037 # slow antialias 0038 set(antialias "Antialias=on" "Antialias_Threshold=0.0" "Antialias_Depth=9") 0039 # used version assumed by the creation date of the files 0040 set(versionhint "+MV3.0") 0041 0042 set(_workdir_arg) 0043 if(ARGS_WORKING_DIRECTORY) 0044 set(_workdir_arg "WORKING_DIRECTORY" ${ARGS_WORKING_DIRECTORY}) 0045 endif() 0046 0047 if(NOT IS_ABSOLUTE output) 0048 string(PREPEND output "${CMAKE_CURRENT_SOURCE_DIR}/") 0049 endif() 0050 0051 set(source ${ARGS_SOURCE}) 0052 if(NOT IS_ABSOLUTE source) 0053 string(PREPEND source "${CMAKE_CURRENT_SOURCE_DIR}/") 0054 endif() 0055 0056 get_filename_component(include ${source} DIRECTORY) 0057 0058 set(depends) 0059 foreach(d ${ARGS_DEPENDS}) 0060 if(NOT IS_ABSOLUTE d) 0061 string(PREPEND d "${CMAKE_CURRENT_SOURCE_DIR}/") 0062 endif() 0063 list(APPEND depends ${d}) 0064 endforeach() 0065 0066 # redirect all logging to file (openSUSE POV-Ray 3.7.0.10.unofficial fails to disable console though) 0067 get_filename_component(logbasename ${output} NAME) 0068 set(logredirect "-GA${logbasename}.log") 0069 0070 add_custom_command(OUTPUT ${output} 0071 COMMENT "Generating ${output}" 0072 ${_workdir_arg} 0073 COMMAND POVRay::POVRay ${antialias} ${versionhint} ${resolution} ${logredirect} +I${source} +L${include} +O${output} 0074 VERBATIM 0075 MAIN_DEPENDENCY ${sources} 0076 DEPENDS ${depends} 0077 ) 0078 endfunction() 0079 0080 add_rendered_png(treasure.png SOURCE treasure.pov DEPENDS goal.pov floor_common.inc) 0081 add_rendered_png(object.png SOURCE object.pov DEPENDS floor_common.inc) 0082 add_rendered_png(goal.png SOURCE goal.pov DEPENDS floor_common.inc) 0083 0084 add_rendered_png(man.png SOURCE man.pov DEPENDS man_common.inc floor_common.inc) 0085 add_rendered_png(saveman.png SOURCE saveman.pov DEPENDS man_common.inc goal.pov floor_common.inc) 0086 0087 add_rendered_png(halfstone_1.png SOURCE halfstone_1.pov DEPENDS stone_common.inc RESOLUTION HALFSTONE) 0088 add_rendered_png(halfstone_2.png SOURCE halfstone_2.pov DEPENDS stone_common.inc RESOLUTION HALFSTONE) 0089 add_rendered_png(halfstone_3.png SOURCE halfstone_3.pov DEPENDS stone_common.inc RESOLUTION HALFSTONE) 0090 add_rendered_png(halfstone_4.png SOURCE halfstone_4.pov DEPENDS stone_common.inc RESOLUTION HALFSTONE) 0091 0092 add_rendered_png(stone_1.png SOURCE stone_1.pov DEPENDS stone_common.inc RESOLUTION STONE) 0093 add_rendered_png(stone_2.png SOURCE stone_2.pov DEPENDS stone_common.inc RESOLUTION STONE) 0094 add_rendered_png(stone_3.png SOURCE stone_3.pov DEPENDS stone_common.inc RESOLUTION STONE) 0095 add_rendered_png(stone_4.png SOURCE stone_4.pov DEPENDS stone_common.inc RESOLUTION STONE) 0096 add_rendered_png(stone_5.png SOURCE stone_5.pov DEPENDS stone_common.inc RESOLUTION STONE) 0097 add_rendered_png(stone_6.png SOURCE stone_6.pov DEPENDS stone_common.inc RESOLUTION STONE)