aboutsummaryrefslogtreecommitdiff
path: root/layers
diff options
context:
space:
mode:
authorKarl Schultz <karl@lunarg.com>2016-09-30 13:32:16 -0600
committerKarl Schultz <karl@lunarg.com>2016-10-03 08:35:01 -0600
commit3a225c5d67e85ed296a449addf306dbb0ab2ef9c (patch)
tree9f6a327b02165f21df1baaa9e0e3ef9d5b09c758 /layers
parent05c8f27a87314b430a5845de84bbb1fcdb418378 (diff)
downloadusermoji-3a225c5d67e85ed296a449addf306dbb0ab2ef9c.tar.xz
build: gh52-CMake changes to enable make install on Linux
See BUILD.md for details. Change-Id: Ide1f635a57b57af384d9d1baac20c2256629f812
Diffstat (limited to 'layers')
-rw-r--r--layers/CMakeLists.txt19
1 files changed, 17 insertions, 2 deletions
diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt
index 13f9e69c..de0dc949 100644
--- a/layers/CMakeLists.txt
+++ b/layers/CMakeLists.txt
@@ -67,6 +67,21 @@ else()
endif()
endif()
+# Add targets for JSON file install on Linux.
+# Need to remove the "./" from the library path before installing to /etc.
+if(UNIX)
+ foreach (config_file ${LAYER_JSON_FILES})
+ add_custom_target(${config_file}-staging-json ALL
+ COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/staging-json
+ COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/linux/${config_file}.json ${CMAKE_CURRENT_BINARY_DIR}/staging-json
+ COMMAND sed -i -e "/\"library_path\":/s$./libVkLayer$libVkLayer$" ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${config_file}.json
+ VERBATIM
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/linux/${config_file}.json
+ )
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${config_file}.json DESTINATION /etc/vulkan/explicit_layer.d)
+ endforeach(config_file)
+endif()
+
if (WIN32)
macro(add_vk_layer target)
add_custom_command(OUTPUT VkLayer_${target}.def
@@ -83,7 +98,7 @@ else()
target_link_Libraries(VkLayer_${target} VkLayer_utils)
add_dependencies(VkLayer_${target} generate_dispatch_table_helper generate_vk_layer_helpers generate_enum_string_helper VkLayer_utils)
set_target_properties(VkLayer_${target} PROPERTIES LINK_FLAGS "-Wl,-Bsymbolic")
- install(TARGETS VkLayer_${target} DESTINATION ${PROJECT_BINARY_DIR}/install_staging)
+ install(TARGETS VkLayer_${target} DESTINATION lib)
endmacro()
endif()
@@ -176,7 +191,7 @@ if (WIN32)
add_library(VkLayer_utils STATIC vk_layer_config.cpp vk_layer_extension_utils.cpp vk_layer_utils.cpp)
else()
add_library(VkLayer_utils SHARED vk_layer_config.cpp vk_layer_extension_utils.cpp vk_layer_utils.cpp)
- install(TARGETS VkLayer_utils DESTINATION ${PROJECT_BINARY_DIR}/install_staging)
+ install(TARGETS VkLayer_utils DESTINATION lib)
endif()
add_vk_layer(core_validation core_validation.cpp vk_layer_table.cpp vk_safe_struct.cpp descriptor_sets.cpp)