diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3618352..b854f6b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,11 +28,33 @@ endif()
message(STATUS "OpenCASCADE_INCLUDE_DIRS: ${OpenCASCADE_INCLUDE_DIRS}")
message(STATUS "OpenCASCADE_LIBRARIES: ${OpenCASCADE_LIBRARIES}")
+# Automatically find resource files and generate resources.qrc
+set(GENERATED_QRC_FILE "${CMAKE_CURRENT_BINARY_DIR}/resources.qrc")
+set(QRC_CONTENT "")
+
+file(GLOB ICON_FILES "icons/*.svg")
+string(APPEND QRC_CONTENT " \n")
+foreach(ICON_FILE IN LISTS ICON_FILES)
+ get_filename_component(ICON_ALIAS ${ICON_FILE} NAME)
+ string(APPEND QRC_CONTENT " ${ICON_FILE}\n")
+endforeach()
+string(APPEND QRC_CONTENT " \n")
+
+file(GLOB SHADER_FILES "src/shaders/*")
+string(APPEND QRC_CONTENT " \n")
+foreach(SHADER_FILE IN LISTS SHADER_FILES)
+ get_filename_component(SHADER_ALIAS ${SHADER_FILE} NAME)
+ string(APPEND QRC_CONTENT " ${SHADER_FILE}\n")
+endforeach()
+string(APPEND QRC_CONTENT " \n")
+
+file(WRITE ${GENERATED_QRC_FILE} "\n${QRC_CONTENT}\n")
+
file(GLOB SOURCES "src/*.cpp")
add_executable(OpenCAD
${SOURCES}
- resources.qrc
+ ${GENERATED_QRC_FILE}
)
target_include_directories(OpenCAD SYSTEM PRIVATE ${OpenCASCADE_INCLUDE_DIRS})
diff --git a/resources.qrc b/resources.qrc
deleted file mode 100644
index 698a12f..0000000
--- a/resources.qrc
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
- icons/create-sketch.svg
- icons/extrude.svg
- icons/line.svg
- icons/rectangle.svg
- icons/circle.svg
- icons/save-sketch.svg
- icons/cursor.svg
- icons/home.svg
-
-
- src/shaders/simple.vert
- src/shaders/simple.frag
- src/shaders/texture.vert
- src/shaders/texture.frag
-
-