diff options
Diffstat (limited to 'cmake/platforms/windows.cmake')
| -rw-r--r-- | cmake/platforms/windows.cmake | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/cmake/platforms/windows.cmake b/cmake/platforms/windows.cmake new file mode 100644 index 0000000..dd27148 --- /dev/null +++ b/cmake/platforms/windows.cmake @@ -0,0 +1,40 @@ +set(platform_common_sources windows.c printing.c) + +set(platform_gui_libs + user32.lib gdi32.lib comctl32.lib comdlg32.lib winspool.lib) + +set(platform_libs) + +add_compile_definitions(_CRT_SECURE_NO_WARNINGS) + +function(get_platform_puzzle_extra_source_files OUTVAR NAME) + set(${OUTVAR} ${CMAKE_SOURCE_DIR}/puzzles.rc PARENT_SCOPE) +endfunction() + +function(set_platform_puzzle_target_properties NAME TARGET) + if(DEFINED ICO_DIR AND EXISTS ${ICO_DIR}/${NAME}.ico) + target_compile_definitions(${TARGET} PRIVATE ICON_FILE=\"${ICO_DIR}/${NAME}.ico\") + endif() + set_target_properties(${TARGET} PROPERTIES WIN32_EXECUTABLE ON) +endfunction() + +function(build_platform_extras) + write_generated_games_header() + + file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/gamedesc.txt "") + list(SORT puzzle_names) + foreach(name ${puzzle_names}) + file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/gamedesc.txt "\ +${name}:\ +${exename_${name}}.exe:\ +${displayname_${name}}:\ +${description_${name}}:\ +${objective_${name}}\n") + endforeach() + + add_executable(puzzles windows.c list.c ${puzzle_sources}) + target_compile_definitions(puzzles PRIVATE COMBINED) + target_include_directories(puzzles PRIVATE ${generated_include_dir}) + target_link_libraries(puzzles common ${platform_gui_libs} ${platform_libs}) + set_target_properties(puzzles PROPERTIES WIN32_EXECUTABLE ON) +endfunction() |