File: BALLConfigXDR.cmake

package info (click to toggle)
ball 1.4.3~beta1-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 318,984 kB
  • sloc: cpp: 346,579; ansic: 4,097; python: 2,664; yacc: 1,778; lex: 1,099; xml: 964; sh: 688; sql: 316; awk: 118; makefile: 108
file content (33 lines) | stat: -rw-r--r-- 1,487 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
SET(XDR_TEST_HEADER "#include <rpc/types.h>
            #include <rpc/xdr.h>
            extern \"C\" int dummy" )
SET(XDR_TEST_FOOTER " {return 0;}
            int main(){
                XDR xdrs;
                xdrrec_create(&xdrs, 0, 0, 0, dummy, dummy);
            }")

MESSAGE(STATUS "Checking for xdrrec_create signature")

SET(BALL_HAS_XDR TRUE)

SET(CMAKE_REQUIRED_LIBRARIES ${XDR_LIBRARIES})
CHECK_CXX_SOURCE_COMPILES("${XDR_TEST_HEADER}(char*, char*, int)${XDR_TEST_FOOTER}" BALL_XDRREC_CREATE_CHAR_CHAR_INT)
IF(NOT BALL_XDRREC_CREATE_CHAR_CHAR_INT)
    CHECK_CXX_SOURCE_COMPILES("${XDR_TEST_HEADER}(void*, char*, int)${XDR_TEST_FOOTER}" BALL_XDRREC_CREATE_VOID_CHAR_INT)
    IF(NOT BALL_XDRREC_CREATE_VOID_CHAR_INT)
				CHECK_CXX_SOURCE_COMPILES("${XDR_TEST_HEADER}(void*, void*, unsigned int)${XDR_TEST_FOOTER}" BALL_XDRREC_CREATE_VOID_VOID_UINT)
				IF(NOT BALL_XDRREC_CREATE_VOID_VOID_UINT)
            CHECK_CXX_SOURCE_COMPILES("${XDR_TEST_HEADER}()${XDR_TEST_FOOTER}" BALL_XDRREC_CREATE_VOID)
            IF(NOT BALL_XDRREC_CREATE_VOID)
                CHECK_CXX_SOURCE_COMPILES("${XDR_TEST_HEADER}(void*, void*, int)${XDR_TEST_FOOTER}" BALL_XDRREC_CREATE_VOID_VOID_INT)
                IF(NOT BALL_XDRREC_CREATE_VOID_VOID_INT)
                    SET(BALL_HAS_XDR TRUE)
                    MESSAGE(SEND_ERROR "Could not determine xdrrec_create signature")
                ENDIF()
            ENDIF()
        ENDIF()
    ENDIF()
ENDIF()

SET(CMAKE_REQUIRED_LIBRARIES)