# MassBuilderSaveTool # Copyright (C) 2021-2022 Guillaume Jacquemin # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(SAVETOOL_PROJECT_VERSION 1.5.0-pre) find_package(Corrade REQUIRED Main Containers Utility) find_package(Magnum REQUIRED GL Sdl2Application) find_package(MagnumIntegration REQUIRED ImGui) set_directory_properties(PROPERTIES CORRADE_USE_PEDANTIC_FLAGS ON) corrade_add_resource(Assets assets.conf) add_subdirectory(Logger EXCLUDE_FROM_ALL) add_subdirectory(UESaveFile EXCLUDE_FROM_ALL) add_executable(MassBuilderSaveTool WIN32 main.cpp SaveTool/SaveTool.h SaveTool/SaveTool.cpp SaveTool/SaveTool_drawAbout.cpp SaveTool/SaveTool_drawMainMenu.cpp SaveTool/SaveTool_FileWatcher.cpp SaveTool/SaveTool_Initialisation.cpp SaveTool/SaveTool_MainManager.cpp SaveTool/SaveTool_MassViewer.cpp SaveTool/SaveTool_MassViewer_Frame.cpp SaveTool/SaveTool_MassViewer_Armour.cpp SaveTool/SaveTool_MassViewer_Weapons.cpp SaveTool/SaveTool_ProfileManager.cpp SaveTool/SaveTool_UpdateChecker.cpp Configuration/Configuration.h Configuration/Configuration.cpp ProfileManager/ProfileManager.h ProfileManager/ProfileManager.cpp Profile/Profile.h Profile/Profile.cpp Profile/PropertyNames.h Profile/ResourceIDs.h MassManager/MassManager.h MassManager/MassManager.cpp Mass/Accessory.h Mass/ArmourPart.h Mass/BulletLauncherAttachment.h Mass/CustomStyle.h Mass/Decal.h Mass/Joints.h Mass/Mass.h Mass/Mass.cpp Mass/Mass_Frame.cpp Mass/Mass_Armour.cpp Mass/Mass_Weapons.cpp Mass/Mass_Styles.cpp Mass/Mass_DecalsAccessories.cpp Mass/PropertyNames.h Mass/Weapon.h Mass/Weapon.cpp Mass/WeaponPart.h Maps/Accessories.h Maps/ArmourSets.h Maps/ArmourSlots.hpp Maps/BulletLauncherAttachmentStyles.hpp Maps/BulletLauncherSockets.hpp Maps/DamageTypes.hpp Maps/EffectColourModes.hpp Maps/LastMissionId.h Maps/StoryProgress.h Maps/StyleNames.h Maps/WeaponParts.h Maps/WeaponTypes.hpp ToastQueue/ToastQueue.h ToastQueue/ToastQueue.cpp Utilities/Crc32.h FontAwesome/IconsFontAwesome5.h FontAwesome/IconsFontAwesome5Brands.h resource.rc ${Assets} ) if(CMAKE_BUILD_TYPE STREQUAL Debug) target_compile_definitions(Logger PRIVATE SAVETOOL_DEBUG_BUILD) target_compile_definitions(MassBuilderSaveTool PRIVATE SAVETOOL_DEBUG_BUILD) endif() target_compile_definitions(MassBuilderSaveTool PRIVATE SAVETOOL_VERSION="${SAVETOOL_PROJECT_VERSION}" SAVETOOL_CODENAME="Friendly Valkyrie" SUPPORTED_GAME_VERSION="0.9.x" ) if(CMAKE_BUILD_TYPE STREQUAL Release) set_target_properties(MassBuilderSaveTool PROPERTIES OUTPUT_NAME MassBuilderSaveTool-${SAVETOOL_PROJECT_VERSION}) endif() target_link_options(MassBuilderSaveTool PRIVATE -static -static-libgcc -static-libstdc++) if(CMAKE_BUILD_TYPE STREQUAL Release) target_link_options(MassBuilderSaveTool PRIVATE -Wl,-S) endif() target_link_libraries(MassBuilderSaveTool PRIVATE Corrade::Containers Corrade::Utility Corrade::Main Magnum::Magnum Magnum::GL Magnum::Sdl2Application MagnumIntegration::ImGui Logger UESaveFile efsw zip libcurl imm32 wtsapi32 )