Line | |
---|
1 | MACRO(CHECK_INCLUDE_FILE_DEFINE HEADER VAR) |
---|
2 | CHECK_INCLUDE_FILE(${HEADER} HAVE_INCLUDE_FILE) |
---|
3 | IF(HAVE_INCLUDE_FILE) |
---|
4 | ADD_DEFINE("${VAR} 1") |
---|
5 | SET(${VAR} 1 CACHE INTERNAL "") |
---|
6 | ENDIF(HAVE_INCLUDE_FILE) |
---|
7 | ENDMACRO(CHECK_INCLUDE_FILE_DEFINE ARG) |
---|
8 | |
---|
9 | MACRO(CHECK_FUNCTION_DEFINE HEADERS FUNC PARAM VAR) |
---|
10 | CHECK_C_SOURCE_COMPILES( |
---|
11 | " |
---|
12 | ${HEADERS} |
---|
13 | int main(){ |
---|
14 | ${FUNC} ${PARAM}; |
---|
15 | } |
---|
16 | " ${VAR}) |
---|
17 | IF(${VAR}) |
---|
18 | ADD_DEFINE("${VAR} 1") |
---|
19 | ENDIF(${VAR}) |
---|
20 | ENDMACRO(CHECK_FUNCTION_DEFINE HEADERS FUNC PARAM VAR) |
---|
21 | |
---|
22 | |
---|
23 | IF(WIN32) |
---|
24 | CHECK_INCLUDE_FILE_DEFINE(windows.h HAVE_WINDOWS_H) |
---|
25 | IF(HAVE_WINDOWS_H) |
---|
26 | CHECK_FUNCTION_DEFINE("#include <windows.h>" Sleep "(0)" HAVE_SLEEP) |
---|
27 | ENDIF(HAVE_WINDOWS_H) |
---|
28 | ELSE(WIN32) |
---|
29 | |
---|
30 | CHECK_INCLUDE_FILE_DEFINE(time.h HAVE_TIME_H) |
---|
31 | IF(HAVE_TIME_H) |
---|
32 | CHECK_FUNCTION_DEFINE("#include <time.h>" nanosleep "((struct timespec*)0, (struct timespec*)0)" HAVE_NANOSLEEP) |
---|
33 | ELSE(HAVE_TIME_H) |
---|
34 | |
---|
35 | CHECK_INCLUDE_FILE_DEFINE(unistd.h HAVE_UNISTD_H) |
---|
36 | IF(HAVE_UNISTD_H) |
---|
37 | CHECK_FUNCTION_DEFINE("#include <unistd.h>" usleep "(0)" HAVE_USLEEP) |
---|
38 | ENDIF(HAVE_UNISTD_H) |
---|
39 | ENDIF(HAVE_TIME_H) |
---|
40 | ENDIF(WIN32) |
---|
Note: See
TracBrowser
for help on using the repository browser.