From cafd3e5dcab86a7108d198c48522f185ec63318b Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Mon, 11 Apr 2022 21:54:30 -0400 Subject: [PATCH] Create separate executable for exdviewer --- CMakeLists.txt | 25 +-------------------- exdviewer/CMakeLists.txt | 24 ++++++++++++++++++++ {include => exdviewer/include}/mainwindow.h | 0 {src => exdviewer/src}/main.cpp | 0 {src => exdviewer/src}/mainwindow.cpp | 4 ++++ 5 files changed, 29 insertions(+), 24 deletions(-) create mode 100644 exdviewer/CMakeLists.txt rename {include => exdviewer/include}/mainwindow.h (100%) rename {src => exdviewer/src}/main.cpp (100%) rename {src => exdviewer/src}/mainwindow.cpp (94%) diff --git a/CMakeLists.txt b/CMakeLists.txt index d103eec..23e3806 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,27 +30,4 @@ else() set(LIBRARIES fmt::fmt ${LIBRARIES}) endif() -add_executable(novus - src/main.cpp - src/mainwindow.cpp) -target_include_directories(novus - PUBLIC - include) -target_link_libraries(novus PUBLIC libxiv ${LIBRARIES} Qt5::Core Qt5::Widgets) - -install(TARGETS novus - DESTINATION "${INSTALL_BIN_PATH}") - -if(WIN32) - get_target_property(QMAKE_EXE Qt5::qmake IMPORTED_LOCATION) - get_filename_component(QT_BIN_DIR "${QMAKE_EXE}" DIRECTORY) - - find_program(WINDEPLOYQT_ENV_SETUP qtenv2.bat HINTS "${QT_BIN_DIR}") - find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${QT_BIN_DIR}") - - # Run windeployqt immediately after build - add_custom_command(TARGET novus - POST_BUILD - COMMAND "${WINDEPLOYQT_ENV_SETUP}" && "${WINDEPLOYQT_EXECUTABLE}" \"$\" - ) -endif() +add_subdirectory(exdviewer) \ No newline at end of file diff --git a/exdviewer/CMakeLists.txt b/exdviewer/CMakeLists.txt new file mode 100644 index 0000000..99f0c30 --- /dev/null +++ b/exdviewer/CMakeLists.txt @@ -0,0 +1,24 @@ +add_executable(exdviewer + src/main.cpp + src/mainwindow.cpp) +target_include_directories(exdviewer + PUBLIC + include) +target_link_libraries(exdviewer PUBLIC libxiv ${LIBRARIES} Qt5::Core Qt5::Widgets) + +install(TARGETS exdviewer + DESTINATION "${INSTALL_BIN_PATH}") + +if(WIN32) + get_target_property(QMAKE_EXE Qt5::qmake IMPORTED_LOCATION) + get_filename_component(QT_BIN_DIR "${QMAKE_EXE}" DIRECTORY) + + find_program(WINDEPLOYQT_ENV_SETUP qtenv2.bat HINTS "${QT_BIN_DIR}") + find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${QT_BIN_DIR}") + + # Run windeployqt immediately after build + add_custom_command(TARGET exdviewer + POST_BUILD + COMMAND "${WINDEPLOYQT_ENV_SETUP}" && "${WINDEPLOYQT_EXECUTABLE}" \"$\" + ) +endif() diff --git a/include/mainwindow.h b/exdviewer/include/mainwindow.h similarity index 100% rename from include/mainwindow.h rename to exdviewer/include/mainwindow.h diff --git a/src/main.cpp b/exdviewer/src/main.cpp similarity index 100% rename from src/main.cpp rename to exdviewer/src/main.cpp diff --git a/src/mainwindow.cpp b/exdviewer/src/mainwindow.cpp similarity index 94% rename from src/mainwindow.cpp rename to exdviewer/src/mainwindow.cpp index 0c4438d..657b1fa 100644 --- a/src/mainwindow.cpp +++ b/exdviewer/src/mainwindow.cpp @@ -8,6 +8,7 @@ #include "gamedata.h" #include "exhparser.h" #include "exdparser.h" +#include "mdlparser.h" MainWindow::MainWindow(GameData& data) : data(data) { setWindowTitle("Novus"); @@ -25,6 +26,9 @@ MainWindow::MainWindow(GameData& data) : data(data) { auto* pageTabWidget = new QTabWidget(); + data.extractFile("chara/equipment/e0000/model/c0201e0000_top.mdl", "top.mdl"); + parseMDL("top.mdl"); + connect(listWidget, &QListWidget::itemClicked, this, [&data, pageTabWidget](QListWidgetItem* item) { pageTabWidget->clear();