diff --git a/CMakeSettings.json b/CMakeSettings.json index c39c2c0456..4c8d5d0c1d 100644 --- a/CMakeSettings.json +++ b/CMakeSettings.json @@ -129,4 +129,4 @@ "variables": [] } ] -} \ No newline at end of file +} diff --git a/Source/Tools/CMakeLists.txt b/Source/Tools/CMakeLists.txt index 4e4320f808..5a75f658ed 100644 --- a/Source/Tools/CMakeLists.txt +++ b/Source/Tools/CMakeLists.txt @@ -3,7 +3,10 @@ add_subdirectory(CommonTools) if (NOT MINGW) if (BUILD_FEXCONFIG) find_package(Qt6 COMPONENTS Qml Quick Widgets QUIET) - if (NOT Qt6_FOUND) + if (Qt6_FOUND) + set(QT_VERSION_MAJOR 6) + else() + set(QT_VERSION_MAJOR 5) find_package(Qt5 COMPONENTS Qml Quick Widgets REQUIRED) endif() diff --git a/Source/Tools/FEXConfig/CMakeLists.txt b/Source/Tools/FEXConfig/CMakeLists.txt index 2991d44757..80f89e3b3e 100644 --- a/Source/Tools/FEXConfig/CMakeLists.txt +++ b/Source/Tools/FEXConfig/CMakeLists.txt @@ -1,17 +1,28 @@ set(CMAKE_AUTOMOC ON) -add_executable(FEXConfig) -target_sources(FEXConfig PRIVATE Main.cpp Main.h) - -target_link_libraries(FEXConfig PRIVATE Common JemallocDummy) -if (Qt6_FOUND) - qt_add_resources(QT_RESOURCES qml6.qrc) - target_link_libraries(FEXConfig PRIVATE Qt6::Qml Qt6::Quick Qt6::Widgets) -else() - qt_add_resources(QT_RESOURCES qml5.qrc) - target_link_libraries(FEXConfig PRIVATE Qt5::Qml Qt5::Quick Qt5::Widgets) -endif() -target_sources(FEXConfig PRIVATE ${QT_RESOURCES}) +add_executable(FEXConfig Main.cpp Main.h) + +set(common_qml + main.qml + icon.png) + +set(dialog_qml + qt${QT_VERSION_MAJOR}/FileDialog.qml + qt${QT_VERSION_MAJOR}/FolderDialog.qml + qt${QT_VERSION_MAJOR}/MessageDialog.qml) + +file(COPY + ${common_qml} ${dialog_qml} qml.qrc + DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) + +qt_add_resources(qml_qrc ${CMAKE_CURRENT_BINARY_DIR}/qml.qrc) +target_sources(FEXConfig PRIVATE ${qml_qrc}) + +target_link_libraries(FEXConfig PRIVATE + Common JemallocDummy + Qt${QT_VERSION_MAJOR}::Qml + Qt${QT_VERSION_MAJOR}::Quick + Qt${QT_VERSION_MAJOR}::Widgets) if (CMAKE_BUILD_TYPE MATCHES "RELEASE") target_link_options(FEXConfig diff --git a/Source/Tools/FEXConfig/Main.cpp b/Source/Tools/FEXConfig/Main.cpp index 055cfbbe93..5dc3dc40bc 100644 --- a/Source/Tools/FEXConfig/Main.cpp +++ b/Source/Tools/FEXConfig/Main.cpp @@ -401,9 +401,10 @@ ConfigRuntime::ConfigRuntime(const QString& ConfigFilename) { qmlRegisterSingletonInstance("FEX.ConfigModel", 1, 0, "ConfigModel", &ConfigModelInst); qmlRegisterSingletonInstance("FEX.HostLibsModel", 1, 0, "HostLibsModel", &HostLibs); qmlRegisterSingletonInstance("FEX.RootFSModel", 1, 0, "RootFSModel", &RootFSList); - Engine.load(QUrl("qrc:/main.qml")); - Window = qobject_cast(Engine.rootObjects().first()); + Engine.load(QUrl(QStringLiteral("qrc:/main.qml"))); + + Window = qobject_cast(Engine.rootObjects().at(0)); if (!ConfigFilename.isEmpty()) { Window->setProperty("configFilename", QUrl::fromLocalFile(ConfigFilename)); } else { diff --git a/Source/Tools/FEXConfig/qml.qrc b/Source/Tools/FEXConfig/qml.qrc new file mode 100644 index 0000000000..178633b504 --- /dev/null +++ b/Source/Tools/FEXConfig/qml.qrc @@ -0,0 +1,11 @@ + + + main.qml + icon.png + + + FileDialog.qml + FolderDialog.qml + MessageDialog.qml + + diff --git a/Source/Tools/FEXConfig/qml5.qrc b/Source/Tools/FEXConfig/qml5.qrc deleted file mode 100644 index b8b023949a..0000000000 --- a/Source/Tools/FEXConfig/qml5.qrc +++ /dev/null @@ -1,11 +0,0 @@ - - - main.qml - icon.png - - - qt5/FileDialog.qml - qt5/FolderDialog.qml - qt5/MessageDialog.qml - - diff --git a/Source/Tools/FEXConfig/qml6.qrc b/Source/Tools/FEXConfig/qml6.qrc deleted file mode 100644 index 0175bbcfef..0000000000 --- a/Source/Tools/FEXConfig/qml6.qrc +++ /dev/null @@ -1,11 +0,0 @@ - - - main.qml - icon.png - - - qt6/FileDialog.qml - qt6/FolderDialog.qml - qt6/MessageDialog.qml - -