aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2018-02-02 13:58:41 -0700
committerMark Lobodzinski <mark@lunarg.com>2018-02-05 16:18:55 -0700
commitced374666b7a9d9c76b3c1da04111ed1a897cf4a (patch)
tree8931d267c6b621f582a0709563c3784717d8b9d0
parentb6f448bdb6c78386dacdc75c6a984d4a1b0436cd (diff)
downloadusermoji-ced374666b7a9d9c76b3c1da04111ed1a897cf4a.tar.xz
build: Move layer_utils build to top-level cmake
DevSim requires this library, but it is only built in LVL if LAYERS are built. Moved the generation of this library out of the layers cmake file and into the root cmake file. Change-Id: I1c633e981fa1843cfb49204d2ac130beb8d99dfc
-rw-r--r--CMakeLists.txt28
-rw-r--r--layers/CMakeLists.txt13
-rw-r--r--layers/vk_layer_config.cpp4
3 files changed, 32 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index af438c66..26808788 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -359,6 +359,8 @@ run_vk_xml_generate(helper_file_generator.py vk_extension_helper.h)
run_vk_xml_generate(helper_file_generator.py vk_typemap_helper.h)
run_external_revision_generate(${EXTERNAL_SOURCE_ROOT}/glslang/External/spirv-tools SPIRV_TOOLS_COMMIT_ID spirv_tools_commit_id.h)
+
+
if(NOT WIN32)
include(GNUInstallDirs)
@@ -388,6 +390,32 @@ add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
endif()
+# Layer Utils Library
+# For Windows, we use a static lib because the Windows loader has a fairly restrictive loader search
+# path that can't be easily modified to point it to the same directory that contains the layers.
+set(VKLAYER_UTILS_VLF_SOURCES
+ layers/vk_layer_config.cpp
+ layers/vk_layer_extension_utils.cpp
+ layers/vk_layer_utils.cpp
+ layers/vk_format_utils.cpp
+ )
+if (WIN32)
+ add_library(VkLayer_utils STATIC ${VKLAYER_UTILS_VLF_SOURCES})
+ target_compile_definitions(VkLayer_utils PUBLIC _CRT_SECURE_NO_WARNINGS)
+else()
+ add_library(VkLayer_utils SHARED ${VKLAYER_UTILS_VLF_SOURCES})
+ if(INSTALL_LVL_FILES)
+ install(TARGETS VkLayer_utils DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+endif()
+add_dependencies(VkLayer_utils generate_helper_files)
+target_include_directories(
+ VkLayer_utils PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/loader
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
add_definitions(-DAPI_NAME="${API_NAME}")
# loader: Generic VULKAN ICD loader
diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt
index 83dfafe0..08b0e209 100644
--- a/layers/CMakeLists.txt
+++ b/layers/CMakeLists.txt
@@ -176,19 +176,6 @@ run_vk_xml_generate(unique_objects_generator.py unique_objects_wrappers.h)
run_vk_xml_generate(dispatch_table_helper_generator.py vk_dispatch_table_helper.h)
run_vk_xml_generate(object_tracker_generator.py object_tracker.cpp)
-# Layer Utils Library
-# For Windows, we use a static lib because the Windows loader has a fairly restrictive loader search
-# path that can't be easily modified to point it to the same directory that contains the layers.
-if (WIN32)
- add_library(VkLayer_utils STATIC vk_layer_config.cpp vk_layer_extension_utils.cpp vk_layer_utils.cpp vk_format_utils.cpp)
-else()
- add_library(VkLayer_utils SHARED vk_layer_config.cpp vk_layer_extension_utils.cpp vk_layer_utils.cpp vk_format_utils.cpp)
- if(INSTALL_LVL_FILES)
- install(TARGETS VkLayer_utils DESTINATION ${CMAKE_INSTALL_LIBDIR})
- endif()
-endif()
-add_dependencies(VkLayer_utils generate_helper_files)
-
add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp descriptor_sets.cpp buffer_validation.cpp shader_validation.cpp xxhash.c)
add_vk_layer(object_tracker object_tracker.cpp object_tracker_utils.cpp vk_layer_table.cpp)
# generated
diff --git a/layers/vk_layer_config.cpp b/layers/vk_layer_config.cpp
index e0eb539c..7d60570f 100644
--- a/layers/vk_layer_config.cpp
+++ b/layers/vk_layer_config.cpp
@@ -31,6 +31,10 @@
#include <sys/stat.h>
#include <vulkan/vk_layer.h>
+#if defined(_WIN32)
+#include <Windows.h>
+#endif
+
#define MAX_CHARS_PER_LINE 4096
class ConfigFile {