src/CMakeLists.txt

Mon, 18 Apr 2022 17:26:21 +0200

author
Mike Becker <universe@uap-core.de>
date
Mon, 18 Apr 2022 17:26:21 +0200
changeset 528
4fbfac557df8
parent 503
a89857072ace
child 549
d7f0b5a9a985
permissions
-rw-r--r--

#179 improve API for list content destruction

375
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 set(sources
483
929016224c3c add ported UCX buffer implementation
Mike Becker <universe@uap-core.de>
parents: 470
diff changeset
2 utils.c
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
3 allocator.c
503
a89857072ace add new destructor API and apply it to CxList
Mike Becker <universe@uap-core.de>
parents: 494
diff changeset
4 list.c
398
8d506ed6c1c0 adds first draft for linked list implementation
Mike Becker <universe@uap-core.de>
parents: 391
diff changeset
5 linked_list.c
424
2d6f6cb24132 add some low level tree function declarations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 398
diff changeset
6 tree.c
483
929016224c3c add ported UCX buffer implementation
Mike Becker <universe@uap-core.de>
parents: 470
diff changeset
7 buffer.c
375
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 )
377
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
9 set(headers
483
929016224c3c add ported UCX buffer implementation
Mike Becker <universe@uap-core.de>
parents: 470
diff changeset
10 cx/utils.h
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
11 cx/allocator.h
494
6ce8cfa10a96 add iterator interface + linked list iterator
Mike Becker <universe@uap-core.de>
parents: 483
diff changeset
12 cx/iterator.h
390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 377
diff changeset
13 cx/list.h
398
8d506ed6c1c0 adds first draft for linked list implementation
Mike Becker <universe@uap-core.de>
parents: 391
diff changeset
14 cx/linked_list.h
470
e5a4de4f1e03 add tree.h to list of headers
Mike Becker <universe@uap-core.de>
parents: 469
diff changeset
15 cx/tree.h
483
929016224c3c add ported UCX buffer implementation
Mike Becker <universe@uap-core.de>
parents: 470
diff changeset
16 cx/buffer.h
377
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
17 )
375
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 add_library(ucx SHARED ${sources})
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 add_library(ucx_static STATIC ${sources})
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 target_include_directories(ucx PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 target_include_directories(ucx_static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24
390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 377
diff changeset
25 set_target_properties(ucx PROPERTIES SOVERSION 4 VERSION 4.0.0)
375
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
26 set_target_properties(ucx_static PROPERTIES VERSION ${CMAKE_PROJECT_VERSION})
377
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
27
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
28 # it is sufficient to specify the headers for one of the targets
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
29 set_target_properties(ucx PROPERTIES PUBLIC_HEADER "${headers}")
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
30
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
31 include(GNUInstallDirs)
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
32 install(TARGETS ucx ucx_static
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
33 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
34 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
35 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ucx)

mercurial