我正在使用 cmake 为我的项目生成 vs 解决方案,如果我可以在解决方案资源管理器中看到所有着色器源文件,那就太好了
我想添加一个自定义源组,显示我的项目中的所有 .glsl 文件
我已经尝试过以下方法,但不起作用:
file(GLOB SHADER_FILES *.glsl)
source_group("Shaders" FILES ${SHADER_FILES})
我正在使用 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