Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/freealut-1.1.0/admin/CMakeModules/FindSleepFunction.cmake @ 14

Last change on this file since 14 was 14, checked in by landauf, 16 years ago

added freealut

File size: 1.1 KB
Line 
1MACRO(CHECK_INCLUDE_FILE_DEFINE HEADER VAR)
2CHECK_INCLUDE_FILE(${HEADER} HAVE_INCLUDE_FILE)
3IF(HAVE_INCLUDE_FILE)
4  ADD_DEFINE("${VAR} 1")
5  SET(${VAR} 1 CACHE INTERNAL "")
6ENDIF(HAVE_INCLUDE_FILE)
7ENDMACRO(CHECK_INCLUDE_FILE_DEFINE ARG)
8
9MACRO(CHECK_FUNCTION_DEFINE HEADERS FUNC PARAM VAR)
10CHECK_C_SOURCE_COMPILES(
11"
12${HEADERS}
13int main(){
14${FUNC} ${PARAM};
15}
16" ${VAR})
17IF(${VAR})
18  ADD_DEFINE("${VAR} 1")
19ENDIF(${VAR})
20ENDMACRO(CHECK_FUNCTION_DEFINE HEADERS FUNC PARAM VAR)
21
22
23IF(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)
28ELSE(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)
40ENDIF(WIN32)
Note: See TracBrowser for help on using the repository browser.