From 31d891f2498cfd8677a9ee44333df97e1c4e2808 Mon Sep 17 00:00:00 2001 From: Mike Stroyan Date: Tue, 1 Nov 2016 11:50:16 -0600 Subject: layers: Change to including vk_safe_struct code. Cmake on windows cannot handle multiple projects using generated library code. --- build-android/jni/Android.mk | 2 -- layers/CMakeLists.txt | 15 +++------------ layers/core_validation.cpp | 3 +++ layers/unique_objects.cpp | 3 +++ 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/build-android/jni/Android.mk b/build-android/jni/Android.mk index ef793fdc..7d13c0e6 100644 --- a/build-android/jni/Android.mk +++ b/build-android/jni/Android.mk @@ -33,7 +33,6 @@ LOCAL_MODULE := VkLayer_core_validation LOCAL_SRC_FILES += $(LAYER_DIR)/layer-src/core_validation/core_validation.cpp LOCAL_SRC_FILES += $(LAYER_DIR)/layer-src/core_validation/descriptor_sets.cpp LOCAL_SRC_FILES += $(LAYER_DIR)/common/vk_layer_table.cpp -LOCAL_SRC_FILES += $(LAYER_DIR)/layer-src/unique_objects/vk_safe_struct.cpp LOCAL_C_INCLUDES += $(SRC_DIR)/include \ $(SRC_DIR)/layers \ $(LAYER_DIR)/include \ @@ -110,7 +109,6 @@ include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := VkLayer_unique_objects LOCAL_SRC_FILES += $(LAYER_DIR)/layer-src/unique_objects/unique_objects.cpp -LOCAL_SRC_FILES += $(LAYER_DIR)/layer-src/unique_objects/vk_safe_struct.cpp LOCAL_SRC_FILES += $(LAYER_DIR)/common/vk_layer_table.cpp LOCAL_C_INCLUDES += $(SRC_DIR)/include \ $(SRC_DIR)/layers \ diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt index 2af4e606..b61aa26d 100644 --- a/layers/CMakeLists.txt +++ b/layers/CMakeLists.txt @@ -128,16 +128,7 @@ run_vk_helper(gen_struct_wrappers vk_struct_wrappers.h vk_struct_wrappers.cpp vk_safe_struct.h -# Don't list vk_safe_struct.cpp as OUTPUT to avoid duplicate builds. -# If listed here use of it for add_library will cause it to be created -# independently of custom target generate_vk_layer_helpers . -# That breaks parallel builds. -# vk_safe_struct.cpp -) - -# Let gen_struct_wrappers really create vk_safe_struct.cpp -add_custom_command(OUTPUT vk_safe_struct.cpp - COMMAND echo defer making vk_safe_struct.cpp + vk_safe_struct.cpp ) set_source_files_properties( @@ -188,13 +179,13 @@ else() install(TARGETS VkLayer_utils DESTINATION ${CMAKE_INSTALL_LIBDIR}) endif() -add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp vk_safe_struct.cpp descriptor_sets.cpp) +add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp descriptor_sets.cpp) add_vk_layer(object_tracker object_tracker.cpp vk_layer_table.cpp) add_vk_layer(image image.cpp vk_layer_table.cpp) add_vk_layer(swapchain swapchain.cpp vk_layer_table.cpp) # generated add_vk_layer(threading threading.cpp thread_check.h vk_layer_table.cpp) -add_vk_layer(unique_objects unique_objects.cpp unique_objects_wrappers.h vk_layer_table.cpp vk_safe_struct.cpp) +add_vk_layer(unique_objects unique_objects.cpp unique_objects_wrappers.h vk_layer_table.cpp) add_vk_layer(parameter_validation parameter_validation.cpp parameter_validation.h vk_layer_table.cpp) # Core validation has additional dependencies diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp index 74326895..06f8aa2d 100644 --- a/layers/core_validation.cpp +++ b/layers/core_validation.cpp @@ -70,6 +70,9 @@ } #endif +// This intentionally includes a cpp file +#include "vk_safe_struct.cpp" + using namespace std; namespace core_validation { diff --git a/layers/unique_objects.cpp b/layers/unique_objects.cpp index 1a79d771..0d81c809 100644 --- a/layers/unique_objects.cpp +++ b/layers/unique_objects.cpp @@ -41,6 +41,9 @@ #include "vk_layer_data.h" #include "vk_layer_utils.h" +// This intentionally includes a cpp file +#include "vk_safe_struct.cpp" + #include "unique_objects_wrappers.h" namespace unique_objects { -- cgit v1.2.3