ceevlang/CMakeLists.txt

47 lines
1.3 KiB
CMake
Raw Permalink Normal View History

2023-01-13 19:21:15 +00:00
cmake_minimum_required(VERSION 3.7)
project(ceev VERSION 0.1.0 DESCRIPTION "The language of the CeeV project")
execute_process(
COMMAND git rev-parse --short HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(
COMMAND git log -1 --pretty=%B
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT_MSG
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(CMAKE_CXX_STANDARD 17)
add_library(${PROJECT_NAME} SHARED src/lang.cc src/lang.h src/colors.cc
src/colors.h)
set_target_properties(${PROJECT_NAME} PROPERTIES PUBLIC_HEADER
"src/lang.h;src/colors.h")
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/ceevConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/ceevConfig.cmake
@ONLY
)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/ceevConfig.cmake
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/cmake/ceev
)
install(TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION /usr/local/lib/
PUBLIC_HEADER DESTINATION /usr/local/include/ceev
)
target_compile_definitions(${PROJECT_NAME} PRIVATE
"-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\"")
string(REPLACE "\n" "\\n" GIT_COMMIT_MSG "${GIT_COMMIT_MSG}")
target_compile_definitions(${PROJECT_NAME} PRIVATE
"-DGIT_COMMIT_MSG=\"${GIT_COMMIT_MSG}\"")