/* * Copyright (c) 2021-2022 The Khronos Group Inc. * Copyright (c) 2021-2022 Valve Corporation * Copyright (c) 2021-2022 LunarG, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and/or associated documentation files (the "Materials"), to * deal in the Materials without restriction, including without limitation the * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or * sell copies of the Materials, and to permit persons to whom the Materials are * furnished to do so, subject to the following conditions: * * The above copyright notice(s) and this permission notice shall be included in * all copies or substantial portions of the Materials. * * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR THE * USE OR OTHER DEALINGS IN THE MATERIALS. * * Author: Charles Giessen */ #pragma once #define FRAMEWORK_BUILD_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" #define FRAMEWORK_VULKAN_LIBRARY_PATH "$" #define SHIM_LIBRARY_NAME "$" #define TEST_ICD_BUILD_LOCATION "$" // TestICD Binaries #define TEST_ICD_PATH_EXPORT_NONE "$" #define TEST_ICD_PATH_EXPORT_ICD_GIPA "$" #define TEST_ICD_PATH_EXPORT_NEGOTIATE_INTERFACE_VERSION "$" #define TEST_ICD_PATH_VERSION_2 "$" #define TEST_JSON_NAME_VERSION_2_UNICODE "\xf0\x9f\x8c\x8b" #define TEST_ICD_PATH_VERSION_2_UNICODE \ "$/" TEST_JSON_NAME_VERSION_2_UNICODE "$" // assumes version 2 exports #define TEST_ICD_PATH_VERSION_2_EXPORT_ICD_GPDPA "$" // Assumes version 2 exports #define TEST_ICD_PATH_VERSION_2_EXPORT_ICD_ENUMERATE_ADAPTER_PHYSICAL_DEVICES \ "$" // All possible defines for v6 #define TEST_ICD_PATH_VERSION_6 "$" // TestLayer binaries #define TEST_LAYER_PATH_EXPORT_BASE "$" #define TEST_LAYER_PATH_EXPORT_VERSION_0 "$" #define TEST_LAYER_PATH_EXPORT_VERSION_1 "$" #define TEST_LAYER_PATH_EXPORT_VERSION_2 "$" #define TEST_LAYER_WRAP_OBJECTS "$" #define TEST_LAYER_WRAP_OBJECTS_1 "$" #define TEST_LAYER_WRAP_OBJECTS_2 "$" #define TEST_LAYER_WRAP_OBJECTS_3 "$" #define COMPLEX_JSON_FILE "${CMAKE_CURRENT_SOURCE_DIR}/data/VkLayer_complex_file.json" // Dummy Binaries #if _WIN32 || _WIN64 #define DUMMY_BINARY_WINDOWS_64 "${CMAKE_CURRENT_SOURCE_DIR}/data/binaries/dummy_library_pe_64.dll" #define DUMMY_BINARY_WINDOWS_32 "${CMAKE_CURRENT_SOURCE_DIR}/data/binaries/dummy_library_pe_32.dll" #define BAD_DUMMY_BINARY_WINDOWS_64 "${CMAKE_CURRENT_SOURCE_DIR}/data/binaries/libdummy_library_elf_64.dll" #define BAD_DUMMY_BINARY_WINDOWS_32 "${CMAKE_CURRENT_SOURCE_DIR}/data/binaries/libdummy_library_elf_32.dll" #endif #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) #define DUMMY_BINARY_LINUX_64 "${CMAKE_CURRENT_SOURCE_DIR}/data/binaries/libdummy_library_elf_64.so" #define DUMMY_BINARY_LINUX_32 "${CMAKE_CURRENT_SOURCE_DIR}/data/binaries/libdummy_library_elf_32.so" #define BAD_DUMMY_BINARY_LINUX_64 "${CMAKE_CURRENT_SOURCE_DIR}/data/binaries/dummy_library_pe_64.so" #define BAD_DUMMY_BINARY_LINUX_32 "${CMAKE_CURRENT_SOURCE_DIR}/data/binaries/dummy_library_pe_32.so" #endif // Convenience macro so that tests don't need to write a bunch of platform defines #if _WIN32 || _WIN64 #if _WIN64 #define CURRENT_PLATFORM_DUMMY_BINARY_WRONG_TYPE DUMMY_BINARY_WINDOWS_32 #define CURRENT_PLATFORM_DUMMY_BINARY_BAD BAD_DUMMY_BINARY_WINDOWS_64 #else #define CURRENT_PLATFORM_DUMMY_BINARY_WRONG_TYPE DUMMY_BINARY_WINDOWS_64 #define CURRENT_PLATFORM_DUMMY_BINARY_BAD BAD_DUMMY_BINARY_WINDOWS_32 #endif #endif #if defined(__linux__) #if __x86_64__ || __ppc64__ #define CURRENT_PLATFORM_DUMMY_BINARY_WRONG_TYPE DUMMY_BINARY_LINUX_32 #define CURRENT_PLATFORM_DUMMY_BINARY_BAD BAD_DUMMY_BINARY_LINUX_64 #else #define CURRENT_PLATFORM_DUMMY_BINARY_WRONG_TYPE DUMMY_BINARY_LINUX_64 #define CURRENT_PLATFORM_DUMMY_BINARY_BAD BAD_DUMMY_BINARY_LINUX_32 #endif #endif // Apple doesn't have 32 bit but this should allow tests to run as if it was supported #if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__) #define CURRENT_PLATFORM_DUMMY_BINARY_WRONG_TYPE DUMMY_BINARY_LINUX_32 #define CURRENT_PLATFORM_DUMMY_BINARY_BAD BAD_DUMMY_BINARY_LINUX_64 #endif