Findglslang.cmake 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # Find glslang
  2. #
  3. # This module defines
  4. # glslang_INCLUDE_DIRS
  5. # glslang_LIBRARIES
  6. # glslang_FOUND
  7. set(glslang_INSTALL_DIRS ${PROJECT_SOURCE_DIR}/../Dependencies/glslang CACHE PATH "")
  8. set(glslang_INCLUDE_SEARCH_DIRS "${glslang_INSTALL_DIRS}/include")
  9. if(BS_64BIT)
  10. set(glslang_LIBRARY_RELEASE_SEARCH_DIRS "${glslang_INSTALL_DIRS}/lib/x64")
  11. else()
  12. set(glslang_LIBRARY_RELEASE_SEARCH_DIRS "${glslang_INSTALL_DIRS}/lib/x86")
  13. endif()
  14. message(STATUS "Looking for glslang installation...")
  15. find_path(glslang_INCLUDE_DIR glslang/Public/ShaderLang.h PATHS ${glslang_INCLUDE_SEARCH_DIRS})
  16. if(glslang_INCLUDE_DIR)
  17. set(glslang_FOUND TRUE)
  18. else()
  19. set(glslang_FOUND FALSE)
  20. endif()
  21. find_imported_library2(glslang glslang glslangd)
  22. find_imported_library2(glslang HLSL HLSLd)
  23. find_imported_library2(glslang OSDependent OSDependentd)
  24. find_imported_library2(glslang OGLCompiler OGLCompilerd)
  25. find_imported_library2(glslang SPIRV SPIRVd)
  26. if(NOT glslang_FOUND)
  27. if(glslang_FIND_REQUIRED)
  28. message(FATAL_ERROR "Cannot find glslang installation. Try modifying the glslang_INSTALL_DIRS path.")
  29. else()
  30. message(WARNING "Cannot find glslang installation. Try modifying the glslang_INSTALL_DIRS path.")
  31. endif()
  32. else()
  33. message(STATUS "...glslang OK.")
  34. endif()
  35. if(glslang_FOUND)
  36. set_target_properties(glslang::glslang PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${glslang_INCLUDE_DIR}")
  37. endif()
  38. mark_as_advanced(
  39. glslang_INSTALL_DIRS
  40. glslang_INCLUDE_DIR
  41. )
  42. set(glslang_INCLUDE_DIRS ${glslang_INCLUDE_DIR})