cmake_minimum_required(VERSION 3.7 FATAL_ERROR) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/bin") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/bin/release") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/bin/debug") set(CMAKE_DEBUG_POSTFIX "d") project (openVulkanoCpp) add_executable(openVulkanoCpp openVulkanoCpp/main.cpp) #Setup Vulkan find_package(Vulkan REQUIRED) set(Vulkan_LIBRARIES Vulkan::Vulkan) target_link_libraries(openVulkanoCpp PRIVATE ${Vulkan_LIBRARIES}) target_include_directories(openVulkanoCpp PUBLIC ${Vulkan_INCLUDE_DIR}) if (ANDROID) add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR) elseif (WIN32) add_definitions(-DVK_USE_PLATFORM_WIN32_KHR) else() add_definitions(-DVK_USE_PLATFORM_XCB_KHR) find_package(XCB REQUIRED) link_libraries(${XCB_LIBRARIES}) endif() set_property(TARGET openVulkanoCpp PROPERTY CXX_STANDARD 14) target_compile_options(openVulkanoCpp PRIVATE -Wall) # glfw if (NOT ANDROID) add_subdirectory(external/glfw EXCLUDE_FROM_ALL) add_dependencies(openVulkanoCpp glfw) target_include_directories(openVulkanoCpp PUBLIC external/glfw/include/GLFW) target_link_libraries(openVulkanoCpp PRIVATE glfw) endif() # glm add_subdirectory(external/glm EXCLUDE_FROM_ALL) target_link_libraries(openVulkanoCpp PRIVATE glm) # fmt #add_subdirectory(external/fmt EXCLUDE_FROM_ALL) #target_link_libraries(openVulkanoCpp PRIVATE fmt) # spdlog add_subdirectory(external/spdlog EXCLUDE_FROM_ALL) target_link_libraries(openVulkanoCpp PRIVATE spdlog) #add_definitions(-SPDLOG_FMT_EXTERNAL) # assimp add_subdirectory(external/assimp EXCLUDE_FROM_ALL) target_link_libraries(openVulkanoCpp PRIVATE assimp) target_sources(openVulkanoCpp PRIVATE openVulkanoCpp/Vulkan/FrameBuffer.cpp)