Mon, 20 Dec 2021 11:58:36 +0100
add more nonnull attributes
This also changes the contract for last/first in the sense that these
functions now also require a valid pointer.
set(sources allocator.c linked_list.c tree.c ) set(headers cx/allocator.h cx/list.h cx/linked_list.h cx/tree.h ) add_library(ucx SHARED ${sources}) add_library(ucx_static STATIC ${sources}) target_include_directories(ucx PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(ucx_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) set_target_properties(ucx PROPERTIES SOVERSION 4 VERSION 4.0.0) set_target_properties(ucx_static PROPERTIES VERSION ${CMAKE_PROJECT_VERSION}) # it is sufficient to specify the headers for one of the targets set_target_properties(ucx PROPERTIES PUBLIC_HEADER "${headers}") include(GNUInstallDirs) install(TARGETS ucx ucx_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ucx)