-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathossp-util.cmake
49 lines (40 loc) · 1.08 KB
/
ossp-util.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
include(GNUInstallDirs)
find_package(PkgConfig REQUIRED)
pkg_check_modules(PKGCONFIG_UDEV udev QUIET)
if(PKGCONFIG_UDEV_FOUND)
pkg_get_variable(UDEVDIR udev udevdir)
else()
set(UDEVDIR "${CMAKE_INSTALL_PREFIX}/lib/udev")
endif()
set(INSTALL_UDEVRULESDIR
"${UDEVDIR}/rules.d"
CACHE PATH
"Install path for udev rules."
)
function(link_pkg TARGET PKG)
pkg_search_module(${PKG} ${PKG} REQUIRED)
target_compile_options(${TARGET} PRIVATE ${${PKG}_CFLAGS})
target_include_directories(${TARGET} PRIVATE ${${PKG}_INCLUDE_DIRS})
target_link_libraries(${TARGET} PRIVATE ${${PKG}_LINK_LIBRARIES})
endfunction()
macro(set_output_dir TARGET)
set_target_properties(${TARGET}
PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}
)
endmacro()
macro(install_daemon TARGET)
install(TARGETS ${TARGET}
RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR}
)
endmacro()
macro(install_slave TARGET)
install(TARGETS ${TARGET}
RUNTIME DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/ossp"
)
endmacro()
macro(install_udev_rules FILES)
install(FILES ${FILES}
DESTINATION ${INSTALL_UDEVRULESDIR}
)
endmacro()