blob: de260c9c4fc7de824b186f7fdcf29d315da96e8e [file] [log] [blame]
--- Vulkan-Loader-1.2.158.orig/loader/CMakeLists.txt
+++ Vulkan-Loader-1.2.158/loader/CMakeLists.txt
@@ -70,6 +70,7 @@
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG")
if(WIN32)
+ if(MSVC)
# Use static MSVCRT libraries
foreach(configuration
in
@@ -89,6 +90,7 @@
"${${configuration}}")
endif()
endforeach()
+ endif()
if(ENABLE_WIN10_ONECORE)
# Note: When linking your app or driver to OneCore.lib, be sure to remove any links to non-umbrella libs (such as
@@ -137,7 +139,7 @@
set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} the stack frame for certain calls. If the compiler does not do this, then unknown device")
set(ASM_FAILURE_MSG "${ASM_FAILURE_MSG} extensions will suffer from a corrupted stack.")
if(WIN32)
- if(MINGW)
+ if(NOT MINGW)
find_program(JWASM_FOUND jwasm)
if (JWASM_FOUND)
set(CMAKE_ASM_MASM_COMPILER ${JWASM_FOUND})
@@ -155,7 +157,7 @@
if (USE_MASM)
enable_language(ASM_MASM)
endif ()
- if(CMAKE_ASM_MASM_COMPILER_WORKS OR JWASM_FOUND)
+ if(MSVC AND CMAKE_ASM_MASM_COMPILER_WORKS OR JWASM_FOUND)
if(MINGW)
set(CMAKE_ASM_MASM_FLAGS ${CMAKE_ASM_MASM_FLAGS} ${JWASM_FLAGS})
elseif(NOT CMAKE_CL_64 AND NOT JWASM_FOUND)
@@ -169,12 +171,14 @@
set_target_properties(loader_asm_gen_files PROPERTIES FOLDER ${LOADER_HELPER_FOLDER})
add_library(loader-unknown-chain OBJECT unknown_ext_chain_masm.asm)
add_dependencies(loader-unknown-chain loader_asm_gen_files)
+ set_target_properties(loader-unknown-chain PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL")
else()
message(WARNING "Could not find working MASM assebler\n${ASM_FAILURE_MSG}")
add_custom_target(loader_asm_gen_files)
add_library(loader-unknown-chain OBJECT unknown_ext_chain.c)
target_compile_options(loader-unknown-chain PUBLIC "$<$<CONFIG:DEBUG>:${LOCAL_C_FLAGS_REL}>")
target_compile_options(loader-unknown-chain PUBLIC ${MSVC_LOADER_COMPILE_OPTIONS})
+ set_target_properties(loader-unknown-chain PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL")
endif()
elseif(APPLE)
# For MacOS, use the C code and force the compiler's tail-call optimization instead of using assembly code.
@@ -207,12 +211,14 @@
if(WIN32)
add_library(loader-norm OBJECT ${NORMAL_LOADER_SRCS} dirent_on_windows.c)
+ set_target_properties(loader-norm PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL")
target_compile_options(loader-norm PUBLIC "$<$<CONFIG:DEBUG>:${LOCAL_C_FLAGS_DBG}>")
target_compile_options(loader-norm PUBLIC ${MSVC_LOADER_COMPILE_OPTIONS})
target_include_directories(loader-norm PRIVATE "$<TARGET_PROPERTY:Vulkan::Headers,INTERFACE_INCLUDE_DIRECTORIES>")
add_library(loader-opt OBJECT ${OPT_LOADER_SRCS})
add_dependencies(loader-opt loader_asm_gen_files)
+ set_target_properties(loader-opt PROPERTIES DEFINE_SYMBOL "VK_BUILDING_DLL")
target_compile_options(loader-opt PUBLIC "$<$<CONFIG:DEBUG>:${LOCAL_C_FLAGS_REL}>")
target_compile_options(loader-opt PUBLIC ${MSVC_LOADER_COMPILE_OPTIONS})
target_include_directories(loader-opt PRIVATE "$<TARGET_PROPERTY:Vulkan::Headers,INTERFACE_INCLUDE_DIRECTORIES>")
@@ -224,6 +230,7 @@
$<TARGET_OBJECTS:loader-unknown-chain>
${CMAKE_CURRENT_SOURCE_DIR}/vulkan-1.def
${CMAKE_CURRENT_SOURCE_DIR}/loader.rc)
+ if(MSVC)
set_target_properties(vulkan
PROPERTIES LINK_FLAGS_DEBUG
"/ignore:4098"
@@ -231,9 +238,16 @@
vulkan-1
PREFIX
"")
+ else()
+ set_target_properties(vulkan
+ PROPERTIES
+ LIBRARY_OUTPUT_NAME vulkan
+ RUNTIME_OUTPUT_NAME vulkan-1
+ ARCHIVE_OUTPUT_NAME vulkan)
+ endif()
target_link_libraries(vulkan Vulkan::Headers)
- if(ENABLE_WIN10_ONECORE)
+ if(ENABLE_WIN10_ONECORE AND MSVC)
target_link_libraries(vulkan OneCoreUAP.lib LIBCMT.LIB LIBCMTD.LIB LIBVCRUNTIME.LIB LIBUCRT.LIB)
set_target_properties(vulkan PROPERTIES LINK_FLAGS "/NODEFAULTLIB")
else()
--- Vulkan-Loader-1.2.158.orig/loader/loader.h
+++ Vulkan-Loader-1.2.158/loader/loader.h
@@ -38,7 +38,13 @@
#include "vk_layer_dispatch_table.h"
#include "vk_loader_extensions.h"
-#if defined(__GNUC__) && __GNUC__ >= 4
+#if defined(_WIN32)
+# if defined (VK_BUILDING_DLL)
+# define LOADER_EXPORT __declspec(dllexport)
+# else
+# define LOADER_EXPORT
+# endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
#define LOADER_EXPORT __attribute__((visibility("default")))
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
#define LOADER_EXPORT __attribute__((visibility("default")))
--- Vulkan-Loader-1.2.158.orig/loader/vulkan-1.def
+++ Vulkan-Loader-1.2.158/loader/vulkan-1.def
@@ -21,7 +21,7 @@
;
;;;; End Copyright Notice ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-LIBRARY vulkan-1.dll
+LIBRARY libvulkan-1.dll
EXPORTS
vkCreateInstance
vkDestroyInstance
--- Vulkan-Loader-1.2.158.orig/tests/layers/vk_format_utils.h
+++ Vulkan-Loader-1.2.158/tests/layers/vk_format_utils.h
@@ -25,7 +25,13 @@
#include "vulkan/vulkan.h"
#if !defined(VK_LAYER_EXPORT)
-#if defined(__GNUC__) && __GNUC__ >= 4
+#if defined(_WIN32)
+# if defined (VK_BUILDING_DLL)
+# define VK_LAYER_EXPORT __declspec(dllexport)
+# else
+# define VK_LAYER_EXPORT
+# endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
#define VK_LAYER_EXPORT __attribute__((visibility("default")))
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590)
#define VK_LAYER_EXPORT __attribute__((visibility("default")))