Skip to content

Commit bd6fa18

Browse files
committed
cmake: use the conditional file generation helper to generate shaders.cpp
1 parent 6840632 commit bd6fa18

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

CMakeLists.txt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -956,7 +956,7 @@ function(AddApplication)
956956
set_property(TARGET ${A_Target}-objects APPEND PROPERTY COMPILE_OPTIONS ${A_Flags})
957957
set_property(TARGET ${A_Target}-objects APPEND PROPERTY INCLUDE_DIRECTORIES ${ENGINE_DIR} ${MOUNT_DIR} ${LIB_DIR})
958958
set_property(TARGET ${A_Target}-objects APPEND PROPERTY COMPILE_DEFINITIONS ${A_Definitions})
959-
959+
960960
set_target_properties(${A_Target}-objects PROPERTIES FOLDER "engine/objects")
961961

962962
set(Sources WIN32 ${A_ApplicationMain})
@@ -1026,25 +1026,31 @@ if (BUILD_CLIENT)
10261026
set(SHADERS_CPP_TEXT "// This file is auto-generated by CMakeLists.txt.\n")
10271027
string(APPEND SHADERS_CPP_TEXT "#include \"common/Common.h\"\n\n")
10281028
set(SHADERMAP_TEXT "")
1029+
10291030
foreach(res ${GLSLSOURCELIST})
10301031
get_filename_component(filename_no_ext ${res} NAME_WE)
10311032
set(outpath ${EMBED_INCLUDE_DIR}/${filename_no_ext}.glsl.h)
1033+
10321034
add_custom_command(
10331035
OUTPUT ${outpath}
10341036
COMMAND ${CMAKE_COMMAND} "-DINPUT_FILE=${res}" "-DOUTPUT_FILE=${outpath}"
10351037
"-DVARIABLE_NAME=${filename_no_ext}_glsl" -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/EmbedText.cmake
10361038
MAIN_DEPENDENCY ${res}
10371039
)
1040+
10381041
set_property(TARGET client-objects APPEND PROPERTY SOURCES ${outpath})
1039-
string(APPEND SHADERS_CPP_TEXT "#include \"../embed_data/${filename_no_ext}.glsl.h\"\n")
1040-
string(APPEND SHADERMAP_TEXT "\t{ \"${filename_no_ext}.glsl\", ")
1041-
string(APPEND SHADERMAP_TEXT "std::string(reinterpret_cast<const char *>( ${filename_no_ext}_glsl ), ")
1042-
string(APPEND SHADERMAP_TEXT "sizeof( ${filename_no_ext}_glsl )) },\n")
1042+
1043+
string(APPEND SHADERS_CPP_TEXT "#include \"../embed_data/${filename_no_ext}.glsl.h\"\n")
1044+
string(APPEND SHADERMAP_TEXT "\t{ \"${filename_no_ext}.glsl\", ")
1045+
string(APPEND SHADERMAP_TEXT "std::string(reinterpret_cast<const char *>( ${filename_no_ext}_glsl ), ")
1046+
string(APPEND SHADERMAP_TEXT "sizeof( ${filename_no_ext}_glsl )) },\n")
10431047
endforeach()
1048+
10441049
string(APPEND SHADERS_CPP_TEXT "\nextern const std::unordered_map<std::string, std::string> shadermap\n{\n")
10451050
string(APPEND SHADERS_CPP_TEXT "${SHADERMAP_TEXT}")
10461051
string(APPEND SHADERS_CPP_TEXT "};\n")
1047-
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/GeneratedSource/shaders.cpp" "${SHADERS_CPP_TEXT}")
1052+
1053+
daemon_write_generated("shaders.cpp" "${SHADERS_CPP_TEXT}")
10481054
endif()
10491055

10501056
if (BUILD_SERVER)

src.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ set(COMMONTESTLIST
8080
)
8181

8282
set(RENDERERLIST
83-
${CMAKE_CURRENT_BINARY_DIR}/GeneratedSource/shaders.cpp
83+
${DAEMON_GENERATED_DIR}/shaders.cpp
8484
${ENGINE_DIR}/renderer/BufferBind.h
8585
${ENGINE_DIR}/renderer/DetectGLVendors.cpp
8686
${ENGINE_DIR}/renderer/DetectGLVendors.h

0 commit comments

Comments
 (0)