Skip to content

Commit 6fd7883

Browse files
Update .gitignore and CMakeLists.txt for improved build management and shader compilation
1 parent c59a56e commit 6fd7883

2 files changed

Lines changed: 19 additions & 17 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ ebook/*.epub
1111

1212
convert.py
1313

14+
**/[B,b]uild/*
15+
1416
attachments/build/**
1517
attachments/android/.gradle/**
1618
attachments/android/.idea

attachments/CMakeLists.txt

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,12 @@ if(ENABLE_CPP20_MODULE)
5151
endif()
5252

5353
target_sources(VulkanCppModule
54-
PUBLIC
55-
FILE_SET cxx_modules TYPE CXX_MODULES
56-
BASE_DIRS
57-
"${Vulkan_INCLUDE_DIR}"
58-
FILES
59-
"${Vulkan_INCLUDE_DIR}/vulkan/vulkan.cppm"
54+
PUBLIC
55+
FILE_SET cxx_modules TYPE CXX_MODULES
56+
BASE_DIRS
57+
"${Vulkan_INCLUDE_DIR}"
58+
FILES
59+
"${Vulkan_INCLUDE_DIR}/vulkan/vulkan.cppm"
6060
)
6161

6262

@@ -85,7 +85,7 @@ find_program(SLANGC_EXECUTABLE slangc HINTS $ENV{VULKAN_SDK}/bin REQUIRED)
8585

8686
function (add_shaders_target TARGET)
8787
cmake_parse_arguments ("SHADER" "" "CHAPTER_NAME" "SOURCES" ${ARGN})
88-
set (SHADERS_DIR ${SHADER_CHAPTER_NAME}/shaders)
88+
set (SHADERS_DIR ${CMAKE_BINARY_DIR}/${SHADER_CHAPTER_NAME}/shaders)
8989
add_custom_command (
9090
OUTPUT ${SHADERS_DIR}
9191
COMMAND ${CMAKE_COMMAND} -E make_directory ${SHADERS_DIR}
@@ -96,31 +96,31 @@ function (add_shaders_target TARGET)
9696
ARGS --target-env vulkan1.0 ${SHADER_SOURCES} --quiet
9797
WORKING_DIRECTORY ${SHADERS_DIR}
9898
DEPENDS ${SHADER_SOURCES}
99-
COMMENT "Compiling Shaders"
99+
COMMENT "Compiling Shaders for ${TARGET}"
100100
VERBATIM
101101
)
102102
add_custom_target (${TARGET} DEPENDS ${SHADERS_DIR}/frag.spv ${SHADERS_DIR}/vert.spv)
103103
endfunction ()
104104

105105
function (add_slang_shader_target TARGET)
106106
cmake_parse_arguments ("SHADER" "" "CHAPTER_NAME" "SOURCES" ${ARGN})
107-
set (SHADERS_DIR ${SHADER_CHAPTER_NAME}/shaders)
107+
set (SHADERS_DIR ${CMAKE_BINARY_DIR}/${SHADER_CHAPTER_NAME}/shaders)
108108
file(GLOB HAS_COMPUTE ${CHAPTER_SHADER}.comp)
109109
set (ENTRY_POINTS -entry vertMain -entry fragMain)
110110
if(HAS_COMPUTE)
111111
list(APPEND ENTRY_POINTS -entry compMain)
112112
endif()
113113
add_custom_command (
114-
OUTPUT ${SHADERS_DIR}
115-
COMMAND ${CMAKE_COMMAND} -E make_directory ${SHADERS_DIR}
114+
OUTPUT ${SHADERS_DIR}
115+
COMMAND ${CMAKE_COMMAND} -E make_directory ${SHADERS_DIR}
116116
)
117117
add_custom_command (
118-
OUTPUT ${SHADERS_DIR}/slang.spv
119-
COMMAND ${SLANGC_EXECUTABLE} ${SHADER_SOURCES} -target spirv -profile spirv_1_4+spvRayQueryKHR -emit-spirv-directly -fvk-use-entrypoint-name ${ENTRY_POINTS} -o slang.spv
120-
WORKING_DIRECTORY ${SHADERS_DIR}
121-
DEPENDS ${SHADER_SOURCES}
122-
COMMENT "Compiling Slang Shaders"
123-
VERBATIM
118+
OUTPUT ${SHADERS_DIR}/slang.spv
119+
COMMAND ${SLANGC_EXECUTABLE} ${SHADER_SOURCES} -target spirv -profile spirv_1_4+spvRayQueryKHR -emit-spirv-directly -fvk-use-entrypoint-name ${ENTRY_POINTS} -o slang.spv
120+
WORKING_DIRECTORY ${SHADERS_DIR}
121+
DEPENDS ${SHADER_SOURCES}
122+
COMMENT "Compiling Slang Shaders for ${TARGET}"
123+
VERBATIM
124124
)
125125
add_custom_target (${TARGET} DEPENDS ${SHADERS_DIR}/slang.spv)
126126
endfunction()

0 commit comments

Comments
 (0)