File: OSSpecific.cmake

package info (click to toggle)
binpac 0.59.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,168 kB
  • sloc: cpp: 10,806; yacc: 1,011; lex: 383; sh: 193; makefile: 35
file content (63 lines) | stat: -rw-r--r-- 1,793 bytes parent folder | download | duplicates (3)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")

elseif (${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD")

elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
    set(HAVE_DARWIN true)

elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
    set(HAVE_LINUX true)

elseif (${CMAKE_SYSTEM_NAME} MATCHES "Solaris")
    set(SOCKET_LIBS nsl socket)

elseif (${CMAKE_SYSTEM_NAME} MATCHES "osf")
    # Workaround ip_hl vs. ip_vhl problem in netinet/ip.h
    add_definitions(-D__STDC__=2)

elseif (${CMAKE_SYSTEM_NAME} MATCHES "irix")
    list(APPEND CMAKE_C_FLAGS -xansi -signed -g3)
    list(APPEND CMAKE_CXX_FLAGS -xansi -signed -g3)

elseif (${CMAKE_SYSTEM_NAME} MATCHES "ultrix")
    list(APPEND CMAKE_C_FLAGS -std1 -g3)
    list(APPEND CMAKE_CXX_FLAGS -std1 -g3)
    include(CheckCSourceCompiles)
    check_c_source_compiles("
        #include <sys/types.h>
        int main() {
            void c(const struct a *);
            return 0;
        }
    " have_ultrix_const)
    if (NOT have_ultrix_const)
        set(NEED_ULTRIX_CONST_HACK true)
    endif ()

elseif (${CMAKE_SYSTEM_NAME} MATCHES "hpux" OR
        ${CMAKE_SYSTEM_NAME} MATCHES "HP-UX")
    include(CheckCSourceCompiles)
    set(CMAKE_REQUIRED_FLAGS -Aa)
    set(CMAKE_REQUIRED_DEFINITIONS -D_HPUX_SOURCE)
    check_c_source_compiles("
        #include <sys/types.h>
        int main() {
            int frob(int, char *);
            return 0;
        }
    " have_ansi_prototypes)
    set(CMAKE_REQUIRED_FLAGS)
    set(CMAKE_REQUIRED_DEFINITIONS)

    if (have_ansi_prototypes)
        add_definitions(-D_HPUX_SOURCE)
        list(APPEND CMAKE_C_FLAGS -Aa)
        list(APPEND CMAKE_CXX_FLAGS -Aa)
    endif ()

    if (NOT have_ansi_prototypes)
        message(FATAL_ERROR "Can't get HPUX compiler to handle ANSI prototypes")
    endif ()
endif ()