51 lines
1.3 KiB
CMake
51 lines
1.3 KiB
CMake
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()
|
|
|
|
execute_process(
|
|
COMMAND git rev-parse --short HEAD
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE VERSION_GIT_HASH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
execute_process(
|
|
COMMAND git rev-parse --abbrev-ref HEAD
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE VERSION_GIT_BRANCH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
configure_file(fileUpdaterVer.h.in fileUpdaterVer.h)
|
|
message(STATUS "Version file config to: ${CMAKE_CURRENT_BINARY_DIR}")
|
|
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
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
|
|
)
|
|
|
|
include(GNUInstallDirs)
|
|
install(TARGETS fileUpdater
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
)
|