77 lines
1.5 KiB
CMake
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}\"
|
|
)
|