aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor Fitzgerald <connorwadefitzgerald@gmail.com>2019-03-07 00:36:43 -0500
committerConnor Fitzgerald <connorwadefitzgerald@gmail.com>2019-03-07 00:36:43 -0500
commitce03bb67127666cf3880f707860533d3583e9c40 (patch)
tree67dc5d2286f2aad94fbb5fb07cf83277fda3fa4c
parent7e97b94e67525d152bcc153ca0f52fc8c87c9f9b (diff)
downloadvcpkg-ce03bb67127666cf3880f707860533d3583e9c40.tar.gz
vcpkg-ce03bb67127666cf3880f707860533d3583e9c40.zip
[spirv-tools] Add spirv-tools exported target
- Removed shared library - Added patches
-rw-r--r--ports/spirv-tools/CMake-targets.patch62
-rw-r--r--ports/spirv-tools/portfile.cmake5
2 files changed, 67 insertions, 0 deletions
diff --git a/ports/spirv-tools/CMake-targets.patch b/ports/spirv-tools/CMake-targets.patch
new file mode 100644
index 000000000..c88311b13
--- /dev/null
+++ b/ports/spirv-tools/CMake-targets.patch
@@ -0,0 +1,62 @@
+diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt
+index 2d7d7ca..ec6ca01 100644
+--- a/source/CMakeLists.txt
++++ b/source/CMakeLists.txt
+@@ -327,31 +327,41 @@ set_source_files_properties(
+ add_library(${SPIRV_TOOLS} ${SPIRV_SOURCES})
+ spvtools_default_compile_options(${SPIRV_TOOLS})
+ target_include_directories(${SPIRV_TOOLS}
+- PUBLIC ${spirv-tools_SOURCE_DIR}/include
++ PUBLIC "$<BUILD_INTERFACE:${spirv-tools_SOURCE_DIR}/include>"
+ PRIVATE ${spirv-tools_BINARY_DIR}
+ PRIVATE ${SPIRV_HEADER_INCLUDE_DIR}
+ )
+ set_property(TARGET ${SPIRV_TOOLS} PROPERTY FOLDER "SPIRV-Tools libraries")
+ spvtools_check_symbol_exports(${SPIRV_TOOLS})
+
+-add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES})
+-spvtools_default_compile_options(${SPIRV_TOOLS}-shared)
+-target_include_directories(${SPIRV_TOOLS}-shared
+- PUBLIC ${spirv-tools_SOURCE_DIR}/include
+- PRIVATE ${spirv-tools_BINARY_DIR}
+- PRIVATE ${SPIRV_HEADER_INCLUDE_DIR}
+- )
+-set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
+-set_property(TARGET ${SPIRV_TOOLS}-shared PROPERTY FOLDER "SPIRV-Tools libraries")
+-spvtools_check_symbol_exports(${SPIRV_TOOLS}-shared)
+-target_compile_definitions(${SPIRV_TOOLS}-shared
+- PRIVATE SPIRV_TOOLS_IMPLEMENTATION
+- PUBLIC SPIRV_TOOLS_SHAREDLIB
+-)
++# add_library(${SPIRV_TOOLS}-shared SHARED ${SPIRV_SOURCES})
++# spvtools_default_compile_options(${SPIRV_TOOLS}-shared)
++# target_include_directories(${SPIRV_TOOLS}-shared
++# PUBLIC ${spirv-tools_SOURCE_DIR}/include
++# PRIVATE ${spirv-tools_BINARY_DIR}
++# PRIVATE ${SPIRV_HEADER_INCLUDE_DIR}
++# )
++# set_target_properties(${SPIRV_TOOLS}-shared PROPERTIES CXX_VISIBILITY_PRESET hidden)
++# set_property(TARGET ${SPIRV_TOOLS}-shared PROPERTY FOLDER "SPIRV-Tools libraries")
++# spvtools_check_symbol_exports(${SPIRV_TOOLS}-shared)
++# target_compile_definitions(${SPIRV_TOOLS}-shared
++# PRIVATE SPIRV_TOOLS_IMPLEMENTATION
++# PUBLIC SPIRV_TOOLS_SHAREDLIB
++# )
+
+ if(ENABLE_SPIRV_TOOLS_INSTALL)
+- install(TARGETS ${SPIRV_TOOLS} ${SPIRV_TOOLS}-shared
++ install(TARGETS ${SPIRV_TOOLS} EXPORT ${SPIRV_TOOLS}Config
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
++ export(
++ TARGETS ${SPIRV_TOOLS}
++ NAMESPACE ${SPIRV_TOOLS}::
++ FILE "${CMAKE_CURRENT_BINARY_DIR}/${SPIRV_TOOLS}-config.cmake"
++ )
++ install(
++ EXPORT ${SPIRV_TOOLS}Config
++ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/${SPIRV_TOOLS}"
++ NAMESPACE ${SPIRV_TOOLS}::
++ )
+ endif(ENABLE_SPIRV_TOOLS_INSTALL)
diff --git a/ports/spirv-tools/portfile.cmake b/ports/spirv-tools/portfile.cmake
index bbfdbf242..475f07340 100644
--- a/ports/spirv-tools/portfile.cmake
+++ b/ports/spirv-tools/portfile.cmake
@@ -8,6 +8,8 @@ vcpkg_from_github(
REF v2018.1
SHA512 0637c413dafd931e8222f9bf70a024f8b64116f0300c7732b86bcaff321188a0e746f79c1385ae23a7692e83194586b57692960d5be607fb2d7960731b6cd63f
HEAD_REF master
+ PATCHES
+ CMake-targets.patch
)
vcpkg_from_github(
@@ -33,6 +35,7 @@ vcpkg_configure_cmake(
vcpkg_install_cmake()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(GLOB EXES "${CURRENT_PACKAGES_DIR}/bin/*${CMAKE_EXECUTABLE_SUFFIX}")
file(COPY ${EXES} DESTINATION ${CURRENT_PACKAGES_DIR}/tools)
file(REMOVE ${EXES})
@@ -41,3 +44,5 @@ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bi
# Handle copyright
file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/spirv-tools)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/spirv-tools/LICENSE ${CURRENT_PACKAGES_DIR}/share/spirv-tools/copyright)
+
+vcpkg_test_cmake(PACKAGE_NAME SPIRV-Tools)