diff --git a/CMakeLists.txt b/CMakeLists.txt index ef732d81..b9886bcb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -86,6 +86,7 @@ file(GLOB SOURCE *.cpp base/*.cpp) # Function for building single example function(buildExample EXAMPLE_NAME) + # Main file(GLOB SOURCE *.cpp base/*.cpp ${EXAMPLE_NAME}/*.cpp) SET(MAIN_CPP ${EXAMPLE_NAME}/${EXAMPLE_NAME}.cpp) if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${EXAMPLE_NAME}/main.cpp) @@ -96,11 +97,15 @@ function(buildExample EXAMPLE_NAME) file(GLOB ADD_SOURCE external/imgui/*.cpp) SET(SOURCE ${SOURCE} ${ADD_SOURCE}) ENDIF() + # Add shaders + set(SHADER_DIR data/shaders/${EXAMPLE_NAME}) + file(GLOB SHADERS "${SHADER_DIR}/*.vert" "${SHADER_DIR}/*.frag" "${SHADER_DIR}/*.geom" "${SHADER_DIR}/*.tesc" "${SHADER_DIR}/*.tese") + source_group("Shaders" FILES ${SHADERS}) if(WIN32) - add_executable(${EXAMPLE_NAME} WIN32 ${MAIN_CPP} ${SOURCE}) + add_executable(${EXAMPLE_NAME} WIN32 ${MAIN_CPP} ${SOURCE} ${SHADERS}) target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WINLIBS}) else(WIN32) - add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE}) + add_executable(${EXAMPLE_NAME} ${MAIN_CPP} ${SOURCE} ${SHADERS}) target_link_libraries(${EXAMPLE_NAME} ${Vulkan_LIBRARY} ${ASSIMP_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) endif(WIN32) endfunction(buildExample)