2022-12-20 14:59:28 +00:00
|
|
|
cmake_minimum_required(VERSION 3.7)
|
|
|
|
|
|
|
|
project(ceev)
|
|
|
|
|
2023-07-30 19:05:06 +00:00
|
|
|
execute_process(
|
|
|
|
COMMAND git status --porcelain=v1 --ignored=no
|
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
|
|
OUTPUT_VARIABLE GIT_ISCOMMITTED
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
string(COMPARE EQUAL "${GIT_ISCOMMITTED}" "" is_committed)
|
|
|
|
|
2022-12-23 22:07:58 +00:00
|
|
|
execute_process(
|
|
|
|
COMMAND git rev-parse --short HEAD
|
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
|
|
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
|
|
|
|
execute_process(
|
2022-12-30 06:52:03 +00:00
|
|
|
COMMAND git log -1 --pretty=%B
|
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
|
|
OUTPUT_VARIABLE GIT_COMMIT_MSG
|
2022-12-27 14:23:00 +00:00
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
|
2023-01-14 14:05:35 +00:00
|
|
|
execute_process(
|
|
|
|
COMMAND git log -1 --pretty=%cD
|
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
|
|
OUTPUT_VARIABLE GIT_COMMIT_DATE
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
|
|
|
|
execute_process(
|
|
|
|
COMMAND git log -1 --pretty="%cN <%ce>"
|
|
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
|
|
OUTPUT_VARIABLE GIT_COMMIT_AUTHOR
|
|
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
2022-12-30 06:52:03 +00:00
|
|
|
|
2023-07-30 19:05:06 +00:00
|
|
|
if(NOT is_committed)
|
|
|
|
set(GIT_COMMIT_HASH "${GIT_COMMIT_HASH}-dev")
|
|
|
|
set(GIT_COMMIT_DATE "Not committed yet")
|
|
|
|
endif()
|
|
|
|
|
2022-12-20 15:35:42 +00:00
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
2022-12-20 14:59:28 +00:00
|
|
|
find_package(SDL2 REQUIRED)
|
|
|
|
include_directories(${SDL2_INCLUDE_DIRS})
|
2023-01-13 19:22:58 +00:00
|
|
|
|
|
|
|
add_executable(${PROJECT_NAME} src/ceev.cc src/ceev.h)
|
|
|
|
find_package(ceev REQUIRED)
|
|
|
|
include_directories(${ceev_INCLUDE_DIRS})
|
|
|
|
target_link_libraries(${PROJECT_NAME} ${ceev_LIBRARIES})
|
|
|
|
|
|
|
|
target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARIES})
|
2022-12-23 22:07:58 +00:00
|
|
|
|
|
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
|
|
|
"-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"")
|
|
|
|
|
|
|
|
string(REPLACE "\n" "\\n" GIT_COMMIT_MSG "${GIT_COMMIT_MSG}")
|
2023-01-14 14:05:35 +00:00
|
|
|
string(REPLACE "\"" "" GIT_COMMIT_AUTHOR "${GIT_COMMIT_AUTHOR}")
|
2022-12-23 22:07:58 +00:00
|
|
|
|
|
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
2022-12-27 14:23:00 +00:00
|
|
|
"-DGIT_COMMIT_MSG=\"${GIT_COMMIT_MSG}\"")
|
2023-01-13 19:22:58 +00:00
|
|
|
|
2023-01-14 14:05:35 +00:00
|
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE "-DGIT_COMMIT_DATE=\"${GIT_COMMIT_DATE}\"")
|
|
|
|
|
|
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE "-DGIT_COMMIT_AUTHOR=\"${GIT_COMMIT_AUTHOR}\"")
|
|
|
|
|
2023-01-13 19:22:58 +00:00
|
|
|
install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin)
|