# -*- cmake -*- if (WIN32) if(NOT TCF_OPSYS) set(TCF_OPSYS "Windows") endif() if(NOT TCF_MACHINE) set(TCF_MACHINE "x86_64") endif() endif (WIN32) set(TCF_BASE_DIR ${TCF_DIR}/agent) # sources to build set(TCF_SRCS) # get all regular source files file(GLOB TCF_SRCS_REL RELATIVE ${TCF_BASE_DIR} ${TCF_BASE_DIR}/system/${TCF_OPSYS}/tcf/*.c ${TCF_BASE_DIR}/machine/${TCF_MACHINE}/tcf/*.c ${TCF_BASE_DIR}/tcf/framework/*.c ${TCF_BASE_DIR}/tcf/services/*.c ${TCF_BASE_DIR}/tcf/main/*.c) # remove non-library files file(GLOB TCF_MAIN_REL RELATIVE ${TCF_BASE_DIR} ${TCF_BASE_DIR}/tcf/main/main*.c) list(REMOVE_ITEM TCF_SRCS_REL ${TCF_MAIN_REL}) if(DEFINED TCF_EXTRA_DIR) foreach(extraDir ${TCF_EXTRA_DIR}) # get extra all source files file(GLOB TCF_EXTRA_SRCS_REL RELATIVE ${extraDir} ${extraDir}/system/${TCF_OPSYS}/tcf/*.c ${extraDir}/machine/${TCF_MACHINE}/tcf/*.c ${extraDir}/tcf/framework/*.c ${extraDir}/tcf/services/*.c ${extraDir}/tcf/main/*.c) # Override regular files with extra files list (LENGTH TCF_EXTRA_SRCS_REL LEN_TCF_EXTRA_SRCS_REL) if (NOT LEN_TCF_EXTRA_SRCS_REL EQUAL 0) list(REMOVE_ITEM TCF_SRCS_REL ${TCF_EXTRA_SRCS_REL}) endif () foreach(file ${TCF_EXTRA_SRCS_REL}) list(APPEND TCF_SRCS ${extraDir}/${file}) endforeach(file) endforeach(extraDir) endif() foreach(file ${TCF_SRCS_REL}) list(APPEND TCF_SRCS ${TCF_BASE_DIR}/${file}) endforeach(file) if(DEFINED TCF_EXTRA_DIR) foreach(extraDir ${TCF_EXTRA_DIR}) include_directories(${extraDir} ${extraDir}/system/${TCF_OPSYS} ${extraDir}/machine/${TCF_MACHINE}) endforeach(extraDir) endif() include_directories(${TCF_BASE_DIR} ${TCF_BASE_DIR}/system/${TCF_OPSYS} ${TCF_BASE_DIR}/machine/${TCF_MACHINE}) set_source_files_properties(${TCF_SRCS} PROPERTIES COMPILE_FLAGS "${MULTI_THREADED_COMPILE_FLAGS}") add_library(${TCF_LIB_NAME} ${TCF_LIB_TYPE} ${TCF_SRCS}) target_link_libraries(${TCF_LIB_NAME} ${UUID_LIB_NAME} ${MULTI_THREADED_LINK_LIBS} ${SOCKET_LINK_LIBS}) if(SSL_LIB_NAME) target_link_libraries(${TCF_LIB_NAME} ${SSL_LIB_NAME}) else() add_definitions("-DENABLE_SSL=0") endif() if(DEFINED TCF_PLUGIN_PATH) add_definitions(-DPATH_Plugins=${TCF_PLUGIN_PATH}) if (UNIX) target_link_libraries(${TCF_LIB_NAME} dl) endif() endif()