diff options
author | Luca Muscariello <muscariello@ieee.org> | 2019-12-11 09:41:02 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2019-12-11 09:41:02 +0000 |
commit | 745726e5c84c2c70e67d2372c965034aa63791ba (patch) | |
tree | ef46bbe1dbe3669c122d841f07b6fcd1c858cc45 /ctrl | |
parent | 2f8f60f943b71e1caab14856c6a03c81e5ba6c9c (diff) | |
parent | 3f21100e1d2ec47b64670a8b08d0c9d067bf9ef3 (diff) |
Merge "[HICN-430] Rework on CMake"
Diffstat (limited to 'ctrl')
-rw-r--r-- | ctrl/facemgr/CMakeLists.txt | 5 | ||||
-rw-r--r-- | ctrl/libhicnctrl/CMakeLists.txt | 34 | ||||
-rw-r--r-- | ctrl/sysrepo-plugins/CMakeLists.txt | 34 |
3 files changed, 42 insertions, 31 deletions
diff --git a/ctrl/facemgr/CMakeLists.txt b/ctrl/facemgr/CMakeLists.txt index 63a5f3c84..db40eade3 100644 --- a/ctrl/facemgr/CMakeLists.txt +++ b/ctrl/facemgr/CMakeLists.txt @@ -62,11 +62,12 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH ON) find_package_wrapper(Config REQUIRED) find_package_wrapper(LibEvent REQUIRED) +set(FACEMGR facemgr CACHE INTERNAL "" FORCE) +set(LIBFACEMGR facemgr CACHE INTERNAL "" FORCE) + if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) find_package_wrapper(Libhicn REQUIRED) find_package_wrapper(Libhicnctrl REQUIRED) - set(FACEMGR facemgr) - set(LIBFACEMGR facemgr) else() if (${CMAKE_SYSTEM_NAME} STREQUAL "Android") set(HICN_LIBRARIES ${LIBHICN_STATIC} log) diff --git a/ctrl/libhicnctrl/CMakeLists.txt b/ctrl/libhicnctrl/CMakeLists.txt index 08441075b..d0a4bbef3 100644 --- a/ctrl/libhicnctrl/CMakeLists.txt +++ b/ctrl/libhicnctrl/CMakeLists.txt @@ -33,22 +33,29 @@ set(CMAKE_C_STANDARD_REQUIRED ON) set(CMAKE_MACOSX_RPATH ON) + +set(LIBHICNCTRL hicnctrl) + +if (BUILD_HICNPLUGIN AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + set(LIBHICNCTRL ${LIBHICNCTRL}-memif PARENT_SCOPE) + set(LINK_FLAGS "-Wl,-unresolved-symbols=ignore-in-shared-libs") + list(APPEND HICN_LIBRARIES ${HICNPLUGIN_LIBRARIES}) +endif() + +set(LIBHICNCTRL ${LIBHICNCTRL} CACHE INTERNAL "" FORCE) +set(LIBHICNCTRL_SHARED ${LIBHICNCTRL}.shared CACHE INTERNAL "" FORCE) +set(LIBHICNCTRL_STATIC ${LIBHICNCTRL}.static CACHE INTERNAL "" FORCE) +set(HICNCTRL hicnctrl CACHE INTERNAL "" FORCE) +set(LIBHICNCTRL_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/includes CACHE INTERNAL "" FORCE) + if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) - set(HICNCTRL hicnctrl) - set(LIBHICNCTRL hicnctrl) if (BUILD_HICNPLUGIN AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") - set(LIBHICNCTRL ${LIBHICNCTRL}-memif) find_package_wrapper(HicnPlugin REQUIRED) - list(APPEND HICN_LIBRARIES ${HICNPLUGIN_LIBRARIES}) - set(LINK_FLAGS "-Wl,-unresolved-symbols=ignore-in-shared-libs") endif() find_package_wrapper(Libhicn REQUIRED) list(APPEND HICN_LIBRARIES ${LIBHICN_SHARED}) - set(LIBHICNCTRL_SHARED ${LIBHICNCTRL}.shared) - set(LIBHICNCTRL_STATIC ${LIBHICNCTRL}.static) - set(HICN_INCLUDE_DIRS ${HICN_INCLUDE_DIRS} ${HICNPLUGIN_INCLUDE_DIRS}) @@ -60,12 +67,11 @@ else() ${LIBHICN_STATIC} ) elseif (BUILD_HICNPLUGIN AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") - set(HICN_INCLUDE_DIRS - ${HICN_INCLUDE_DIRS} - ${HICNPLUGIN_INCLUDE_DIRS}) - - set(HICN_LIBRARIES ${HICNPLUGIN_LIBRARIES}) - set(LINK_FLAGS "-Wl,-unresolved-symbols=ignore-in-shared-libs") + set( + HICN_INCLUDE_DIRS + ${HICN_INCLUDE_DIRS} + ${HICNPLUGIN_INCLUDE_DIRS} + ) list(APPEND DEPENDENCIES hicn_plugin diff --git a/ctrl/sysrepo-plugins/CMakeLists.txt b/ctrl/sysrepo-plugins/CMakeLists.txt index d87319f06..1a9bca18c 100644 --- a/ctrl/sysrepo-plugins/CMakeLists.txt +++ b/ctrl/sysrepo-plugins/CMakeLists.txt @@ -26,30 +26,34 @@ include(BuildMacros) find_package(PkgConfig REQUIRED) find_package(Sysrepo REQUIRED) +if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") + message(FATAL_ERROR "Sysrepo plugin supported only on Linux systems") +endif() + if (NOT SRPD_PLUGINS_PATH) - if (PKG_CONFIG_FOUND) - execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} "--variable=SRPD_PLUGINS_PATH" "libsysrepo" OUTPUT_VARIABLE SRPD_PLUGINS_PATH) - string(STRIP ${SRPD_PLUGINS_PATH} SRPD_PLUGINS_PATH) - endif() + if (PKG_CONFIG_FOUND) + execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} "--variable=SRPD_PLUGINS_PATH" "libsysrepo" OUTPUT_VARIABLE SRPD_PLUGINS_PATH) + string(STRIP ${SRPD_PLUGINS_PATH} SRPD_PLUGINS_PATH) + endif() endif() + if (NOT SRPD_PLUGINS_PATH) - message(FATAL_ERROR "Cannot get sysrepo plugins directory due to missing pkg-config, set SRPD_PLUGINS_PATH manually.") + message(FATAL_ERROR "Cannot get sysrepo plugins directory due to missing pkg-config, set SRPD_PLUGINS_PATH manually.") endif() if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) - find_package(Vpp REQUIRED) - find_package(HicnPlugin REQUIRED) - find_package(Libhicn REQUIRED) - add_subdirectory(hicn-plugin) + find_package(Vpp REQUIRED) + find_package(HicnPlugin REQUIRED) + find_package(Libhicn REQUIRED) else() - if (BUILD_HICNPLUGIN AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") - list(APPEND DEPENDENCIES - hicn_plugin) - add_subdirectory(hicn-plugin) - endif () + list(APPEND DEPENDENCIES + ${LIBHICN_SHARED} + ${LIBHICN_STATIC} + hicn_plugin + ) endif() -# add subdirectories +add_subdirectory(hicn-plugin) include(Packaging) if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) |