53 lines
1.4 KiB
CMake
53 lines
1.4 KiB
CMake
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
|
|
)
|
|
|
|
# install(TARGETS ${PROJECT_NAME}
|
|
# LIBRARY DESTINATION /usr/lib
|
|
# PUBLIC_HEADER DESTINATION /usr/include/ceev)
|
|
|
|
# install(TARGETS ${PROJECT_NAME} LIBRARY)
|
|
|
|
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}\"")
|