Mercurial > code
annotate cmake/FindSysQueue.cmake @ 648:5bd9424a523a
misc: extreme cleanup
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 04 Oct 2018 21:17:55 +0200 |
parents | 01e01777ff50 |
children |
rev | line source |
---|---|
624
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # FindSysQueue |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 # ------------ |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 # |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 # Locate and check sys/queue.h presence |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 # |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 # SYSQUEUE_FOUND - system has sys/queue.h |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 # SYSQUEUE_SLIST - queue.h has SLIST macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 # SYSQUEUE_STAILQ - queue.h has STAILQ macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 # SYSQUEUE_LIST - queue.h has LIST macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 # SYSQUEUE_TAILQ - queue.h has TAILQ macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 # SYSQUEUE_SIMPLEQ - queue.h has SIMPLEQ macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 # SYSQUEUE_CIRCLEQ - queue.h has CIRCLEQ macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 # SYSQUEUE_TAILQ - queue.h has TAILQ macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 # |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # Some macros are not available on every systems, these variables are |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # defined if they are found in the queue.h file |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 # |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 # SYSQUEUE_SLIST_FOREACH - queue.h has SLIST_FOREACH macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 # SYSQUEUE_SLIST_FOREACH_SAFE - queue.h has SLIST_FOREACH_SAFE macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 # SYSQUEUE_STAILQ_FOREACH - queue.h has STAILQ_FOREACH macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 # SYSQUEUE_STAILQ_FOREACH - queue.h has STAILQ_FOREACH_SAFE macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 # SYSQUEUE_LIST_FOREACH - queue.h has LIST_FOREACH macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 # SYSQUEUE_LIST_FOREACH_SAFE - queue.h has LIST_FOREACH_SAFE macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 # SYSQUEUE_TAILQ_FOREACH - queue.h has TAILQ_FOREACH macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 # SYSQUEUE_TAILQ_FOREACH - queue.h has TAILQ_FOREACH_SAFE macros |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 # |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 include(CheckIncludeFile) |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 include(CheckSymbolExists) |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 check_include_file(sys/queue.h SYSQUEUE_FOUND) |
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 if (SYSQUEUE_FOUND) |
648
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
33 foreach (type "SLIST" "STAILQ" "LIST" "TAILQ" "SIMPLEQ" "CIRCLEQ") |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
34 check_symbol_exists(${type}_HEAD sys/queue.h SYSQUEUE_${type}) |
624
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 |
648
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
36 if (SYSQUEUE_${type}) |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
37 # Check for _FOREACH. |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
38 check_symbol_exists( |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
39 ${type}_FOREACH |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
40 sys/queue.h |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
41 SYSQUEUE_${type}_FOREACH |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
42 ) |
624
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 |
648
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
44 # Check for _FOREACH_SAFE. |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
45 check_symbol_exists( |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
46 ${type}_FOREACH_SAFE |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
47 sys/queue.h |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
48 SYSQUEUE_${type}_FOREACH_SAFE |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
49 ) |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
50 endif () |
5bd9424a523a
misc: extreme cleanup
David Demelier <markand@malikania.fr>
parents:
624
diff
changeset
|
51 endforeach () |
624
01e01777ff50
CMake: initial import of CMake modules, closes #720
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 endif () |