# Rules for building the demo. Doesn't use an installed gme if you've already # installed the project so if you're copying these rules you probably don't # even need these next two lines if you're building against system-installed # gme. include_directories(${CMAKE_SOURCE_DIR}/gme ${CMAKE_SOURCE_DIR}) link_directories(${CMAKE_BINARY_DIR}/gme) set (CMAKE_C_STANDARD 99) add_executable(demo Wave_Writer.cpp basics.c) # Add command to copy build file over. add_custom_command(TARGET demo POST_BUILD COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/test.nsf" ${CMAKE_CURRENT_BINARY_DIR} COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/test/checksums" ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Add convenience copy of test.nsf file for demo application" VERBATIM) # VERBATIM is essentially required, "please use correct command line kthx" target_link_libraries(demo gme::gme) add_executable(demo_mem Wave_Writer.cpp basics_mem.c) add_custom_command(TARGET demo_mem POST_BUILD COMMAND cmake -E copy "${CMAKE_SOURCE_DIR}/test.vgz" ${CMAKE_CURRENT_BINARY_DIR} COMMENT "Add convenience copy of test.vgz file for demo application" VERBATIM) # VERBATIM is essentially required, "please use correct command line kthx" target_link_libraries(demo_mem gme::gme) add_executable(demo_multi Wave_Writer.cpp basics_multi.c) target_link_libraries(demo_multi gme::gme) # # Testing # if(GME_BUILD_TESTING) add_test(NAME sanity_test_NSF COMMAND demo) add_test(NAME check_proper_NSF_output COMMAND sha256sum -c "${CMAKE_CURRENT_BINARY_DIR}/checksums") endif()