cmake_minimum_required(VERSION 2.8.12) set(PROJECT demos) set(VULKAN_SRC 3rdparty/volk/volk.c vk/vk_awkward_triangle.cpp vk/vk_cbuffer_zoo.cpp vk/vk_draw_zoo.cpp vk/vk_helpers.cpp vk/vk_indirect.cpp vk/vk_overlay_test.cpp vk/vk_secondary_cmdbuf.cpp vk/vk_simple_triangle.cpp vk/vk_test.cpp vk/vk_vs_max_desc_set.cpp) set(OPENGL_SRC 3rdparty/glad/glad.c 3rdparty/glad/glad_glx.c gl/gl_buffer_updates.cpp gl/gl_cbuffer_zoo.cpp gl/gl_depthstencil_fbo.cpp gl/gl_large_bcn_arrays.cpp gl/gl_map_overrun.cpp gl/gl_midframe_context_create.cpp gl/gl_multi_window.cpp gl/gl_overlay_test.cpp gl/gl_runtime_bind_prog_to_pipe.cpp gl/gl_simple_triangle.cpp gl/gl_spirv_shader.cpp gl/gl_test.cpp gl/gl_test_linux.cpp gl/gl_unsized_ms_fbo_attachment.cpp gl/gl_vao_0.cpp) set(SRC main.cpp test_common.cpp linux/linux_platform.cpp linux/linux_window.cpp) project(demos) add_executable(demos ${SRC} ${VULKAN_SRC} ${OPENGL_SRC}) install(TARGETS demos DESTINATION .) target_include_directories(demos PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/vk/official PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_definitions(demos PRIVATE -DVK_USE_PLATFORM_XCB_KHR=1) target_link_libraries(demos PRIVATE -lX11 -lxcb -lX11-xcb ${CMAKE_DL_LIBS}) set_target_properties(demos PROPERTIES OUTPUT_NAME demos_x64)