include_directories (${CMAKE_BINARY_DIR}/src)
include (GNUInstallDirs)
include(CMakePackageConfigHelpers)

add_library (${PROJECT_NAME} SHARED ${PROJECT_NAME}.c)
set_target_properties (${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_VERSION})
set_target_properties (${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_SOVERSION})
set_target_properties (${PROJECT_NAME} PROPERTIES PUBLIC_HEADER ${PROJECT_NAME}.h)
install (TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
                                 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
add_executable (main main.c)
target_link_libraries (main ${PROJECT_NAME})
set_target_properties(main PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
install (TARGETS main DESTINATION bin)

configure_file (${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

add_custom_target (uninstall)
add_custom_command (TARGET uninstall POST_BUILD COMMAND xargs rm -f < ${CMAKE_BINARY_DIR}/install_manifest.txt)
add_custom_command (TARGET uninstall POST_BUILD COMMAND rmdir ${CMAKE_INSTALL_PREFIX}/doc/${PROJECT_NAME}-${PROJECT_VERSION})
