file(GLOB HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h") list(APPEND HEADER_FILES ${PROJECT_BINARY_DIR}/include/OgreGLSLangProgramManagerExports.h) add_library(Plugin_GLSLangProgramManager ${OGRE_LIB_TYPE} ${HEADER_FILES} src/OgreGLSLang.cpp) target_include_directories(Plugin_GLSLangProgramManager PUBLIC "$" $) if(ANDROID) target_include_directories(Plugin_GLSLangProgramManager SYSTEM PRIVATE ${ANDROID_NDK}/sources/third_party/shaderc/third_party/glslang ${ANDROID_NDK}/sources/third_party/shaderc/third_party/) target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain ${ANDROID_NDK}/sources/third_party/shaderc/libs/c++_static/${ANDROID_ABI}/libshaderc.a) elseif(DEFINED ENV{VULKAN_SDK}) message(STATUS "Using VULKAN_SDK: $ENV{VULKAN_SDK}") target_include_directories(Plugin_GLSLangProgramManager SYSTEM PRIVATE $ENV{VULKAN_SDK}/include) target_link_directories(Plugin_GLSLangProgramManager PUBLIC $ENV{VULKAN_SDK}/lib) target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain debug shaderc_combinedd optimized shaderc_combined) else() set(GLSLANG_LIBS debug glslangd optimized glslang debug HLSLd optimized HLSL debug OSDependentdoptimized OSDependent debug OGLCompilerd optimized OGLCompiler debug SPIRVd optimized SPIRV debug SPIRV-Tools-optd optimized SPIRV-Tools-opt debug SPIRV-Toolsd optimized SPIRV-Tools) find_library(GLSLANG_MI MachineIndependent) if(GLSLANG_MI) set(GLSLANG_LIBS ${GLSLANG_MI} ${GLSLANG_LIBS}) endif() target_link_libraries(Plugin_GLSLangProgramManager PUBLIC OgreMain ${GLSLANG_LIBS}) endif() ogre_config_framework(Plugin_GLSLangProgramManager) ogre_config_plugin(Plugin_GLSLangProgramManager) generate_export_header(Plugin_GLSLangProgramManager EXPORT_MACRO_NAME _OgreGLSLangProgramManagerExport EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/OgreGLSLangProgramManagerExports.h) install(FILES ${HEADER_FILES} DESTINATION include/OGRE/Plugins/GLSLang)