104 lines
2.5 KiB
CMake
104 lines
2.5 KiB
CMake
#############################################################################
|
|
# Name: build/cmake/demos/CMakeLists.txt
|
|
# Purpose: CMake script for demos
|
|
# Author: Tobias Taschner
|
|
# Created: 2016-10-21
|
|
# Copyright: (c) 2016 wxWidgets development team
|
|
# Licence: wxWindows licence
|
|
#############################################################################
|
|
|
|
function(wx_add_demo name)
|
|
cmake_parse_arguments(DEMO "" "NAME" "DATA;LIBRARIES" ${ARGN})
|
|
if(NOT DEMO_NAME)
|
|
set(DEMO_NAME ${name})
|
|
endif()
|
|
wx_list_add_prefix(src_files
|
|
"${wxSOURCE_DIR}/demos/${name}/"
|
|
${DEMO_UNPARSED_ARGUMENTS})
|
|
if(WIN32)
|
|
list(APPEND src_files ${wxSOURCE_DIR}/demos/${name}/${DEMO_NAME}.rc)
|
|
endif()
|
|
add_executable(${DEMO_NAME} WIN32 MACOSX_BUNDLE ${src_files})
|
|
if(DEMO_DATA)
|
|
# TODO: unify with data handling for samples
|
|
# TODO: handle data files differently for OS X bundles
|
|
# Copy data files to output directory
|
|
foreach(data_file ${DEMO_DATA})
|
|
list(APPEND cmds COMMAND ${CMAKE_COMMAND}
|
|
-E copy ${wxSOURCE_DIR}/demos/${name}/${data_file}
|
|
${wxOUTPUT_DIR}/${wxPLATFORM_LIB_DIR}/${data_file})
|
|
endforeach()
|
|
add_custom_command(
|
|
TARGET ${DEMO_NAME} ${cmds}
|
|
COMMENT "Copying demo data files...")
|
|
endif()
|
|
if(wxBUILD_SHARED)
|
|
target_compile_definitions(${DEMO_NAME} PRIVATE WXUSINGDLL)
|
|
endif()
|
|
wx_exe_link_libraries(${DEMO_NAME} core ${DEMO_LIBRARIES})
|
|
wx_set_common_target_properties(${DEMO_NAME})
|
|
set_target_properties(${DEMO_NAME} PROPERTIES FOLDER "Demos")
|
|
set_target_properties(${DEMO_NAME} PROPERTIES
|
|
VS_DEBUGGER_WORKING_DIRECTORY "${wxOUTPUT_DIR}/${wxCOMPILER_PREFIX}${wxARCH_SUFFIX}_${lib_suffix}"
|
|
)
|
|
endfunction()
|
|
|
|
wx_add_demo(bombs
|
|
bombs.cpp
|
|
bombs.h
|
|
bombs1.cpp
|
|
game.cpp
|
|
game.h
|
|
)
|
|
|
|
wx_add_demo(forty
|
|
canvas.cpp
|
|
canvas.h
|
|
card.cpp
|
|
card.h
|
|
forty.cpp
|
|
forty.h
|
|
game.cpp
|
|
game.h
|
|
pile.cpp
|
|
pile.h
|
|
playerdg.cpp
|
|
playerdg.h
|
|
scoredg.cpp
|
|
scoredg.h
|
|
scorefil.cpp
|
|
scorefil.h
|
|
DATA
|
|
about.htm
|
|
LIBRARIES
|
|
html xml
|
|
)
|
|
|
|
wx_add_demo(fractal
|
|
fractal.cpp
|
|
)
|
|
|
|
wx_add_demo(life
|
|
dialogs.cpp
|
|
dialogs.h
|
|
game.cpp
|
|
game.h
|
|
life.cpp
|
|
life.h
|
|
reader.cpp
|
|
reader.h
|
|
DATA
|
|
breeder.lif
|
|
)
|
|
|
|
wx_add_demo(poem
|
|
wxpoem.cpp
|
|
wxpoem.h
|
|
DATA
|
|
wxpoem.txt wxpoem.dat wxpoem.idx
|
|
LIBRARIES
|
|
html
|
|
NAME
|
|
wxpoem
|
|
)
|