option(BUILD_ICD "Build icd" ON)
if(UNIX)
- if(INSTALL_LVL_FILES)
- install(DIRECTORY "${PROJECT_SOURCE_DIR}/Vulkan-Headers/include/vulkan" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
- endif()
-
+ include(GNUInstallDirs)
# uninstall target
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
#target_link_Libraries(VkICD_${target} VkICD_utils)
add_dependencies(VkICD_${target} generate_helper_files generate_icd_files)
set_target_properties(VkICD_${target} PROPERTIES LINK_FLAGS "-Wl,-export-dynamic,-Bsymbolic,--exclude-libs,ALL")
- if(INSTALL_ICD_FILES)
+ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
install(TARGETS VkICD_${target} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ # Add targets for JSON file install on Linux.
+ # Need to remove the "./" from the library path before installing to system directories.
+ foreach (config_file ${ICD_JSON_FILES})
+ add_custom_target(${config_file}-staging-json ALL
+ COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/staging-json
+ COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/linux/${config_file}.json ${CMAKE_CURRENT_BINARY_DIR}/staging-json
+ COMMAND sed -i -e "/\"library_path\":/s$./libVkICD$libVkICD$" ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${config_file}.json
+ VERBATIM
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linux/${config_file}.json
+ )
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${config_file}.json DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/vulkan/explicit_layer.d)
+ endforeach(config_file)
endif()
endmacro()
endif()
include(macOS/vulkaninfo/vulkaninfo.cmake)
endif()
-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
- if(INSTALL_LVL_FILES)
- install(TARGETS vulkaninfo DESTINATION ${CMAKE_INSTALL_BINDIR})
- endif()
-endif()
-
if(WIN32)
target_compile_definitions(vulkaninfo PUBLIC -DVK_USE_PLATFORM_WIN32_KHR -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_WARNINGS)
endif()
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
- if(INSTALL_LVL_FILES)
- install(TARGETS vulkaninfo DESTINATION ${CMAKE_INSTALL_BINDIR})
- endif()
+ install(TARGETS vulkaninfo RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()