aboutsummaryrefslogtreecommitdiffstats
path: root/ctrl/sysrepo-plugins/hicn-plugin/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'ctrl/sysrepo-plugins/hicn-plugin/CMakeLists.txt')
-rw-r--r--ctrl/sysrepo-plugins/hicn-plugin/CMakeLists.txt61
1 files changed, 21 insertions, 40 deletions
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/CMakeLists.txt b/ctrl/sysrepo-plugins/hicn-plugin/CMakeLists.txt
index 37590ee4c..34dbdb817 100644
--- a/ctrl/sysrepo-plugins/hicn-plugin/CMakeLists.txt
+++ b/ctrl/sysrepo-plugins/hicn-plugin/CMakeLists.txt
@@ -12,40 +12,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# set compiler options
-set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -std=gnu99")
-set(CMAKE_C_FLAGS_RELEASE "-DNDEBUG -O2")
-set(CMAKE_C_FLAGS_DEBUG "-g -O0")
-
cmake_minimum_required(VERSION 2.8)
-project(sysrepo-vpp-plugins)
# Cmake find modules
-list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../cmake/Modules"
-"${CMAKE_CURRENT_LIST_DIR}/../../../cmake/Modules"
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../../cmake/Modules"
+ "${CMAKE_CURRENT_LIST_DIR}/../cmake/Modules"
)
-find_package(VPP)
-find_package(PkgConfig)
-find_package(HicnPlugin)
-find_package(Sysrepo)
-
-#pkg_check_modules(SYSREPO libsysrepo)
-
-# get sysrepo plugins directory from pkgconfig
-if (NOT SR_PLUGINS_DIR)
- if (PKG_CONFIG_FOUND)
- execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} "--variable=SR_PLUGINS_DIR" "libsysrepo" OUTPUT_VARIABLE SR_PLUGINS_DIR)
- string(STRIP ${SR_PLUGINS_DIR} SR_PLUGINS_DIR)
- endif()
-endif()
-if (NOT SR_PLUGINS_DIR)
- message(FATAL_ERROR "Cannot get sysrepo plugins directory due to missing pkg-config, set SR_PLUGINS_DIR manually.")
-endif()
-
# plugins sources
-set(PLUGINS_SOURCES
+set(SOURCE_FILES
plugin/ietf/ietf_interface.c
plugin/model/hicn_model.c
plugin/model/tlock.c
@@ -53,15 +28,21 @@ set(PLUGINS_SOURCES
plugin/hicn_plugin.c
)
-# build the source code into shared library
-add_library(hicn SHARED ${PLUGINS_SOURCES})
-target_include_directories(hicn PUBLIC ${VPP_INCLUDE_DIRS} ${HICNPLUGIN_INCLUDE_DIRS})
-target_link_libraries(hicn ${SYSREPO_LIBRARIES} ${VPP_LIBRARIES})
-
-#set_target_properties(hicn
-# PROPERTIES
-# LINKER_LANGUAGE C
-# INSTALL_RPATH ${VPP_HOME}/lib)
-
-# install the plugin into plugins dir
-install(TARGETS hicn DESTINATION ${SR_PLUGINS_DIR} COMPONENT hicn_sysrepo_plugin)
+list(APPEND SYSREPO_PLUGIN_INCLUDE_DIRS
+ ${VPP_INCLUDE_DIRS}
+ ${HICNPLUGIN_INCLUDE_DIRS})
+
+list(APPEND LIBRARIES
+ ${SYSREPO_LIBRARIES}
+ ${VPP_LIBRARIES})
+
+build_library(sysrepohicn
+ SHARED
+ SOURCES ${SOURCE_FILES}
+ LINK_LIBRARIES ${LIBRARIES}
+ DEPENDS ${DEPENDENCIES}
+ COMPONENT hicn_sysrepo_plugin
+ INCLUDE_DIRS ${SYSREPO_PLUGIN_INCLUDE_DIRS}
+ INSTALL_FULL_PATH_DIR ${SRPD_PLUGINS_PATH}
+ DEFINITIONS ${COMPILER_DEFINITIONS}
+)