summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2025-05-10 19:36:31 +0200
committerStanislaw Halik <sthalik@misaki.pl>2025-05-16 08:54:15 +0200
commit90db63a4bf87e906dde46c2cafca8c6252c390e1 (patch)
tree99609de797f4368b7ccf783a2478ca845f70c908
parent6bc1a4599484324e943463f150b59e528d0be3e1 (diff)
cmake: fix pkg-config wrapper
-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()
-
-