summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--cmake/opentrack-pkg-config.cmake27
1 files changed, 15 insertions, 12 deletions
diff --git a/cmake/opentrack-pkg-config.cmake b/cmake/opentrack-pkg-config.cmake
index 0f13defc..0ea92e56 100644
--- a/cmake/opentrack-pkg-config.cmake
+++ b/cmake/opentrack-pkg-config.cmake
@@ -1,16 +1,21 @@
include_guard(GLOBAL)
include(FindPkgConfig)
+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()
set(${ret} 0 PARENT_SCOPE)
endif()
@@ -18,14 +23,12 @@ function(otr_pkgconfig_ ret target)
endfunction()
function(otr_pkgconfig target)
- set(ret "")
- otr_pkgconfig_(ret "${target}" ${ARGN})
foreach(i ${ARGN})
set(k pkg-config_${i})
- if(NOT ${${k}_FOUND})
- message(FATAL_ERROR "Can't find '${i}'. Please install development files for this package.")
+ 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()
-
-