diff --git a/CMakeLists.txt b/CMakeLists.txt index a754c34f4..6d334d6e5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -186,10 +186,10 @@ if(MSVC) if(NOT ${AMBER_ENABLE_SHARED_CRT}) message(STATUS "Amber: Static C runtime selected: replacing /MD* with /MT*") foreach (flag_var - CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO - CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE - CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO + CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE + CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) string(REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") endforeach() endif() diff --git a/DEPS b/DEPS index 5c37440d4..687bf0b62 100644 --- a/DEPS +++ b/DEPS @@ -13,18 +13,18 @@ vars = { 'clspv_revision': '4e6c283e15420ba6e949d44850929b8d78b45ad9', 'cppdap_revision': '4dcca5775616ada2796ff7f84c3a4843eee9b506', 'cpplint_revision': '26470f9ccb354ff2f6d098f831271a1833701b28', - 'dxc_revision': 'ef73f1da8ad79a42405e8c75cf7d66ed8a0bb345', - 'glslang_revision': '0b66fa3b62cb36a3bc86f5018cf92a5211b27156', - 'googletest_revision': '61f010d703b32de9bfb20ab90ece38ab2f25977f', + 'dxc_revision': 'a841ddde5ac858dca82059a4a876801c8eca2a79', + 'glslang_revision': 'f03cb290ac10414dfc96017b26ebfaee8f3afb3e', + 'googletest_revision': 'dcc92d0ab6c4ce022162a23566d44f673251eee4', 'json_revision': '456478b3c50d60100dbb1fb9bc931f370a2c1c28', 'lodepng_revision': 'e34ac04553e51a6982ae234d98ce6b76dd57a6a1', - 'shaderc_revision': 'f175adffa9d2da6ae18a5f8d54e7b5f27df0f1c2', - 'spirv_headers_revision': 'f8bf11a0253a32375c32cad92c841237b96696c0', - 'spirv_tools_revision': 'e95fbfb1f509ad7a7fdfb72ac35fe412d72fc4a4', - 'swiftshader_revision': 'f99302c4efe6f32297a619d407b4410ec3ee6412', - 'vulkan_headers_revision': '0e78ffd1dcfc3e9f14a966b9660dbc59bd967c5c', - 'vulkan_loader_revision': 'bb74deab0a4dc88ec0f6c808d4f9874e8629ce5e', - 'vulkan_validationlayers_revision': '9a283ae3457fcbcd7990b3b985a4fbaddee19925', + 'shaderc_revision': '41f271e6139ceb6a54457fb2da14571f66100a9a', + 'spirv_headers_revision': 'c0df742ec0b8178ad58c68cff3437ad4b6a06e26', + 'spirv_tools_revision': 'd0a87194f7b9a3b7659e837b08cd404ccc8af222', + 'swiftshader_revision': '941293d512fe2c3e6737554ea50802e3326c0196', + 'vulkan_headers_revision': '4c19ae6b95e44c821d5306adf94842defa57ba21', + 'vulkan_loader_revision': '3336e65e880101e28b38836733c1f02fd9214bf2', + 'vulkan_validationlayers_revision': 'a977d65576b5f0e1bd6cf7536115b355fdbdc5ba', } deps = { diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f6477b55a..d85c747aa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -121,6 +121,7 @@ endif() if (${Vulkan_FOUND}) target_link_libraries(libamber libamberenginevulkan) + target_include_directories(libamber PRIVATE "${VulkanHeaders_INCLUDE_DIR}") endif() if (${Dawn_FOUND}) target_link_libraries(libamber libamberenginedawn) @@ -200,6 +201,10 @@ if (${AMBER_ENABLE_TESTS}) amber_default_compile_options(amber_unittests) add_test(NAME amber_unittests COMMAND amber_unittests) + if (${Vulkan_FOUND}) + target_include_directories(amber_unittests PRIVATE "${VulkanHeaders_INCLUDE_DIR}") + endif() + if(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang") # vulkan/vulkan.h defines VK_NULL_HANDLE as 0u and that also serves as a null pointer. # Disable Clang's warning that will alwaays fire on that. This is required to build diff --git a/src/vulkan/CMakeLists.txt b/src/vulkan/CMakeLists.txt index f3a0c8de1..b633c7135 100644 --- a/src/vulkan/CMakeLists.txt +++ b/src/vulkan/CMakeLists.txt @@ -40,6 +40,9 @@ set(VULKAN_ENGINE_SOURCES add_library(libamberenginevulkan ${VULKAN_ENGINE_SOURCES}) amber_default_compile_options(libamberenginevulkan) target_include_directories(libamberenginevulkan PRIVATE "${CMAKE_BINARY_DIR}") +# Add the Vulkan include directory to the list of include paths. +target_include_directories(libamberenginevulkan PRIVATE "${VulkanHeaders_INCLUDE_DIR}") + set_target_properties(libamberenginevulkan PROPERTIES OUTPUT_NAME "amberenginevulkan" ) diff --git a/src/vulkan/find_vulkan.cmake b/src/vulkan/find_vulkan.cmake index 69d5fc943..eb6974b26 100644 --- a/src/vulkan/find_vulkan.cmake +++ b/src/vulkan/find_vulkan.cmake @@ -32,7 +32,6 @@ if (NOT ${Vulkan_FOUND}) CACHE PATH "vk_registry_dir" FORCE) set(VulkanRegistry_DIRS ${VulkanRegistry_DIR} CACHE PATH "vk_registry_dir" FORCE) - include_directories(BEFORE "${VulkanHeaders_INCLUDE_DIR}") set(VULKAN_LIB vulkan) message(STATUS "Amber: using local vulkan") endif() @@ -47,7 +46,6 @@ if (NOT ${Vulkan_FOUND}) message(STATUS "Amber: Using Vulkan header dir ${X}") list(APPEND CMAKE_REQUIRED_INCLUDES "${X}") - # Add the directory to the list of include paths, before any others. include_directories(BEFORE "${X}") CHECK_INCLUDE_FILE(vulkan/vulkan.h HAVE_VULKAN_HEADER) @@ -64,6 +62,8 @@ if (NOT ${Vulkan_FOUND}) # for the library. # TODO(dneto): Actually check for the libraries. set(Vulkan_FOUND TRUE) + set(VulkanHeaders_INCLUDE_DIR "${X}") + set(VulkanHeaders_INCLUDE_DIRS "${VulkanHeaders_INCLUDE_DIR}") endif() endif() unset(X) @@ -77,12 +77,13 @@ if (NOT ${Vulkan_FOUND}) message(STATUS "Amber: Using Vulkan header dir ${X}") list(APPEND CMAKE_REQUIRED_INCLUDES "${X}") - # Add the directory to the list of include paths, before any others. include_directories(BEFORE "${X}") if (EXISTS "${X}/vkDefs.h") set(VULKAN_CTS_HEADER TRUE) set(Vulkan_FOUND TRUE) + set(VulkanHeaders_INCLUDE_DIR "${X}") + set(VulkanHeaders_INCLUDE_DIRS "${VulkanHeaders_INCLUDE_DIR}") endif() endif() unset(X) @@ -106,8 +107,6 @@ if (NOT ${Vulkan_FOUND}) message(STATUS "Amber: Using Vulkan from Vulkan SDK at $ENV{VULKAN_SDK}") # Use the imported library target set up by find_package. set(VULKAN_LIB Vulkan::Vulkan) - # Add the Vulkan include directory to the list of include paths. - include_directories("${Vulkan_INCLUDE_DIRS}") endif() endif() endif()