CMakeLists.txt 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. set(SOURCES
  2. GlslangToSpv.cpp
  3. InReadableOrder.cpp
  4. Logger.cpp
  5. SpvBuilder.cpp
  6. SpvPostProcess.cpp
  7. doc.cpp
  8. SpvTools.cpp
  9. disassemble.cpp)
  10. set(SPVREMAP_SOURCES
  11. SPVRemapper.cpp
  12. doc.cpp)
  13. set(HEADERS
  14. bitutils.h
  15. spirv.hpp
  16. GLSL.std.450.h
  17. GLSL.ext.EXT.h
  18. GLSL.ext.KHR.h
  19. GlslangToSpv.h
  20. hex_float.h
  21. Logger.h
  22. SpvBuilder.h
  23. spvIR.h
  24. doc.h
  25. SpvTools.h
  26. disassemble.h
  27. GLSL.ext.AMD.h
  28. GLSL.ext.NV.h)
  29. set(SPVREMAP_HEADERS
  30. SPVRemapper.h
  31. doc.h)
  32. add_library(SPIRV ${LIB_TYPE} ${SOURCES} ${HEADERS})
  33. set_property(TARGET SPIRV PROPERTY FOLDER glslang)
  34. set_property(TARGET SPIRV PROPERTY POSITION_INDEPENDENT_CODE ON)
  35. target_include_directories(SPIRV PUBLIC ..)
  36. if (ENABLE_SPVREMAPPER)
  37. add_library(SPVRemapper ${LIB_TYPE} ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
  38. set_property(TARGET SPVRemapper PROPERTY FOLDER glslang)
  39. set_property(TARGET SPVRemapper PROPERTY POSITION_INDEPENDENT_CODE ON)
  40. endif()
  41. if(WIN32 AND BUILD_SHARED_LIBS)
  42. set_target_properties(SPIRV PROPERTIES PREFIX "")
  43. if (ENABLE_SPVREMAPPER)
  44. set_target_properties(SPVRemapper PROPERTIES PREFIX "")
  45. endif()
  46. endif()
  47. if(ENABLE_OPT)
  48. target_include_directories(SPIRV
  49. PRIVATE ${spirv-tools_SOURCE_DIR}/include
  50. PRIVATE ${spirv-tools_SOURCE_DIR}/source
  51. )
  52. target_link_libraries(SPIRV glslang SPIRV-Tools-opt)
  53. target_include_directories(SPIRV PUBLIC ../External)
  54. else()
  55. target_link_libraries(SPIRV glslang)
  56. endif(ENABLE_OPT)
  57. if(WIN32)
  58. source_group("Source" FILES ${SOURCES} ${HEADERS})
  59. source_group("Source" FILES ${SPVREMAP_SOURCES} ${SPVREMAP_HEADERS})
  60. endif(WIN32)
  61. if(ENABLE_GLSLANG_INSTALL)
  62. if(BUILD_SHARED_LIBS)
  63. if (ENABLE_SPVREMAPPER)
  64. install(TARGETS SPVRemapper
  65. ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  66. LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
  67. endif()
  68. install(TARGETS SPIRV
  69. ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
  70. LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  71. RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
  72. else()
  73. if (ENABLE_SPVREMAPPER)
  74. install(TARGETS SPVRemapper
  75. ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
  76. endif()
  77. install(TARGETS SPIRV
  78. ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
  79. endif()
  80. install(FILES ${HEADERS} ${SPVREMAP_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SPIRV/)
  81. endif(ENABLE_GLSLANG_INSTALL)