mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 08:01:30 -07:00
Permit building GUI helper tools.
These look like puzzles, in that they link against a frontend and provide the usual 'struct game', but they don't count as a puzzle for purposes of shipping, or even having to have descriptions and icons. There's one of these buried in the code already under an ifdef, which I'll re-enable in the next commit.
This commit is contained in:
@ -4,6 +4,7 @@ to build as if official (separated by ';')")
|
||||
|
||||
set(build_individual_puzzles TRUE)
|
||||
set(build_cli_programs TRUE)
|
||||
set(build_gui_programs TRUE)
|
||||
set(build_icons FALSE)
|
||||
set(need_c_icons FALSE)
|
||||
|
||||
@ -90,6 +91,7 @@ function(puzzle NAME)
|
||||
set_property(TARGET ${EXENAME} PROPERTY objective ${OPT_OBJECTIVE})
|
||||
set_property(TARGET ${EXENAME} PROPERTY official ${official})
|
||||
set_platform_puzzle_target_properties(${NAME} ${EXENAME})
|
||||
set_platform_gui_target_properties(${EXENAME})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@ -109,6 +111,24 @@ function(cliprogram NAME)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# Similar to cliprogram, but builds a GUI helper tool, linked against
|
||||
# the normal puzzle frontend.
|
||||
function(guiprogram NAME)
|
||||
cmake_parse_arguments(OPT
|
||||
"" "COMPILE_DEFINITIONS" "" ${ARGN})
|
||||
|
||||
if(build_gui_programs)
|
||||
get_platform_puzzle_extra_source_files(extra_files nullgame)
|
||||
add_executable(${NAME} ${OPT_UNPARSED_ARGUMENTS} ${extra_files})
|
||||
target_link_libraries(${NAME}
|
||||
common ${platform_gui_libs} ${platform_libs})
|
||||
if(OPT_COMPILE_DEFINITIONS)
|
||||
target_compile_definitions(${NAME} PRIVATE ${OPT_COMPILE_DEFINITIONS})
|
||||
endif()
|
||||
set_platform_gui_target_properties(${NAME})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# A small wrapper around cliprogram, taking advantage of the common
|
||||
# formula that puzzle 'foo' often comes with 'foosolver'.
|
||||
function(solver NAME)
|
||||
|
Reference in New Issue
Block a user