diff options
Diffstat (limited to 'ctrl/facemgr/src/CMakeLists.txt')
-rw-r--r-- | ctrl/facemgr/src/CMakeLists.txt | 197 |
1 files changed, 112 insertions, 85 deletions
diff --git a/ctrl/facemgr/src/CMakeLists.txt b/ctrl/facemgr/src/CMakeLists.txt index cf5606e04..87938fb57 100644 --- a/ctrl/facemgr/src/CMakeLists.txt +++ b/ctrl/facemgr/src/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2017-2019 Cisco and/or its affiliates. +# Copyright (c) 2021-2022 Cisco and/or its affiliates. # 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: @@ -12,130 +12,157 @@ # limitations under the License. if(UNIX AND NOT APPLE) - set(LINUX TRUE) + set(LINUX TRUE) endif() -set(COMPILER_DEFINITIONS - "-DWITH_POLICY" -) +############################################################## +# Sources +############################################################## set(HEADER_FILES - common.h - error.h - facelet_array.h - interface.h - loop.h + common.h + error.h + facelet_array.h + interface.h + loop.h ) set(SOURCE_FILES - api.c - cfg.c - cfg_file.c - error.c - facelet.c - facelet_array.c - interface.c + api.c + cfg.c + cfg_file.c + error.c + facelet.c + facelet_array.c + interface.c ) if(APPLE) -set(SOURCE_FILES + set(SOURCE_FILES ${SOURCE_FILES} loop_dispatcher.c -) + ) endif() if (LINUX) -set(SOURCE_FILES + set(SOURCE_FILES ${SOURCE_FILES} loop_libevent.c -) + ) endif() +add_subdirectory(interfaces) + + +############################################################## +# Include directories +############################################################## set(INCLUDE_DIRS - ./ - ../includes/ - ${HICN_INCLUDE_DIRS} - ${LIBHICNCTRL_INCLUDE_DIRS} - ${CONFIG_INCLUDE_DIR} - ${LIBEVENT_INCLUDE_DIR} + PRIVATE ./ + PRIVATE ${CONFIG_INCLUDE_DIR} + PRIVATE ${LIBEVENT_INCLUDE_DIR} + PUBLIC + $<BUILD_INTERFACE:${LIBFACEMGR_INCLUDE_DIRS}> + $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> ) + +############################################################## +# Libraries to link +############################################################## set(LIBRARIES - m - ${HICN_LIBRARIES} - ${LIBHICNCTRL_LIBRARIES} - ${LIBCONFIG_LIBRARIES} - ${LIBEVENT_LIBRARY} + PUBLIC ${HICN_LIBRARIES} + PUBLIC ${LIBHICNCTRL_LIBRARIES} + PRIVATE m + PRIVATE ${LIBCONFIG_LIBRARIES} + PRIVATE ${LIBEVENT_LIBRARY} ) -set(FACEMGR_LIBRARY_LIST "${LIBCONFIG_LIBRARIES};${LIBEVENT_LIBRARY}" CACHE INTERNAL "FACEMGR_LIBRARY_LIST") +if(WITH_THREAD) + set(LIBRARIES + ${LIBRARIES} + "pthread" + "event_pthreads" + ) + set(COMPILER_DEFINITIONS + ${COMPILER_DEFINITIONS} + "-DWITH_THREAD" + ) +endif() -add_subdirectory(interfaces) +############################################################## +# Compiler definitions +############################################################## if(WITH_THREAD) - set(LIBRARIES - ${LIBRARIES} - "pthread" - "event_pthreads" - ) - set(COMPILER_DEFINITIONS - ${COMPILER_DEFINITIONS} - "-DWITH_THREAD" - ) + list(APPEND COMPILER_DEFINITIONS + "-DWITH_THREAD" + ) endif() if(WITH_EXAMPLE_DUMMY) - set(COMPILER_DEFINITIONS - ${COMPILER_DEFINITIONS} - "-DWITH_EXAMPLE_DUMMY" - ) + list(APPEND COMPILER_DEFINITIONS + "-DWITH_EXAMPLE_DUMMY" + ) endif() if(WITH_EXAMPLE_UPDOWN) - set(COMPILER_DEFINITIONS - ${COMPILER_DEFINITIONS} - "-DWITH_EXAMPLE_UPDOWN" - ) + list(APPEND COMPILER_DEFINITIONS + "-DWITH_EXAMPLE_UPDOWN" + ) endif() + +############################################################## +# Compiler options +############################################################## +set(COMPILER_OPTIONS + ${DEFAULT_COMPILER_OPTIONS} +) + + +############################################################## +# Build type +############################################################## if (DISABLE_SHARED_LIBRARIES) - build_library(${LIBFACEMGR} - STATIC - SOURCES ${SOURCE_FILES} - INSTALL_HEADERS ${TO_INSTALL_HEADER_FILES} - DEPENDS ${DEPENDENCIES} - LINK_LIBRARIES ${LIBRARIES} - COMPONENT ${FACEMGR} - INCLUDE_DIRS ${INCLUDE_DIRS} - HEADER_ROOT_DIR hicn - DEFINITIONS ${COMPILER_DEFINITIONS} - ) + set(LINK_TYPE STATIC) else () - build_library(${LIBFACEMGR} - SHARED STATIC NO_DEV - SOURCES ${SOURCE_FILES} - INSTALL_HEADERS ${TO_INSTALL_HEADER_FILES} - DEPENDS ${DEPENDENCIES} - LINK_LIBRARIES ${LIBRARIES} - COMPONENT ${FACEMGR} - INCLUDE_DIRS ${INCLUDE_DIRS} - HEADER_ROOT_DIR hicn - DEFINITIONS ${COMPILER_DEFINITIONS} - ) + set(LINK_TYPE SHARED STATIC) endif () + +############################################################## +# Build libfacemgr +############################################################## +build_library(${LIBFACEMGR} + ${LINK_TYPE} + SOURCES ${SOURCE_FILES} + INSTALL_HEADERS ${TO_INSTALL_HEADER_FILES} + DEPENDS ${DEPENDENCIES} + LINK_LIBRARIES ${LIBRARIES} + COMPONENT ${FACEMGR} + INCLUDE_DIRS PRIVATE ${INCLUDE_DIRS} + DEFINITIONS PRIVATE ${COMPILER_DEFINITIONS} + COMPILE_OPTIONS ${COMPILER_OPTIONS} +) + + +############################################################## +# Build executable +############################################################## if(NOT DISABLE_EXECUTABLES) - list(APPEND DAEMON_SRC - main.c - ) - - build_executable(${FACEMGR} - SOURCES ${DAEMON_SRC} - LINK_LIBRARIES ${LIBFACEMGR}.static ${LIBRARIES} - DEPENDS ${LIBFACEMGR}.static - COMPONENT ${FACEMGR} - INCLUDE_DIRS ${INCLUDE_DIRS} - DEFINITIONS ${COMPILER_DEFINITIONS} - ) + list(APPEND DAEMON_SRC + main.c + ) + + build_executable(${FACEMGR} + SOURCES ${DAEMON_SRC} + LINK_LIBRARIES PRIVATE ${LIBFACEMGR}.static + DEPENDS ${LIBFACEMGR}.static + COMPONENT ${FACEMGR} + INCLUDE_DIRS ${INCLUDE_DIRS} + DEFINITIONS ${COMPILER_DEFINITIONS} + COMPILE_OPTIONS ${COMPILER_OPTIONS} + ) endif () |