blob: bd51f3e0de9d0a9729ef98f4ad753395713aa3e9 [file] [log] [blame]
cmake_minimum_required(VERSION 2.8.10 FATAL_ERROR)
project(chassisgpio CXX)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(LIBRARY_NAME "${PROJECT_NAME}")
set(INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin)
set(INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib)
set(PROJECT_CMAKE_FILES ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY})
set(INSTALL_INCLUDE_DIR ${CMAKE_INSTALL_PREFIX}/include)
set(DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_PREFIX}/lib/cmake)
set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR})
include(GNUInstallDirs)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc)
add_library(${PROJECT_NAME} SHARED src/gpio.cpp)
set_target_properties(${PROJECT_NAME} PROPERTIES VERSION "0.1.0")
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION "0")
install(TARGETS ${PROJECT_NAME}
EXPORT "${PROJECT_NAME}EXPORT"
RUNTIME DESTINATION "${INSTALL_BIN_DIR}" COMPONENT bin
LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT shlib
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" COMPONENT stlib
COMPONENT dev)
install(FILES "inc/gpio.hpp"
DESTINATION "${INSTALL_INCLUDE_DIR}/" )
install(EXPORT "${PROJECT_NAME}EXPORT"
DESTINATION "lib/cmake"
FILE ${PROJECT_NAME}Targets.cmake)
configure_file(${CMAKE_SOURCE_DIR}/cmake/Config.cmake.in
"${PROJECT_CMAKE_FILES}/${PROJECT_NAME}-config.cmake" @ONLY)
install(FILES
"${PROJECT_CMAKE_FILES}/${PROJECT_NAME}-config.cmake"
DESTINATION "lib/cmake" COMPONENT dev)