to fix HICN-421 by adding cpack to libyang and sysrepo
[hicn.git] / extras / libyang / libyang.patch
1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index 19b7eb96..6567851f 100644
3 --- a/CMakeLists.txt
4 +++ b/CMakeLists.txt
5 @@ -1,5 +1,11 @@
6  cmake_minimum_required(VERSION 2.8.12)
7  
8 +set(CMAKE_MODULE_PATH
9 +  ${CMAKE_MODULE_PATH}
10 +  "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules"
11 +)
12 +
13 +
14  # force out-of-source build
15  if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
16      message(FATAL_ERROR "In-source build is not allowed. Please make a standalone build directory and run CMake from there. You may need to remove CMakeCache.txt.")
17 @@ -306,14 +312,14 @@ find_package(PCRE REQUIRED)
18  include_directories(${PCRE_INCLUDE_DIRS})
19  target_link_libraries(yang ${PCRE_LIBRARIES})
20  
21 -install(TARGETS yang DESTINATION ${CMAKE_INSTALL_LIBDIR})
22 -install(FILES ${headers} ${PROJECT_BINARY_DIR}/src/libyang.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libyang)
23 +install(TARGETS yang DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libyang)
24 +install(FILES ${headers} ${PROJECT_BINARY_DIR}/src/libyang.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libyang COMPONENT libyang)
25  
26  find_package(PkgConfig)
27  if(PKG_CONFIG_FOUND)
28      # generate and install pkg-config file
29      configure_file("libyang.pc.in" "libyang.pc" @ONLY)
30 -    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libyang.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
31 +    install(FILES "${CMAKE_CURRENT_BINARY_DIR}/libyang.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig" COMPONENT libyang)
32      # check that pkg-config includes the used path
33      execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable pc_path pkg-config RESULT_VARIABLE RETURN OUTPUT_VARIABLE PC_PATH ERROR_QUIET)
34      if(RETURN EQUAL 0)
35 @@ -399,14 +405,14 @@ configure_file(${PROJECT_SOURCE_DIR}/src/plugin_config.h.in ${PROJECT_BINARY_DIR
36  # yanglint
37  add_executable(yanglint ${lintsrc})
38  target_link_libraries(yanglint yang)
39 -install(TARGETS yanglint DESTINATION ${CMAKE_INSTALL_BINDIR})
40 -install(FILES ${PROJECT_SOURCE_DIR}/tools/lint/yanglint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
41 +install(TARGETS yanglint DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libyang)
42 +install(FILES ${PROJECT_SOURCE_DIR}/tools/lint/yanglint.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT libyang)
43  
44  #yangre
45  add_executable(yangre ${resrc})
46  target_link_libraries(yangre yang)
47 -install(TARGETS yangre DESTINATION ${CMAKE_INSTALL_BINDIR})
48 -install(FILES ${PROJECT_SOURCE_DIR}/tools/re/yangre.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
49 +install(TARGETS yangre DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libyang)
50 +install(FILES ${PROJECT_SOURCE_DIR}/tools/re/yangre.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1 COMPONENT libyang)
51  
52  # yang2yin
53  add_executable(yang2yin ${yang2yinsrc})
54 @@ -435,3 +441,10 @@ endif(ENABLE_BUILD_FUZZ_TARGETS)
55  if(GEN_LANGUAGE_BINDINGS AND GEN_CPP_BINDINGS)
56      add_subdirectory(swig)
57  endif()
58 +
59 +
60 +include(Packaging)
61 +if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
62 +    include(Packager)
63 +    make_packages()
64 +endif()
65 diff --git a/src/extensions/CMakeLists.txt b/src/extensions/CMakeLists.txt
66 index e2c18b5e..48885302 100644
67 --- a/src/extensions/CMakeLists.txt
68 +++ b/src/extensions/CMakeLists.txt
69 @@ -2,7 +2,7 @@ macro(EXTENSION_PLUGIN PLUGIN_NAME SRCS)
70      add_library(${PLUGIN_NAME} SHARED ${SRCS})
71      set_target_properties(${PLUGIN_NAME} PROPERTIES PREFIX "")
72      target_link_libraries(${PLUGIN_NAME} yang)
73 -    install(TARGETS ${PLUGIN_NAME} DESTINATION ${EXTENSIONS_PLUGINS_DIR_MACRO})
74 +    install(TARGETS ${PLUGIN_NAME} DESTINATION ${EXTENSIONS_PLUGINS_DIR_MACRO} COMPONENT libyang)
75  endmacro(EXTENSION_PLUGIN)
76  
77  foreach(EXTENSION ${EXTENSIONS_LIST})
78 diff --git a/src/user_types/CMakeLists.txt b/src/user_types/CMakeLists.txt
79 index 74aae322..e5f67bd7 100644
80 --- a/src/user_types/CMakeLists.txt
81 +++ b/src/user_types/CMakeLists.txt
82 @@ -2,7 +2,7 @@ macro(USER_TYPE_PLUGIN PLUGIN_NAME SRCS)
83      add_library(${PLUGIN_NAME} SHARED ${SRCS})
84      set_target_properties(${PLUGIN_NAME} PROPERTIES PREFIX "")
85      target_link_libraries(${PLUGIN_NAME} yang)
86 -    install(TARGETS ${PLUGIN_NAME} DESTINATION ${USER_TYPES_PLUGINS_DIR_MACRO})
87 +    install(TARGETS ${PLUGIN_NAME} DESTINATION ${USER_TYPES_PLUGINS_DIR_MACRO} COMPONENT libyang)
88  endmacro(USER_TYPE_PLUGIN)
89  
90  foreach(USER_TYPE ${USER_TYPE_LIST})