src/CMakeLists.txt

Thu, 23 Dec 2021 15:20:50 +0100

author
Mike Becker <universe@uap-core.de>
date
Thu, 23 Dec 2021 15:20:50 +0100
changeset 481
eef025d82a34
parent 470
e5a4de4f1e03
child 483
929016224c3c
permissions
-rw-r--r--

add several new linked list functions

* cx_linked_list_insert()
* cx_linked_list_insert_chain()
* cx_linked_list_link()
* cx_linked_list_unlink()

Also uses the most general function wherever possible.

375
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 set(sources
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
2 allocator.c
398
8d506ed6c1c0 adds first draft for linked list implementation
Mike Becker <universe@uap-core.de>
parents: 391
diff changeset
3 linked_list.c
424
2d6f6cb24132 add some low level tree function declarations
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 398
diff changeset
4 tree.c
375
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
5 )
377
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
6 set(headers
391
f094a53c1178 adds allocator interface and default implementation
Mike Becker <universe@uap-core.de>
parents: 390
diff changeset
7 cx/allocator.h
390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 377
diff changeset
8 cx/list.h
398
8d506ed6c1c0 adds first draft for linked list implementation
Mike Becker <universe@uap-core.de>
parents: 391
diff changeset
9 cx/linked_list.h
470
e5a4de4f1e03 add tree.h to list of headers
Mike Becker <universe@uap-core.de>
parents: 469
diff changeset
10 cx/tree.h
377
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
11 )
375
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 add_library(ucx SHARED ${sources})
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 add_library(ucx_static STATIC ${sources})
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 target_include_directories(ucx PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
460c0258bb5b adds proper cmake build targets
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 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
18
390
d345541018fa starts ucx 3.0 development
Mike Becker <universe@uap-core.de>
parents: 377
diff changeset
19 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
20 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
21
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
22 # 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
23 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
24
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
25 include(GNUInstallDirs)
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
26 install(TARGETS ucx ucx_static
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
27 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
28 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
2099a3aff61e adds install target for cmake builds
Mike Becker <universe@uap-core.de>
parents: 375
diff changeset
29 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ucx)

mercurial