1 diff --git a/CMakeLists.txt b/CMakeLists.txt
2 index 19b7eb96..6567851f 100644
6 cmake_minimum_required(VERSION 2.8.12)
10 + "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules"
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})
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)
26 find_package(PkgConfig)
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)
35 @@ -399,14 +405,14 @@ configure_file(${PROJECT_SOURCE_DIR}/src/plugin_config.h.in ${PROJECT_BINARY_DIR
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)
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)
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)
61 +if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
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)
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)
90 foreach(USER_TYPE ${USER_TYPE_LIST})