@@ -54,12 +54,10 @@ target_sources(VulkanCppModule
5454# Platform-specific settings
5555if (ANDROID)
5656 # Android-specific settings
57- add_definitions (-DPLATFORM_ANDROID=1)
58- add_definitions (-DPLATFORM_DESKTOP=0)
57+ add_definitions (-DPLATFORM_ANDROID)
5958else ()
6059 # Desktop-specific settings
61- add_definitions (-DPLATFORM_ANDROID=0)
62- add_definitions (-DPLATFORM_DESKTOP=1)
60+ add_definitions (-DPLATFORM_DESKTOP)
6361endif ()
6462
6563# Shader compilation
@@ -69,8 +67,11 @@ file(GLOB SLANG_SHADER_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/shaders/*.slang)
6967# Find slangc executable (optional)
7068find_program (SLANGC_EXECUTABLE slangc HINTS $ENV{VULKAN_SDK} /bin)
7169
72- # Compile Slang shaders using slangc if available
7370if (SLANGC_EXECUTABLE)
71+ # Ensure the output directory for compiled shaders exists
72+ file (MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /shaders)
73+
74+ # Compile Slang shaders using slangc
7475 foreach (SHADER ${SLANG_SHADER_SOURCES} )
7576 get_filename_component (SHADER_NAME ${SHADER} NAME )
7677 get_filename_component (SHADER_NAME_WE ${SHADER_NAME} NAME_WE )
@@ -83,6 +84,7 @@ if(SLANGC_EXECUTABLE)
8384 )
8485 list (APPEND SHADER_SPVS ${CMAKE_CURRENT_BINARY_DIR} /shaders/${OUTPUT_NAME} .spv)
8586 endforeach ()
87+
8688 add_custom_target (shaders DEPENDS ${SHADER_SPVS} )
8789else ()
8890 message (STATUS "slangc not found. Skipping shader compilation step." )
@@ -189,7 +191,9 @@ endif()
189191
190192# Include binary and resource directories in the package
191193install (TARGETS SimpleEngine DESTINATION bin)
192- install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /shaders DESTINATION share/SimpleEngine)
194+ if (SLANGC_EXECUTABLE)
195+ install (DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} /shaders DESTINATION share/SimpleEngine)
196+ endif ()
193197
194198# Install models and textures if they exist
195199if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR} /models)
0 commit comments