# Only build vulkanscinfo for target VulkanSC
set(SRC_FILES "vulkaninfo.cpp")
set(TARGET_NAME_VKSC "vulkanscinfo")


list(APPEND INCLUDE_PATH ${CMAKE_CURRENT_SOURCE_DIR})
list(APPEND INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/generated")

# vulkanscinfo is only run on target, so don't build VulkanSC binary for host.
if (NOT HOST_BUILD)
    add_executable(${TARGET_NAME_VKSC} ${SRC_FILES})
    target_include_directories(${TARGET_NAME_VKSC}  PUBLIC ${VULKANSC_HEADER_PATH})
    target_include_directories(${TARGET_NAME_VKSC}  PUBLIC ${INCLUDE_PATH})
    set_target_properties(${TARGET_NAME_VKSC}  PROPERTIES COMPILE_DEFINITIONS VULKANSC)
    if (DIRECT_DRIVER_LINK)
        # If the binary directly links to VulkanSC driver library, link all the dependencies.
        foreach (LIB ${VKSC_DEP_LIBS})
            target_link_libraries(${TARGET_NAME_VKSC} ${LIB})
        endforeach()
    endif()
    if (TARGET_OS STREQUAL "Linux")
        target_link_libraries(${TARGET_NAME_VKSC} dl)
    endif()
endif()
