src/CMakeLists.txt

Wed, 18 May 2022 16:26:32 +0200

author
Mike Becker <universe@uap-core.de>
date
Wed, 18 May 2022 16:26:32 +0200
changeset 549
d7f0b5a9a985
parent 503
a89857072ace
child 558
9b767b07602c
permissions
-rw-r--r--

#189 declare basic map functions

universe@375 1 set(sources
universe@483 2 utils.c
universe@391 3 allocator.c
universe@503 4 list.c
universe@398 5 linked_list.c
olaf@424 6 tree.c
universe@483 7 buffer.c
universe@549 8 hash_map.c
universe@375 9 )
universe@377 10 set(headers
universe@549 11 cx/common.h
universe@483 12 cx/utils.h
universe@391 13 cx/allocator.h
universe@494 14 cx/iterator.h
universe@390 15 cx/list.h
universe@398 16 cx/linked_list.h
universe@470 17 cx/tree.h
universe@483 18 cx/buffer.h
universe@549 19 cx/map.h
universe@549 20 cx/hash_map.h
universe@549 21 )
universe@375 22
universe@375 23 add_library(ucx SHARED ${sources})
universe@375 24 add_library(ucx_static STATIC ${sources})
universe@375 25
universe@375 26 target_include_directories(ucx PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
universe@375 27 target_include_directories(ucx_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
universe@375 28
universe@390 29 set_target_properties(ucx PROPERTIES SOVERSION 4 VERSION 4.0.0)
universe@375 30 set_target_properties(ucx_static PROPERTIES VERSION ${CMAKE_PROJECT_VERSION})
universe@377 31
universe@377 32 # it is sufficient to specify the headers for one of the targets
universe@377 33 set_target_properties(ucx PROPERTIES PUBLIC_HEADER "${headers}")
universe@377 34
universe@377 35 include(GNUInstallDirs)
universe@377 36 install(TARGETS ucx ucx_static
universe@377 37 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
universe@377 38 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
universe@377 39 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ucx)

mercurial