cmake_minimum_required (VERSION 2.8)
project (teec)
set(LIB_SRCS
../libteec_vendor/tee_client_api.c
../libteec_vendor/tee_client_ext_api.c
../libteec_vendor/tee_client_app_load.c
../libteec_vendor/tee_client_socket.c
../libteec_vendor/tee_load_sec_file.c
../libteec_vendor/tee_session_pool.c
)
set(APP_SRCS
./tee_agent.c
./tee_ca_daemon.c
./secfile_load_agent.c
./fs_work_agent.c
./misc_work_agent.c
./tee_ca_auth.c
./tee_load_dynamic.c
./system_ca_auth.c
../authentication/tee_get_native_cert.c
../authentication/tee_auth_common.c
../libteec_vendor/tee_load_sec_file.c
)
include_directories(
../../include
../../include/cloud
../../ext_include
../../libboundscheck/include
../../include
../inc
./
../authentication
)
set(CMAKE_TEEC_FLAGS "${CMAKE_TEEC_FLAGS} -shared")
set(CMAKE_TEEC_FLAGS "${CMAKE_TEEC_FLAGS} -Werror -Wall -Wextra -fstack-protector-all -Wl,-z,relro,-z,now,-z,noexecstack -s -fPIC -D_FORTIFY_SOURCE=2 -O2")
set(CMAKE_TEECD_FLAGS "-D_GNU_SOURCE -DCONFIG_AGENT_FS")
set(CMAKE_TEECD_FLAGS "${CMAKE_TEECD_FLAGS} -Werror -Wall -Wextra -fstack-protector-all -Wl,-z,relro,-z,now,-z,noexecstack -s -fPIE -pie -D_FORTIFY_SOURCE=2 -O2")
link_directories(${CMAKE_PROJECT_ROOT_PATH}/libboundscheck/lib)
add_library(teec SHARED ${LIB_SRCS})
target_link_libraries(teec boundscheck)
set_target_properties(teec PROPERTIES COMPILE_FLAGS ${CMAKE_TEEC_FLAGS})
add_executable(teecd ${APP_SRCS})
target_link_libraries(teecd boundscheck pthread crypto)
set_target_properties(teecd PROPERTIES COMPILE_FLAGS ${CMAKE_TEECD_FLAGS})
add_custom_command(TARGET teec
POST_BUILD
COMMAND mkdir -p ${CMAKE_PROJECT_ROOT_PATH}/dist
COMMAND cp -f ${CMAKE_PROJECT_ROOT_PATH}/libboundscheck/lib/libboundscheck.so ${CMAKE_PROJECT_ROOT_PATH}/dist
COMMAND mv ./libteec.so ${CMAKE_PROJECT_ROOT_PATH}/dist
)
add_custom_command(TARGET teecd
POST_BUILD
COMMAND mv ./teecd ${CMAKE_PROJECT_ROOT_PATH}/dist
)