diff options
| author | Juan Ramos <juan@lunarg.com> | 2023-09-22 11:43:06 -0600 |
|---|---|---|
| committer | Juan Ramos <114601453+juan-lunarg@users.noreply.github.com> | 2023-09-22 12:43:49 -0600 |
| commit | 9616098f617c4a53ecb72a1456bb229989e2d0e4 (patch) | |
| tree | b3d64fe1b07b2486cc4ed41867bfebe61fef10b4 | |
| parent | 6944374dff6d0f9aa9735ca38811ffa6437d955f (diff) | |
| download | usermoji-9616098f617c4a53ecb72a1456bb229989e2d0e4.tar.xz | |
cmake: Fix ICD json logic
closes #861
| -rw-r--r-- | BUILD.gn | 80 | ||||
| -rw-r--r-- | CMakeLists.txt | 3 | ||||
| -rwxr-xr-x | build-gn/generate_vulkan_layers_json.py | 36 | ||||
| -rw-r--r-- | icd/CMakeLists.txt | 200 | ||||
| -rw-r--r-- | icd/VkICD_mock_icd.json.in (renamed from icd/macos/VkICD_mock_icd.json) | 3 | ||||
| -rw-r--r-- | icd/linux/VkICD_mock_icd.json | 12 | ||||
| -rw-r--r-- | icd/windows/VkICD_mock_icd.json | 12 |
7 files changed, 137 insertions, 209 deletions
@@ -1,5 +1,5 @@ # Copyright (C) 2018-2019 The ANGLE Project Authors. -# Copyright (C) 2019, 2023 LunarG, Inc. +# Copyright (C) 2019-2023 LunarG, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -16,32 +16,6 @@ import("//build_overrides/build.gni") import("//build_overrides/vulkan_tools.gni") -# Vulkan-tools isn't ported to Fuchsia yet. -# TODO(spang): Port mock ICD to Fuchsia. -assert(!is_fuchsia) - -config("vulkan_internal_config") { - defines = [ "VULKAN_NON_CMAKE_BUILD" ] - if (is_clang || !is_win) { - cflags = [ "-Wno-unused-function" ] - } - if (is_linux || is_chromeos) { - defines += [ - "SYSCONFDIR=\"/etc\"", - "FALLBACK_CONFIG_DIRS=\"/etc/xdg\"", - "FALLBACK_DATA_DIRS=\"/usr/local/share:/usr/share\"", - ] - } -} - -# Vulkan tool generated utility headers -source_set("vulkan_tools_headers") { - public_deps = [ "$vulkan_headers_dir:vulkan_headers" ] - sources = [ - "icd/generated/vk_typemap_helper.h", - ] -} - if (!is_android) { vulkan_undefine_configs = [] if (is_win && build_with_chromium) { @@ -51,23 +25,20 @@ if (!is_android) { ] } - raw_vulkan_icd_dir = rebase_path("icd", root_build_dir) - - vulkan_data_dir = "$root_out_dir/$vulkan_data_subdir" - raw_vulkan_data_dir = rebase_path(vulkan_data_dir, root_build_dir) - # Vulkan Mock ICD # --------------- shared_library("VkICD_mock_icd") { configs -= vulkan_undefine_configs - deps = [ ":vulkan_tools_headers" ] - public_deps = [ "$vulkan_headers_dir:vulkan_headers" ] + deps = [ + "$vulkan_headers_dir:vulkan_headers" + ] data_deps = [ ":vulkan_gen_icd_json_file" ] sources = [ "icd/mock_icd.h", "icd/mock_icd.cpp", "icd/generated/function_declarations.h", "icd/generated/function_definitions.h", + "icd/generated/vk_typemap_helper.h", ] include_dirs = [ "icd", @@ -84,25 +55,34 @@ if (!is_android) { action("vulkan_gen_icd_json_file") { script = "build-gn/generate_vulkan_layers_json.py" + public_deps = [ "$vulkan_headers_dir:vulkan_headers" ] - sources = [ "$vulkan_headers_dir/include/vulkan/vulkan_core.h" ] - args = [ "--icd" ] - if (is_win) { - sources += [ "icd/windows/VkICD_mock_icd.json" ] - args += [ "$raw_vulkan_icd_dir/windows" ] - } - if (is_linux || is_chromeos) { - sources += [ "icd/linux/VkICD_mock_icd.json" ] - args += [ "$raw_vulkan_icd_dir/linux" ] - } - if (is_mac) { - sources += [ "icd/macos/VkICD_mock_icd.json" ] - args += [ "$raw_vulkan_icd_dir/macos" ] - } - # The layer JSON files are part of the necessary data deps. + sources = [ "icd/VkICD_mock_icd.json.in" ] + + vulkan_data_dir = "$root_out_dir/$vulkan_data_subdir" + outputs = [ "$vulkan_data_dir/VkICD_mock_icd.json" ] + + if (is_linux) { + _platform = "Linux" + } else if (is_win) { + _platform = "Windows" + } else if (is_mac) { + _platform = "Darwin" + } else if (is_fuchsia) { + _platform = "Fuchsia" + } else { + _platform = "Other" + } + + args = [ + "--icd", + "--platform", _platform, + rebase_path("icd/", root_build_dir), + rebase_path(vulkan_data_dir, root_build_dir) + ] + rebase_path(sources, root_build_dir) + data = outputs - args += [ raw_vulkan_data_dir ] + rebase_path(sources, root_build_dir) } } diff --git a/CMakeLists.txt b/CMakeLists.txt index efc3f1e8..67dfd348 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,9 +34,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake") option(BUILD_CUBE "Build cube" ON) option(BUILD_VULKANINFO "Build vulkaninfo" ON) option(BUILD_ICD "Build icd" ON) -# Installing the Mock ICD to system directories is probably not desired since this ICD is not a very complete implementation. -# Require the user to ask that it be installed if they really want it. -option(INSTALL_ICD "Install icd" OFF) if (UNIX AND NOT APPLE) # i.e. Linux option(ENABLE_ADDRESS_SANITIZER "Use addres sanitization" OFF) diff --git a/build-gn/generate_vulkan_layers_json.py b/build-gn/generate_vulkan_layers_json.py index 93d105b6..c4135db4 100755 --- a/build-gn/generate_vulkan_layers_json.py +++ b/build-gn/generate_vulkan_layers_json.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # Copyright (C) 2016 The ANGLE Project Authors. +# Copyright (c) 2022-2023 LunarG, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -26,18 +27,19 @@ import os import platform import sys - def glob_slash(dirname): """Like regular glob but replaces \ with / in returned paths.""" return [s.replace('\\', '/') for s in glob.glob(dirname)] - def main(): parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('--icd', action='store_true') + parser.add_argument('--no-path-prefix', action='store_true') + parser.add_argument('--platform', type=str, default=platform.system(), + help='Target platform to build validation layers for: ' + 'Linux|Darwin|Windows|Fuchsia|...') parser.add_argument('source_dir') parser.add_argument('target_dir') - parser.add_argument('version_header', help='path to vulkan_core.h') parser.add_argument('json_files', nargs='*') args = parser.parse_args() @@ -82,25 +84,17 @@ def main(): with open(target_fname, 'w') as outfile: json.dump(data, outfile) - # Get the Vulkan version from the vulkan_core.h file - vk_header_filename = args.version_header - vk_version = None - with open(vk_header_filename) as vk_header_file: - for line in vk_header_file: - if line.startswith('#define VK_HEADER_VERSION'): - vk_version = line.split()[-1] - break - if not vk_version: - print('failed to extract vk_version', file=sys.stderr) - return 1 - # Set json file prefix and suffix for generating files, default to Linux. - relative_path_prefix = '../lib' - file_type_suffix = '.so' - if platform.system() == 'Windows': + if args.no_path_prefix: + relative_path_prefix = '' + elif args.platform == 'Windows': relative_path_prefix = r'..\\' # json-escaped, hence two backslashes. + else: + relative_path_prefix = '../lib' + file_type_suffix = '.so' + if args.platform == 'Windows': file_type_suffix = '.dll' - elif platform.system() == 'Darwin': + elif args.platform == 'Darwin': file_type_suffix = '.dylib' # For each *.json.in template files in source dir generate actual json file @@ -119,9 +113,7 @@ def main(): with open(json_out_fname,'w') as json_out_file, \ open(json_in_name) as infile: for line in infile: - line = line.replace('@RELATIVE_LAYER_BINARY@', - relative_path_prefix + layer_lib_name) - line = line.replace('@VK_VERSION@', '1.1.' + vk_version) + line = line.replace('@JSON_LIBRARY_PATH@', relative_path_prefix + layer_lib_name) json_out_file.write(line) if __name__ == '__main__': diff --git a/icd/CMakeLists.txt b/icd/CMakeLists.txt index 3311f572..f36849de 100644 --- a/icd/CMakeLists.txt +++ b/icd/CMakeLists.txt @@ -16,6 +16,10 @@ # limitations under the License. # ~~~ +if (ANDROID) + return() +endif() + # These variables enable downstream users to customize the CMake targets # based on the target API variant (e.g. Vulkan SC) set(MOCK_ICD_NAME VkICD_mock_icd) @@ -23,8 +27,6 @@ set(GENERATED generated) if(WIN32) add_definitions(-DVK_USE_PLATFORM_WIN32_KHR -DVK_USE_PLATFORM_WIN32_KHX -DWIN32_LEAN_AND_MEAN) -elseif(ANDROID) - add_definitions(-DVK_USE_PLATFORM_ANDROID_KHR -DVK_USE_PLATFORM_ANDROID_KHX) elseif(APPLE) add_definitions(-DVK_USE_PLATFORM_MACOS_MVK) elseif(UNIX AND NOT APPLE) # i.e. Linux @@ -43,128 +45,110 @@ else() message(FATAL_ERROR "Unsupported Platform!") endif() -# Copy or link the JSON files to the binary directory for ease of use in the build tree. -if(WIN32) - # extra setup for out-of-tree builds - if(NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)) - if(CMAKE_GENERATOR MATCHES "^Visual Studio.*") - file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/windows/${MOCK_ICD_NAME}.json src_json) - file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${MOCK_ICD_NAME}.json dst_json) - add_custom_target(VkICD_mock_icd-json ALL COMMAND copy ${src_json} ${dst_json} VERBATIM) - set_target_properties(VkICD_mock_icd-json PROPERTIES FOLDER ${TOOLS_HELPER_FOLDER}) - else() - file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/windows/${MOCK_ICD_NAME}.json src_json) - file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/${MOCK_ICD_NAME}.json dst_json) - add_custom_target(VkICD_mock_icd-json ALL COMMAND copy ${src_json} ${dst_json} VERBATIM) - endif() - endif() -elseif(APPLE) - # extra setup for out-of-tree builds - if(NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)) - if(CMAKE_GENERATOR MATCHES "^Xcode.*") - add_custom_target(mk_icd_config_dir ALL - COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>) - add_custom_target(VkICD_mock_icd-json ALL - DEPENDS mk_icd_config_dir - COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/macos/${MOCK_ICD_NAME}.json - $<CONFIG> ${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/${MOCK_ICD_NAME}.json - VERBATIM) - else() - add_custom_target(VkICD_mock_icd-json ALL - COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/macos/${MOCK_ICD_NAME}.json - ${MOCK_ICD_NAME}.json - VERBATIM) - endif() +add_custom_target(generate_icd_files + DEPENDS mock_icd.cpp ${GENERATED}/function_definitions.h ${GENERATED}/function_declarations.h +) +set_target_properties( + generate_icd_files PROPERTIES FOLDER ${TOOLS_HELPER_FOLDER} +) + +add_library(VkICD_mock_icd MODULE) +target_sources(VkICD_mock_icd PRIVATE mock_icd.cpp) +target_link_libraries(VkICD_mock_icd PRIVATE Vulkan::Headers) + +target_include_directories(VkICD_mock_icd PRIVATE + ${GENERATED} + . +) +if(BUILD_WSI_WAYLAND_SUPPORT) + target_include_directories(VkICD_mock_icd PRIVATE ${WAYLAND_CLIENT_INCLUDE_DIR}) +endif() + +if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU|Clang") + target_compile_options(VkICD_mock_icd PRIVATE + -Wpointer-arith + -Wno-unused-function + -Wno-sign-compare + ) + + if (ENABLE_ADDRESS_SANITIZER) + target_compile_options(VkICD_mock_icd PUBLIC -fsanitize=address) + target_link_options(VkICD_mock_icd PUBLIC -fsanitize=address) endif() +endif() + +if(MSVC) + target_compile_options(VkICD_mock_icd PRIVATE /bigobj) + target_compile_definitions(VkICD_mock_icd PRIVATE _CRT_SECURE_NO_WARNINGS) + target_link_options(VkICD_mock_icd PRIVATE /DEF:${CMAKE_CURRENT_SOURCE_DIR}/${MOCK_ICD_NAME}.def) +elseif(MINGW) + target_sources(VkICD_mock_icd PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/${MOCK_ICD_NAME}.def) else() - # extra setup for out-of-tree builds - if(NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)) - add_custom_target(VkICD_mock_icd-json ALL - COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_SOURCE_DIR}/linux/${MOCK_ICD_NAME}.json - ${MOCK_ICD_NAME}.json - VERBATIM) + if(APPLE) + set_target_properties(VkICD_mock_icd PROPERTIES SUFFIX ".dylib") endif() + message(DEBUG "Mock ICD Functions are exported via EXPORT") endif() -# For ICD with a direct dependency on a project with the same name, use it. -if(NOT (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)) - add_dependencies(VkICD_mock_icd-json VkICD_mock_icd) +set_target_properties(VkICD_mock_icd PROPERTIES OUTPUT_NAME ${MOCK_ICD_NAME}) + +# Installing the Mock ICD to system directories is probably not desired since this ICD is not a very complete implementation. +# Require the user to ask that it be installed if they really want it. +option(INSTALL_ICD "Install icd") +if (INSTALL_ICD) + message(STATUS "Installing Mock ICD") endif() -add_custom_target(generate_icd_files DEPENDS mock_icd.cpp ${GENERATED}/function_definitions.h ${GENERATED}/function_declarations.h) -set_target_properties(generate_icd_files PROPERTIES FOLDER ${TOOLS_HELPER_FOLDER}) - -include_directories(${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/${GENERATED} - ${CMAKE_CURRENT_BINARY_DIR} - ${PROJECT_BINARY_DIR} - ${CMAKE_BINARY_DIR}) -if(BUILD_WSI_WAYLAND_SUPPORT) - include_directories(${WAYLAND_CLIENT_INCLUDE_DIR}) + +# There are 2 primary deliverables for the mock driver. +# - The actual library (lib)VkICD_mock_icd.(dll|so|dylib) +# - The respective json file, VkICD_mock_icd.json +# This code generates the appropriate json for both local testing and the installation. +# NOTE: For WIN32 the JSON and dll MUST be placed in the same location, due to Win32 using a relative path for installation. +set(INPUT_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${MOCK_ICD_NAME}.json.in") +set(INTERMEDIATE_FILE "${CMAKE_CURRENT_BINARY_DIR}/json/mock_icd.json") +set(OUTPUT_FILE_FINAL_NAME "${MOCK_ICD_NAME}.json") +set(LAYER_INSTALL_DIR ${CMAKE_INSTALL_LIBDIR}) +if (WIN32) + set(LAYER_INSTALL_DIR ${CMAKE_INSTALL_BINDIR}) # WIN32/MINGW expect the dll in the `bin` dir, this matches our WIN32 SDK process endif() -if(WIN32) - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_CRT_SECURE_NO_WARNINGS") - set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_CRT_SECURE_NO_WARNINGS") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -D_CRT_SECURE_NO_WARNINGS") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -D_CRT_SECURE_NO_WARNINGS") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_CRT_SECURE_NO_WARNINGS /bigobj") - set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_CRT_SECURE_NO_WARNINGS /bigobj") - # Turn off transitional "changed behavior" warning message for Visual Studio versions prior to 2015. The changed behavior is - # that constructor initializers are now fixed to clear the struct members. - add_compile_options("$<$<AND:$<CXX_COMPILER_ID:MSVC>,$<VERSION_LESS:$<CXX_COMPILER_VERSION>,19>>:/wd4351>") +if (WIN32) + set(JSON_LIBRARY_PATH ".\\\\${MOCK_ICD_NAME}.dll") +elseif(APPLE) + set(JSON_LIBRARY_PATH "./lib${MOCK_ICD_NAME}.dylib") else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wpointer-arith -Wno-unused-function -Wno-sign-compare") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wpointer-arith -Wno-unused-function -Wno-sign-compare") + set(JSON_LIBRARY_PATH "./lib${MOCK_ICD_NAME}.so") endif() +configure_file(${INPUT_FILE} ${INTERMEDIATE_FILE} @ONLY) -if(WIN32) - file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/${MOCK_ICD_NAME}.def DEF_FILE) - add_custom_target(copy-mock_icd-def-file ALL - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DEF_FILE} ${MOCK_ICD_NAME}.def - VERBATIM) - set_target_properties(copy-mock_icd-def-file PROPERTIES FOLDER ${TOOLS_HELPER_FOLDER}) - add_library(VkICD_mock_icd SHARED mock_icd.cpp ${MOCK_ICD_NAME}.def) - target_link_libraries(VkICD_mock_icd PRIVATE Vulkan::Headers) - if(INSTALL_ICD) - install(TARGETS VkICD_mock_icd DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() -elseif(APPLE) - add_library(VkICD_mock_icd SHARED mock_icd.cpp ) - target_link_libraries(VkICD_mock_icd PRIVATE Vulkan::Headers) - set_target_properties(VkICD_mock_icd PROPERTIES LINK_FLAGS "-Wl") - if(INSTALL_ICD) - install(TARGETS VkICD_mock_icd DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) +# To support both multi/single configuration generators just copy the json to the correct directory +add_custom_command(TARGET VkICD_mock_icd POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${INTERMEDIATE_FILE} $<TARGET_FILE_DIR:VkICD_mock_icd>/${OUTPUT_FILE_FINAL_NAME} +) + +# For UNIX-based systems, `library_path` should not contain a relative path (indicated by "./") before installing to system directories +# This json isn't used for regular local development, it's used for installation +if (UNIX) + set(UNIX_INTERMEDIATE_FILE "${CMAKE_CURRENT_BINARY_DIR}/json/unix_install_mock_icd.json") + + if(APPLE) + set(JSON_LIBRARY_PATH "lib${MOCK_ICD_NAME}.dylib") + else() + set(JSON_LIBRARY_PATH "lib${MOCK_ICD_NAME}.so") endif() -else() - add_library(VkICD_mock_icd SHARED mock_icd.cpp ) - target_link_libraries(VkICD_mock_icd PRIVATE Vulkan::Headers) - set_target_properties(VkICD_mock_icd PROPERTIES LINK_FLAGS "-Wl,-export-dynamic,-Bsymbolic,--exclude-libs,ALL") - if((UNIX AND NOT APPLE) AND INSTALL_ICD) # i.e. Linux - install(TARGETS VkICD_mock_icd DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + configure_file(${INPUT_FILE} ${UNIX_INTERMEDIATE_FILE} @ONLY) + + if (INSTALL_ICD) + install(FILES ${UNIX_INTERMEDIATE_FILE} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/vulkan/icd.d RENAME ${OUTPUT_FILE_FINAL_NAME}) endif() - if (ENABLE_ADDRESS_SANITIZER) - target_compile_options(VkICD_mock_icd PUBLIC -fsanitize=address) - target_link_options(VkICD_mock_icd PUBLIC -fsanitize=address) - endif () endif() -set_target_properties(VkICD_mock_icd PROPERTIES OUTPUT_NAME ${MOCK_ICD_NAME}) - -# JSON file(s) install targets. For Linux, need to remove the "./" from the library path before installing to system directories. -if((UNIX AND NOT APPLE) AND INSTALL_ICD) # i.e. Linux - add_custom_target(VkICD_mock_icd-staging-json ALL - COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/staging-json - COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/linux/${MOCK_ICD_NAME}.json ${CMAKE_CURRENT_BINARY_DIR}/staging-json - COMMAND sed -i -e "/\"library_path\":/s$./libVkICD$libVkICD$" - ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${MOCK_ICD_NAME}.json - VERBATIM - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linux/${MOCK_ICD_NAME}.json) - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${MOCK_ICD_NAME}.json - DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${API_TYPE}/icd.d) +if (WIN32 AND INSTALL_ICD) + install(FILES ${INTERMEDIATE_FILE} DESTINATION ${LAYER_INSTALL_DIR} RENAME ${OUTPUT_FILE_FINAL_NAME}) endif() -# Windows uses the JSON file as-is. -if(WIN32 AND INSTALL_ICD) - install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/windows/${MOCK_ICD_NAME}.json DESTINATION ${CMAKE_INSTALL_BINDIR}) +if (INSTALL_ICD) + install(TARGETS VkICD_mock_icd DESTINATION ${LAYER_INSTALL_DIR}) endif() diff --git a/icd/macos/VkICD_mock_icd.json b/icd/VkICD_mock_icd.json.in index 71019868..f550bb27 100644 --- a/icd/macos/VkICD_mock_icd.json +++ b/icd/VkICD_mock_icd.json.in @@ -1,8 +1,7 @@ { "file_format_version" : "1.0.1", "ICD": { - "library_path": "./libVkICD_mock_icd.dylib", + "library_path": "@JSON_LIBRARY_PATH@", "api_version": "1.1.97" } } - diff --git a/icd/linux/VkICD_mock_icd.json b/icd/linux/VkICD_mock_icd.json deleted file mode 100644 index bf32f8e6..00000000 --- a/icd/linux/VkICD_mock_icd.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "file_format_version" : "1.0.1", - "ICD": { - "library_path": "./libVkICD_mock_icd.so", - "api_version": "1.1.97" - } -} - - - - - diff --git a/icd/windows/VkICD_mock_icd.json b/icd/windows/VkICD_mock_icd.json deleted file mode 100644 index d192f5c2..00000000 --- a/icd/windows/VkICD_mock_icd.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "file_format_version" : "1.0.1", - "ICD": { - "library_path": ".\\VkICD_mock_icd.dll", - "api_version": "1.1.97" - } -} - - - - - |
