| cmake_minimum_required(VERSION 3.4) |
| project(optee_client C) |
| |
| # https://cmake.org/Wiki/CMake_Useful_Variables |
| set(CMAKE_TOOLCHAIN_FILE CMakeToolchain.txt) |
| |
| option(CFG_WERROR "Build with -Werror" TRUE) |
| option(WITH_TEEACL "Build libteeacl" TRUE) |
| |
| include(GNUInstallDirs) |
| |
| ################################################################################ |
| # Compiler flags: |
| # We want to use the same flags in the entire optee_client git |
| ################################################################################ |
| add_compile_options( |
| -Wall -Wbad-function-cast -Wcast-align |
| -Werror-implicit-function-declaration -Wextra |
| -Wfloat-equal -Wformat-nonliteral -Wformat-security |
| -Wformat=2 -Winit-self -Wmissing-declarations |
| -Wmissing-format-attribute -Wmissing-include-dirs |
| -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs |
| -Wpointer-arith -Wshadow -Wstrict-prototypes |
| -Wswitch-default -Wwrite-strings -fPIC |
| ) |
| if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") |
| add_compile_options( |
| -Wunsafe-loop-optimizations |
| ) |
| endif() |
| if(CFG_WERROR) |
| add_compile_options(-Werror) |
| endif(CFG_WERROR) |
| |
| find_program(CCACHE_FOUND ccache) |
| if(CCACHE_FOUND) |
| set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) |
| set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) |
| endif(CCACHE_FOUND) |
| |
| add_subdirectory(libteec) |
| add_subdirectory(tee-supplicant) |
| add_subdirectory(libckteec) |
| if(WITH_TEEACL) |
| find_package(PkgConfig REQUIRED) |
| pkg_check_modules(uuid REQUIRED IMPORTED_TARGET uuid) |
| add_subdirectory(libteeacl) |
| endif(WITH_TEEACL) |
| add_subdirectory(libseteec) |