1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
cmake_minimum_required(VERSION 3.12)
project(fduserdata
VERSION 0.1.2
DESCRIPTION "associate file descriptors with user defined data"
HOMEPAGE_URL "https://github.com/rd235/libfduserdata"
LANGUAGES C)
include(GNUInstallDirs)
add_definitions(-D_GNU_SOURCE)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -pedantic")
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
if (PROJECT_INCLUDEDIR)
include_directories(${PROJECT_INCLUDEDIR})
execute_process(COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/fduserdata.h ${PROJECT_INCLUDEDIR}/.)
endif (PROJECT_INCLUDEDIR)
set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
set(FDUSERDATA_SOURCES fduserdata.c)
add_library(fduserdata SHARED ${FDUSERDATA_SOURCES})
target_link_libraries(fduserdata pthread)
set_target_properties(fduserdata PROPERTIES VERSION ${PROJECT_VERSION}
SOVERSION ${PROJECT_VERSION_MAJOR})
configure_file(fduserdata.pc.in fduserdata.pc @ONLY)
install(TARGETS fduserdata LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES fduserdata.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fduserdata.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
add_subdirectory(man)
add_custom_target(uninstall
"${CMAKE_COMMAND}" -P "${PROJECT_SOURCE_DIR}/Uninstall.cmake")
|