
cmake_minimum_required( VERSION 3.0 )

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)
set(CMAKE_SYSTEM_PROCESSOR arm)

message(STATUS $ENV{LOCAL_SDK_PATH})
message(STATUS $ENV{LOCAL_PLATFORM_VERSION})
message(STATUS $ENV{LOCAL_PLATFORM_TYPE})

set(TIZEN_SDK $ENV{LOCAL_SDK_PATH})
set(TIZEN_PLATFORM_VERSION $ENV{LOCAL_PLATFORM_VERSION})
set(TIZEN_TOOLCHAIN_VERSION $ENV{LOCAL_TOOLCHAIN_VERSION})
set(TIZEN_PLATFROM_TYPE $ENV{LOCAL_PLATFORM_TYPE})

message(STATUS "Tizen ${TIZEN_PLATFORM_VERSION} ${TIZEN_PLATFROM_TYPE} ARM")

# Specify target platform environment
set(CMAKE_SYSROOT ${TIZEN_SDK}/platforms/tizen-${TIZEN_PLATFORM_VERSION}/${TIZEN_PLATFROM_TYPE}/rootstraps/${TIZEN_PLATFROM_TYPE}-${TIZEN_PLATFORM_VERSION}-device.core)
set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})

# Search for programs in the build host directories
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
# Search for libraries and headers in the target directories
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

# Configure pkgconfig
set(ENV{PKG_CONFIG_DIR} "")
set(ENV{PKG_CONFIG_LIBDIR} "${CMAKE_SYSROOT}/usr/lib/pkgconfig")
set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT})

# Specify the cross compiler
set(toolchain "${TIZEN_SDK}/tools/arm-linux-gnueabi-gcc-${TIZEN_TOOLCHAIN_VERSION}")

set(CMAKE_C_COMPILER   ${toolchain}/bin/arm-linux-gnueabi-gcc CACHE PATH "")
set(CMAKE_CXX_COMPILER ${toolchain}/bin/arm-linux-gnueabi-g++ CACHE PATH "")

# Specify TrustZone
set(Mobicore_FOUND 1)
set(Mobicore_INCLUDE_DIRS
    ${CMAKE_CURRENT_LIST_DIR}/../multibuild/prebuilt/arm/tizen-kinibi-310/include
)
set(Mobicore_LIBRARIES
    ${CMAKE_CURRENT_LIST_DIR}/../multibuild/prebuilt/arm/tizen-kinibi-310/lib/libMcClient.so
    ${CMAKE_CURRENT_LIST_DIR}/../multibuild/prebuilt/arm/tizen-kinibi-310/lib/libMcRegistry.so
)
