summaryrefslogtreecommitdiffhomepage
path: root/tracker-tobii-eyex/CMakeLists.txt
blob: 6d133f1d63e009c94980e6fc95ee9616000a88d0 (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
if(WIN32)
    set(SDK_TOBII_EYEX "" CACHE PATH "")
    if(SDK_TOBII_EYEX)
        if(CMAKE_COMPILER_IS_GNUCXX)
            add_definitions(-Wno-error)
        endif()
        set(porked NO-INSTALL)
        otr_module(tracker-tobii-eyex ${porked})
        target_link_libraries(opentrack-tracker-tobii-eyex opentrack-spline)
        set(tobii-libdir ${SDK_TOBII_EYEX}/lib/x86/)
        set(tobii-dll ${tobii-libdir}/Tobii.EyeX.Client.dll)
        # we only care about the .lib for MSVC++ build anyway
        set(tobii-link ${tobii-libdir}/Tobii.EyeX.Client.lib)
        target_include_directories(opentrack-tracker-tobii-eyex PRIVATE ${CMAKE_SOURCE_DIR}/spline)
        target_link_libraries(opentrack-tracker-tobii-eyex ${tobii-link} opentrack-spline)
        # we only ever use the C headers due to Microsoft CRT ABI incompatibility with GNU
        set(tobii-incdir ${SDK_TOBII_EYEX}/include/eyex)
        target_include_directories(opentrack-tracker-tobii-eyex SYSTEM PUBLIC ${tobii-incdir})

        if(NOT "!${porked}" STREQUAL "!NO-INSTALL")
            install(FILES ${tobii-dll} DESTINATION ${opentrack-hier-pfx} ${opentrack-perms-exec})
            if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows")
                file(TO_CMAKE_PATH "$ENV{SystemRoot}" sysroot)
                if (IS_DIRECTORY "${sysroot}/SysWOW64")
                    set(src "${sysroot}/SysWOW64")
                else()
                    set(src "${sysroot}/System32")
                endif()
                install(FILES "${src}/msvcp110.dll" DESTINATION ${opentrack-hier-pfx} PERMISSIONS ${opentrack-perms-exec})
                install(FILES "${src}/msvcr110.dll" DESTINATION ${opentrack-hier-pfx} PERMISSIONS ${opentrack-perms-exec})
            endif()
        endif()
    endif()
endif()