render: added "r_sprite_lighting_type" variable to control sprite lighting with light...
[k8vavoom.git] / libs / fluidsynth_lite / cmake_admin / CheckDIRSymbolExists.cmake
blob4e259c09c6c900292d9137cdd2d37e8ef37dcf55
1 # - Check if the DIR symbol exists like in AC_HEADER_DIRENT.\r
2 # CHECK_DIRSYMBOL_EXISTS(FILES VARIABLE)\r
3 #\r
4 #  FILES    - include files to check\r
5 #  VARIABLE - variable to return result\r
6 #\r
7 # This module is a small but important variation on CheckSymbolExists.cmake.\r
8 # The symbol always searched for is DIR, and the test programme follows\r
9 # the AC_HEADER_DIRENT test programme rather than the CheckSymbolExists.cmake\r
10 # test programme which always fails since DIR tends to be typedef'd\r
11 # rather than #define'd.\r
12 \r
13 # The following variables may be set before calling this macro to\r
14 # modify the way the check is run:\r
15 #\r
16 #  CMAKE_REQUIRED_FLAGS = string of compile command line flags\r
17 #  CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)\r
18 #  CMAKE_REQUIRED_INCLUDES = list of include directories\r
19 #  CMAKE_REQUIRED_LIBRARIES = list of libraries to link\r
21 MACRO(CHECK_DIRSYMBOL_EXISTS FILES VARIABLE)\r
22   IF(NOT DEFINED ${VARIABLE})\r
23     SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n")\r
24     SET(MACRO_CHECK_DIRSYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS})\r
25     IF(CMAKE_REQUIRED_LIBRARIES)\r
26       SET(CHECK_DIRSYMBOL_EXISTS_LIBS \r
27         "-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")\r
28     ELSE(CMAKE_REQUIRED_LIBRARIES)\r
29       SET(CHECK_DIRSYMBOL_EXISTS_LIBS)\r
30     ENDIF(CMAKE_REQUIRED_LIBRARIES)\r
31     IF(CMAKE_REQUIRED_INCLUDES)\r
32       SET(CMAKE_DIRSYMBOL_EXISTS_INCLUDES\r
33         "-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES}")\r
34     ELSE(CMAKE_REQUIRED_INCLUDES)\r
35       SET(CMAKE_DIRSYMBOL_EXISTS_INCLUDES)\r
36     ENDIF(CMAKE_REQUIRED_INCLUDES)\r
37     FOREACH(FILE ${FILES})\r
38       SET(CMAKE_CONFIGURABLE_FILE_CONTENT\r
39         "${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n")\r
40     ENDFOREACH(FILE)\r
41     SET(CMAKE_CONFIGURABLE_FILE_CONTENT\r
42       "${CMAKE_CONFIGURABLE_FILE_CONTENT}\nint main()\n{if ((DIR *) 0) return 0;}\n")\r
44     CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in"\r
45       "${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckDIRSymbolExists.c" @ONLY)\r
47     MESSAGE(STATUS "Looking for DIR in ${FILES}")\r
48     TRY_COMPILE(${VARIABLE}\r
49       ${CMAKE_BINARY_DIR}\r
50       ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckDIRSymbolExists.c\r
51       COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}\r
52       CMAKE_FLAGS \r
53       -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_DIRSYMBOL_EXISTS_FLAGS}\r
54       "${CHECK_DIRSYMBOL_EXISTS_LIBS}"\r
55       "${CMAKE_DIRSYMBOL_EXISTS_INCLUDES}"\r
56       OUTPUT_VARIABLE OUTPUT)\r
57     IF(${VARIABLE})\r
58       MESSAGE(STATUS "Looking for DIR in ${FILES} - found")\r
59       SET(${VARIABLE} 1 CACHE INTERNAL "Have symbol DIR")\r
60       FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeOutput.log \r
61         "Determining if the DIR symbol is defined as in AC_HEADER_DIRENT "\r
62         "passed with the following output:\n"\r
63         "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckDIRSymbolExists.c:\n"\r
64         "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")\r
65     ELSE(${VARIABLE})\r
66       MESSAGE(STATUS "Looking for DIR in ${FILES} - not found.")\r
67       SET(${VARIABLE} "" CACHE INTERNAL "Have symbol DIR")\r
68       FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeError.log \r
69         "Determining if the DIR symbol is defined as in AC_HEADER_DIRENT "\r
70         "failed with the following output:\n"\r
71         "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckDIRSymbolExists.c:\n"\r
72         "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n")\r
73     ENDIF(${VARIABLE})\r
74   ENDIF(NOT DEFINED ${VARIABLE})\r
75 ENDMACRO(CHECK_DIRSYMBOL_EXISTS)\r