Imported Upstream version 1.1.11
[platform/upstream/cdrkit.git] / include / AddScgBits.cmake
1
2 IF(NOT GUARD_SCGCONFIG)
3    SET(GUARD_SCGCONFIG 1)
4
5
6 LIST(APPEND EXTRA_LIBS "usal")
7
8 INCLUDE(CheckIncludeFiles)
9 CHECK_INCLUDE_FILES("stdio.h;camlib.h" HAVE_CAMLIB_H)
10
11 IF(HAVE_CAMLIB_H)
12
13    # quick an dirty, should better become a variable used by libusal only,
14    # analogous to SCG_SELF_LIBS
15    ADD_DEFINITIONS(-DHAVE_CAMLIB_H)
16
17    LIST(APPEND EXTRA_LIBS "cam")
18    LIST(APPEND SCG_SELF_LIBS "cam")
19
20 ENDIF(HAVE_CAMLIB_H)
21
22 FIND_LIBRARY(HAVE_LIBVOLMGT "volmgt")
23 IF(HAVE_LIBVOLMGT)
24    LIST(APPEND EXTRA_LIBS "volmgt")
25    LIST(APPEND SCG_SELF_LIBS "volmgt")
26 ENDIF(HAVE_LIBVOLMGT)
27
28    INCLUDE(CheckCSourceCompiles)
29
30    SET(TESTSRC "
31 #include <sys/types.h>
32 #include <sys/socket.h>
33
34 int main(int argc, char **argv) {
35    return socket(AF_INET, SOCK_STREAM, 0);
36 }
37 ")
38
39 SET(CMAKE_REQUIRED_LIBRARIES )
40    CHECK_C_SOURCE_COMPILES("${TESTSRC}" LIBC_SOCKET)
41
42 IF(NOT LIBC_SOCKET)
43    LIST(APPEND EXTRA_LIBS -lsocket)
44    #MESSAGE("Using libsocket for socket functions")
45 ENDIF(NOT LIBC_SOCKET)
46
47
48    SET(TESTSRC "
49 #include <sched.h>
50 struct sched_param scp;
51          int main(int argc, char **argv) {
52          return sched_setscheduler(0, SCHED_RR, &scp);
53          }
54 ")
55
56
57 SET(CMAKE_REQUIRED_LIBRARIES )
58    CHECK_C_SOURCE_COMPILES("${TESTSRC}" LIBC_SCHED)
59
60 IF(NOT LIBC_SCHED)
61    LIST(APPEND EXTRA_LIBS -lrt)
62    #MESSAGE("Using librt for realtime functions")
63 ENDIF(NOT LIBC_SCHED)
64
65 ENDIF(NOT GUARD_SCGCONFIG)