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}\"")