@@ -119,34 +119,45 @@ target_include_directories(${PROJECT_NAME} SYSTEM PUBLIC
119119
120120# ---- Compile Shaders ----
121121if (Vulkan_FOUND)
122- # The following code is used to always compile the shader.
123- # This is most likely not an optimal solution, but it will work
124- # until we find a better one.
125122 add_dependencies (${PROJECT_NAME} RAYX_CORE_COMPILE_SHADER)
126- set (RAYX_CORE_SHADER ${CMAKE_BINARY_DIR} /bin/shaders/comp.spv)
127- set (RAYX_CORE_SHADER_FAKE ${CMAKE_BINARY_DIR} /bin/___comp.spv) # this exists so file cannot be found -> always execute command
128-
123+ set (RAYX_CORE_SHADER ${CMAKE_BINARY_DIR} /bin/Shaders/comp.spv)
124+ file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR} /bin/Shaders)
129125 add_custom_command (
130126 OUTPUT
131127 ${RAYX_CORE_SHADER}
132- ${RAYX_CORE_SHADER_FAKE}
133128 COMMAND glslangValidator
134129 ARGS -V ${PROJECT_SOURCE_DIR} /src/Shader/main-glsl.comp -o ${RAYX_CORE_SHADER}
135130 )
136-
137131 add_custom_target (RAYX_CORE_COMPILE_SHADER ALL DEPENDS ${RAYX_CORE_SHADER} )
138132endif ()
139133
140134# ------------------------
141135
142- # ---- CPack ----
136+ # ---- Data ----
137+ # Define the source and destination paths
138+ set (DATA_SRC_DIR "${CMAKE_SOURCE_DIR} /Data" )
139+ # Set the destination directory for the Data directory based on the build type
140+ if (CMAKE_BUILD_TYPE STREQUAL "Debug" )
141+ set (DATA_DST_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG} /Data" )
142+ else ()
143+ set (DATA_DST_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE} /Data" )
144+ endif ()
143145
144- include (InstallRequiredSystemLibraries)
146+ # Copy the Data directory to the binary output directory after building
147+ message (STATUS "Copying Data directory from ${DATA_SRC_DIR} to ${DATA_DST_DIR} " )
148+ add_custom_command (
149+ TARGET ${PROJECT_NAME} POST_BUILD
150+ COMMAND ${CMAKE_COMMAND} -E copy_directory ${DATA_SRC_DIR} ${DATA_DST_DIR}
151+ COMMENT "Copying Data directory to build output directory..."
152+ )
153+ # -----------------
145154
146- set (CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR} /../../LICENSE" )
155+ # ---- CPack ----
156+ set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR} /LICENSE" )
147157set (CPACK_PACKAGE_VERSION ${PROJECT_VERSION} )
148158set (CPACK_PACKAGE_CONTACT
"Your Name <[email protected] >" )
149159set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Your Project Description" )
160+ install (DIRECTORY ${DATA_SRC_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX} )
150161
151162include (CPack)
152163
0 commit comments