# Copyright (c) 2017 Samsung Electronics Co., Ltd All Rights Reserved # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # @file # @author Lukasz Kostyra (l.kostyra@samsung.com) # @brief Main CMakeLists for tef-simulator # ############################# Check minimum CMake version ##################### CMAKE_MINIMUM_REQUIRED(VERSION 2.6) PROJECT("tef-simulator") ############################# cmake packages ################################## INCLUDE(FindPkgConfig) ############################# compiler flags ################################## # If supported for the target machine, emit position-independent code,suitable # for dynamic linking and avoiding any limit on the size of the global offset # table. This option makes a difference on the m68k, PowerPC and SPARC. ADD_DEFINITIONS("-fPIC") # SECOS SIM define used in the project ADD_DEFINITIONS("-D_SECOS_SIM_") # Disable std::array in boost - daemon is built around boost's implementation of array ADD_DEFINITIONS("-DBOOST_ASIO_DISABLE_STD_ARRAY") ADD_DEFINITIONS("-D_GNU_SOURCE") # Set compiler warning flags # TODO uncomment these when it's cleanup time #ADD_DEFINITIONS("-Werror") # Make all warnings into errors. #ADD_DEFINITIONS("-Wall") # Generate all warnings #ADD_DEFINITIONS("-Wextra") # Generate even more extra warnings IF (CMAKE_BUILD_TYPE MATCHES "DEBUG") ADD_DEFINITIONS("-DTIZEN_DEBUG_ENABLE") ADD_DEFINITIONS("-DBUILD_TYPE_DEBUG") ADD_DEFINITIONS("-ggdb -O0") # undefine _FORTIFY_SOURCE to supress warnings ADD_COMPILE_OPTIONS("-U_FORTIFY_SOURCE") ENDIF (CMAKE_BUILD_TYPE MATCHES "DEBUG") ############################# targets ######################################### SET(TARGET_TEF_SIMULATOR tef-simulator) SET(TARGET_TEF_SIMULATOR_LOG ${TARGET_TEF_SIMULATOR}-log) SET(TARGET_TEF_SIMULATOR_OSAL ${TARGET_TEF_SIMULATOR}-osal) SET(TARGET_TEF_SIMULATOR_DAEMON ${TARGET_TEF_SIMULATOR}-daemon) SET(TARGET_TEF_SIMULATOR_SSFLIB ${TARGET_TEF_SIMULATOR}-ssflib) # below targets need different names due to linking with CAs and TAs (libteec for client) SET(TARGET_TEF_SIMULATOR_TEEC_LIB teec) SET(TARGET_TEF_SIMULATOR_TEE_STUB TEEStub) ############################# sub-project paths ############################### # project root SET(TEF_SIMULATOR_ROOT_PATH ${PROJECT_SOURCE_DIR}) SET(TEF_SIMULATOR_INCLUDE_PATH ${TEF_SIMULATOR_ROOT_PATH}/include) # log SET(LOG_PATH ${TEF_SIMULATOR_ROOT_PATH}/log) # osal SET(OSAL_PATH ${TEF_SIMULATOR_ROOT_PATH}/osal) # PackageMaker SET(PACKAGE_MAKER_PATH ${TEF_SIMULATOR_ROOT_PATH}/PackageMaker) # ssflib SET(SSFLIB_PATH ${TEF_SIMULATOR_ROOT_PATH}/ssflib) SET(SSFLIB_DEP_PATH ${SSFLIB_PATH}/dep) SET(SSFLIB_DEP_CRYPTOCORE_PATH ${SSFLIB_DEP_PATH}/cryptocore) SET(SSFLIB_DEP_SWDSS_PATH ${SSFLIB_DEP_PATH}/swdss) SET(SSFLIB_DEP_TIME_PATH ${SSFLIB_DEP_PATH}/time) SET(SSFLIB_DEP_UCI_PATH ${SSFLIB_DEP_PATH}/uci) # simulatordaemon SET(DAEMON_PATH ${TEF_SIMULATOR_ROOT_PATH}/simulatordaemon) # TEECLib SET(TEEC_LIB_PATH ${TEF_SIMULATOR_ROOT_PATH}/TEECLib) # TEEStub SET(TEE_STUB_PATH ${TEF_SIMULATOR_ROOT_PATH}/TEEStub) ############################# subdirectories ################################## ADD_SUBDIRECTORY(cmake) ADD_SUBDIRECTORY(log) ADD_SUBDIRECTORY(osal) ADD_SUBDIRECTORY(PackageMaker) ADD_SUBDIRECTORY(pkgconfig) ADD_SUBDIRECTORY(simulatordaemon) ADD_SUBDIRECTORY(ssflib) ADD_SUBDIRECTORY(TEECLib) ADD_SUBDIRECTORY(TEEStub)