summaryrefslogtreecommitdiffhomepage
path: root/cmake/opentrack-pkg-config.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/opentrack-pkg-config.cmake')
-rw-r--r--cmake/opentrack-pkg-config.cmake33
1 files changed, 24 insertions, 9 deletions
diff --git a/cmake/opentrack-pkg-config.cmake b/cmake/opentrack-pkg-config.cmake
index 5b84cf40..0ea92e56 100644
--- a/cmake/opentrack-pkg-config.cmake
+++ b/cmake/opentrack-pkg-config.cmake
@@ -1,19 +1,34 @@
include_guard(GLOBAL)
include(FindPkgConfig)
-function(otr_pkgconfig target)
+function(_otr_pkgconfig_add target k)
+ target_compile_options(${target} PRIVATE "${${k}_CFLAGS}")
+ target_link_options(${target} PRIVATE ${${k}_LDFLAGS})
+ target_include_directories(${target} SYSTEM PRIVATE ${${k}_INCLUDE_DIRS} ${${k}_INCLUDEDIR})
+ target_link_libraries(${target} ${${k}_LIBRARIES})
+endfunction()
+
+
+function(otr_pkgconfig_ ret target)
+ set(${ret} 1 PARENT_SCOPE)
foreach(i ${ARGN})
set(k pkg-config_${i})
- pkg_check_modules(${k} QUIET ${i})
- if(${${k}_FOUND})
- target_compile_options(${target} PRIVATE "${${k}_CFLAGS}")
- target_link_options(${target} PRIVATE ${${k}_LDFLAGS})
- target_include_directories(${target} SYSTEM PRIVATE ${${k}_INCLUDE_DIRS} ${${k}_INCLUDEDIR})
- target_link_libraries(${target} ${${k}_LIBRARIES})
+ pkg_check_modules(${k} ${i})
+ if(${k}_FOUND)
+ _otr_pkgconfig_add(${target} ${k})
else()
- message(FATAL_ERROR "Can't find '${i}'. Please install development files for this package.")
+ set(${ret} 0 PARENT_SCOPE)
endif()
endforeach()
endfunction()
-
+function(otr_pkgconfig target)
+ foreach(i ${ARGN})
+ set(k pkg-config_${i})
+ pkg_check_modules(${k} ${i})
+ if(NOT ${k}_FOUND)
+ message(FATAL_ERROR "can't find ${i} for ${target}")
+ endif()
+ _otr_pkgconfig_add(${target} ${k})
+ endforeach()
+endfunction()