cmake_minimum_required(VERSION 3.16) project(fileUpdater LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if (MSVC) add_compile_options(/utf-8) add_definitions(-D_CRT_SECURE_NO_WARNINGS) endif() find_package(fmt REQUIRED) find_package(tinyxml2 REQUIRED) find_package(CLI11 REQUIRED) find_package(spdlog REQUIRED) find_package(Boost REQUIRED COMPONENTS locale filesystem nowide) add_executable(fileUpdater main.cpp) target_link_libraries(fileUpdater PRIVATE fmt::fmt Boost::locale Boost::filesystem Boost::nowide CLI11::CLI11 spdlog::spdlog tinyxml2::tinyxml2 zoost ) include(GNUInstallDirs) install(TARGETS fileUpdater LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )