如何使用 cmake 让 glsl 着色器源显示在 Visual Studio 解决方案资源管理器中?

问题描述 投票:0回答:1

我正在使用 cmake 为我的项目生成 vs 解决方案,如果我可以在解决方案资源管理器中看到所有着色器源文件,那就太好了

这就是现在的样子: solution explorer no shaders

我想添加一个自定义源组,显示我的项目中的所有 .glsl 文件

我已经尝试过以下方法,但不起作用:

file(GLOB SHADER_FILES *.glsl)
source_group("Shaders" FILES ${SHADER_FILES})
cmake
1个回答
0
投票

我正在使用 HLSL 着色器执行以下操作,但我相信同样适用于 GLSL,因为 set_source_files_properties 中的语言属性仅用于防止 add_executable 中的 VS 解释文件:

...
set(SHADER_FILES shaders/some_shader.hlsl)
...
set(ALL_PROJECT_FILES ${SOURCE_FILES} ${HEADER_FILES} ${SHADER_FILES})
...
set_source_files_properties(${SHADER_FILES} PROPERTIES LANGUAGE HLSL)
source_group("Sources" FILES ${SOURCE_FILES})
source_group("Headers" FILES ${HEADER_FILES})
source_group("Shaders" FILES ${SHADER_FILES})
add_executable(${PROJECT_NAME} WIN32 ${ALL_PROJECT_FILES})
...

我按照这个答案得到了这个配置:https://stackoverflow.com/a/31653555/14815076

© www.soinside.com 2019 - 2024. All rights reserved.