Files
LicenseManager/CMakeLists.txt
2026-01-17 22:38:18 +03:00

77 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(LicenseManager)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5 COMPONENTS
Core
Gui
Widgets
Sql
REQUIRED
)
file(GLOB
SOURCES
"src/*"
"src/MainWidget/*"
"src/LicenseModel/*"
"src/EditClientDialog/*"
"deps/deps.qrc"
)
add_executable(
${CMAKE_PROJECT_NAME}
${SOURCES}
)
target_include_directories(
${CMAKE_PROJECT_NAME}
PUBLIC
"./src/"
)
target_link_libraries(
${CMAKE_PROJECT_NAME}
Qt5::Core
Qt5::Gui
Qt5::Sql
Qt5::Widgets
)
find_package(Git QUIET)
set(GIT_BRANCH "unknown")
set(GIT_COMMIT_HASH "unknown")
if(GIT_FOUND)
execute_process(
COMMAND "${GIT_EXECUTABLE}" rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
execute_process(
COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
OUTPUT_VARIABLE GIT_COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET
)
if(GIT_BRANCH STREQUAL "HEAD")
set(GIT_BRANCH "detached")
endif()
endif()
target_compile_definitions(${PROJECT_NAME} PRIVATE
PROJECT_VERSION_STR=\"${PROJECT_NAME}\"
GIT_BRANCH_STR=\"${GIT_BRANCH}\"
GIT_COMMIT_HASH_STR=\"${GIT_COMMIT_HASH}\"
)