summaryrefslogtreecommitdiffhomepage
path: root/x-plane-plugin/CMakeLists.txt
blob: 32ec16e2e710197eb854f38a2ee38324eab9e112 (plain)
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
if(LINUX OR APPLE)
    set(SDK_XPLANE "" CACHE PATH "Path to X-Plane SDK")

    if(SDK_XPLANE)
        otr_module(xplane-plugin NO-QT)
        # probably librt already included
        install(FILES ${opentrack-xplane-plugin-c} DESTINATION "${opentrack-doc-src-pfx}/opentrack-xplane-plugin")
        target_include_directories(opentrack-xplane-plugin SYSTEM PUBLIC ${SDK_XPLANE}/CHeaders ${SDK_XPLANE}/CHeaders/XPLM)

        if(APPLE)
            set_property(TARGET opentrack-xplane-plugin APPEND_STRING PROPERTY
                         COMPILE_FLAGS "-iframework ${SDK_XPLANE}/Libraries/Mac/ -DAPL -DXPLM200 -DXPLM210 -framework XPLM -framework XPWidgets ")
            set_property(TARGET opentrack-xplane-plugin APPEND_STRING PROPERTY
                         LINK_FLAGS "-F${SDK_XPLANE}/Libraries/Mac/ -framework XPLM -framework XPWidgets ")
        elseif(CMAKE_COMPILER_IS_GNUCXX)
            set_property(TARGET opentrack-xplane-plugin APPEND_STRING PROPERTY
                         COMPILE_FLAGS "-fPIC -DLIN -DXPLM200 -DXPLM210 ")
            set_property(TARGET opentrack-xplane-plugin APPEND_STRING PROPERTY
                         LINK_FLAGS "-rdynamic -nodefaultlibs -fPIC ")
        endif()

        if(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_COMPILER_IS_CLANG)
            set_property(TARGET opentrack-xplane-plugin APPEND_STRING PROPERTY
                         LINK_FLAGS "-undefined_warning ")
        endif()

        set_target_properties(opentrack-xplane-plugin PROPERTIES
            LIBRARY_OUTPUT_NAME "opentrack.xpl"
            PREFIX ""
            SUFFIX "")

        if(UNIX AND NOT APPLE)
            target_link_libraries(opentrack-xplane-plugin rt)
        endif()
    endif()
endif()