diff options
| author | Mark Lobodzinski <mark@lunarg.com> | 2018-02-02 13:58:41 -0700 |
|---|---|---|
| committer | Mark Lobodzinski <mark@lunarg.com> | 2018-02-05 16:18:55 -0700 |
| commit | ced374666b7a9d9c76b3c1da04111ed1a897cf4a (patch) | |
| tree | 8931d267c6b621f582a0709563c3784717d8b9d0 | |
| parent | b6f448bdb6c78386dacdc75c6a984d4a1b0436cd (diff) | |
| download | usermoji-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.txt | 28 | ||||
| -rw-r--r-- | layers/CMakeLists.txt | 13 | ||||
| -rw-r--r-- | layers/vk_layer_config.cpp | 4 |
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 { |
