set(PDK_ROOT "${CMAKE_SOURCE_DIR}/../../..")
message("PDK source DIR: ${PDK_ROOT}")

function(SearchToolChain PDK_ROOT TOOLCHAIN)
    file(GLOB children RELATIVE ${PDK_ROOT} ${PDK_ROOT}/toolchains/*)
    foreach(child ${children})
        if(IS_DIRECTORY ${PDK_ROOT}/${child})
            string(REGEX MATCH "qnx_toolchain" TMP ${child})
            if (TMP)
                set(${TOOLCHAIN} "${PDK_ROOT}/${child}" PARENT_SCOPE)
                break()
            endif()
        endif()
    endforeach()
endfunction()

# Use the toolchain provided in PDK
SearchToolChain(${PDK_ROOT} TOOLCHAIN)
if(NOT TOOLCHAIN)
    message(FATAL_ERROR, "Not Found toolchain")
endif()

message("Found Toolchain at: ${TOOLCHAIN}")

if ("$ENV{QNX_HOST}" STREQUAL "")
    message(FATAL_ERROR, "QNX_HOST environment variable is unset!")
endif()

if ("$ENV{QNX_TARGET}" STREQUAL "")
        message(FATAL_ERROR, "QNX_TARGET environment variable is unset!")
endif()

set(CMAKE_C_COMPILER "${TOOLCHAIN}/host/linux/x86_64/usr/bin/ntoaarch64-gcc")
set(CMAKE_CXX_COMPILER "${TOOLCHAIN}/host/linux/x86_64/usr/bin/ntoaarch64-g++")
set(TARGET_OS "QNX")
