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 - -