cmake_minimum_required(VERSION 3.16) project(ToolBox LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib/${CMAKE_BUILD_TYPE}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin/${CMAKE_BUILD_TYPE}) 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(ToolBox.h.in ToolBox.h) message(STATUS "Version file config to: ${CMAKE_CURRENT_BINARY_DIR}") include_directories(${CMAKE_CURRENT_BINARY_DIR}) add_subdirectory(fileUpdater) if(WIN32) set(CPACK_GENERATOR "ZIP") else() set(CPACK_GENERATOR "TGZ") endif() set(CPACK_PACKAGE_FILE_NAME "ToolBox-${VERSION_GIT_HASH}-${VERSION_GIT_BRANCH}") include(CPack)