yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
0971d794
main
1# Copyright (C) 2020 The Khronos Group Inc. 2# 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 9# Redistributions of source code must retain the above copyright 10# notice, this list of conditions and the following disclaimer. 11# 12# Redistributions in binary form must reproduce the above 13# copyright notice, this list of conditions and the following 14# disclaimer in the documentation and/or other materials provided 15# with the distribution. 16# 17# Neither the name of The Khronos Group Inc. nor the names of its 18# contributors may be used to endorse or promote products derived 19# from this software without specific prior written permission. 20# 21# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 24# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 25# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 26# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 27# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 28# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 29# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 31# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 32# POSSIBILITY OF SUCH DAMAGE. 33 34set ( SPIRV_SOURCES 35${ CMAKE_CURRENT_SOURCE_DIR } /GlslangToSpv.cpp 36${ CMAKE_CURRENT_SOURCE_DIR } /InReadableOrder.cpp 37${ CMAKE_CURRENT_SOURCE_DIR } /Logger.cpp 38${ CMAKE_CURRENT_SOURCE_DIR } /SpvBuilder.cpp 39${ CMAKE_CURRENT_SOURCE_DIR } /SpvPostProcess.cpp 40${ CMAKE_CURRENT_SOURCE_DIR } /doc.cpp 41${ CMAKE_CURRENT_SOURCE_DIR } /SpvTools.cpp 42${ CMAKE_CURRENT_SOURCE_DIR } /disassemble.cpp 43${ CMAKE_CURRENT_SOURCE_DIR } /CInterface/spirv_c_interface.cpp 44PARENT_SCOPE ) 45 46set ( SPIRV_HEADERS 47${ CMAKE_CURRENT_SOURCE_DIR } /bitutils.h 48${ CMAKE_CURRENT_SOURCE_DIR } /spirv.hpp11 49${ CMAKE_CURRENT_SOURCE_DIR } /GLSL.std.450.h 50${ CMAKE_CURRENT_SOURCE_DIR } /GLSL.ext.EXT.h 51${ CMAKE_CURRENT_SOURCE_DIR } /GLSL.ext.KHR.h 52${ CMAKE_CURRENT_SOURCE_DIR } /GlslangToSpv.h 53${ CMAKE_CURRENT_SOURCE_DIR } /hex_float.h 54${ CMAKE_CURRENT_SOURCE_DIR } /Logger.h 55${ CMAKE_CURRENT_SOURCE_DIR } /SpvBuilder.h 56${ CMAKE_CURRENT_SOURCE_DIR } /spvIR.h 57${ CMAKE_CURRENT_SOURCE_DIR } /spvUtil.h 58${ CMAKE_CURRENT_SOURCE_DIR } /doc.h 59${ CMAKE_CURRENT_SOURCE_DIR } /SpvTools.h 60${ CMAKE_CURRENT_SOURCE_DIR } /disassemble.h 61${ CMAKE_CURRENT_SOURCE_DIR } /GLSL.ext.AMD.h 62${ CMAKE_CURRENT_SOURCE_DIR } /GLSL.ext.NV.h 63${ CMAKE_CURRENT_SOURCE_DIR } /GLSL.ext.ARM.h 64${ CMAKE_CURRENT_SOURCE_DIR } /GLSL.ext.QCOM.h 65${ CMAKE_CURRENT_SOURCE_DIR } /NonSemanticDebugPrintf.h 66${ CMAKE_CURRENT_SOURCE_DIR } /NonSemanticShaderDebugInfo.h 67PARENT_SCOPE ) 68 69set ( PUBLIC_HEADERS 70GlslangToSpv.h 71disassemble.h 72Logger.h 73spirv.hpp11 74SpvTools.h ) 75 76add_library ( SPIRV ${ LIB_TYPE } ${ CMAKE_CURRENT_SOURCE_DIR } /../glslang/stub.cpp ) 77add_library ( glslang::SPIRV ALIAS SPIRV ) 78set_target_properties ( SPIRV PROPERTIES 79FOLDER glslang 80POSITION_INDEPENDENT_CODE ON 81VERSION " ${ GLSLANG_VERSION } " 82SOVERSION " ${ GLSLANG_VERSION_MAJOR } " ) 83target_include_directories ( SPIRV PUBLIC 84$ <BUILD_INTERFACE: ${ CMAKE_CURRENT_SOURCE_DIR } /..> 85$ <INSTALL_INTERFACE: ${ CMAKE_INSTALL_INCLUDEDIR } > ) 86glslang_only_export_explicit_symbols ( SPIRV ) 87 88if ( WIN32AND BUILD_SHARED_LIBS) 89set_target_properties ( SPIRV PROPERTIES PREFIX "" ) 90endif () 91 92if ( ENABLE_OPT) 93target_link_libraries ( SPIRV INTERFACE glslang PUBLIC SPIRV-Tools-opt ) 94target_include_directories ( SPIRV PUBLIC 95$ <BUILD_INTERFACE: ${ CMAKE_CURRENT_SOURCE_DIR } /../External> ) 96else () 97target_link_libraries ( SPIRV INTERFACE glslang ) 98endif () 99 100if ( WIN32) 101source_group ( "Source" FILES ${ SOURCES } ${ HEADERS }) 102endif () 103 104if ( GLSLANG_ENABLE_INSTALL) 105install ( TARGETS SPIRV EXPORT glslang-targets ) 106 107install ( FILES ${ PUBLIC_HEADERS } DESTINATION ${ CMAKE_INSTALL_INCLUDEDIR } /glslang/SPIRV/ ) 108endif ()