From a3b59213a677f5a1d373198f37c5e436e6ea304b Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Fri, 6 Mar 2015 09:27:25 +0100 Subject: Use a CMake module to detect pkg-config variables --- CMakeLists.txt | 13 ++++--------- common/cmake/PkgConfigVars.cmake | 14 ++++++++++++++ src/CMakeLists.txt | 6 +++--- 3 files changed, 21 insertions(+), 12 deletions(-) create mode 100644 common/cmake/PkgConfigVars.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index cfdb88c..54e17ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,10 +16,10 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/common/cmake") #{{{ Variables and Options include(ConfigurePaths) +include(PkgConfigVars) + configure_paths(UFO_FILTERS) -set(UFO_FILTERS_PLUGINDIR "${UFO_FILTERS_LIBDIR}/ufo") -set(UFO_FILTERS_KERNELDIR "${UFO_FILTERS_DATADIR}/ufo") set(PKG_UFO_CORE_MIN_REQUIRED "0.6") option(WITH_PROFILING "Enable profiling" OFF) @@ -35,13 +35,8 @@ find_package(PkgConfig REQUIRED) pkg_check_modules(UFO ufo>=${PKG_UFO_CORE_MIN_REQUIRED} REQUIRED) -execute_process(COMMAND pkg-config --variable=plugindir ufo - OUTPUT_VARIABLE UFO_FILTERS_PLUGINDIR - OUTPUT_STRIP_TRAILING_WHITESPACE) - -execute_process(COMMAND pkg-config --variable=kerneldir ufo - OUTPUT_VARIABLE UFO_FILTERS_KERNELDIR - OUTPUT_STRIP_TRAILING_WHITESPACE) +pkg_check_variable(ufo plugindir) +pkg_check_variable(ufo kerneldir) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/deps/oclfft) diff --git a/common/cmake/PkgConfigVars.cmake b/common/cmake/PkgConfigVars.cmake new file mode 100644 index 0000000..fcb7bc6 --- /dev/null +++ b/common/cmake/PkgConfigVars.cmake @@ -0,0 +1,14 @@ +find_package(PkgConfig REQUIRED) + +function(pkg_check_variable _pkg _name) + string(TOUPPER ${_pkg} _pkg_upper) + string(TOUPPER ${_name} _name_upper) + set(_output_name "${_pkg_upper}_${_name_upper}") + + execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_name} ${_pkg} + OUTPUT_VARIABLE _pkg_result + OUTPUT_STRIP_TRAILING_WHITESPACE) + + set("${_output_name}" "${_pkg_result}" CACHE STRING "pkg-config variable + ${_name} of ${_pkg}") +endfunction() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c496c79..01da2c8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -200,14 +200,14 @@ foreach(_src ${ufofilter_SRCS}) list(APPEND all_targets ${target}) install(TARGETS ${target} - ARCHIVE DESTINATION ${UFO_FILTERS_PLUGINDIR} - LIBRARY DESTINATION ${UFO_FILTERS_PLUGINDIR}) + ARCHIVE DESTINATION ${UFO_PLUGINDIR} + LIBRARY DESTINATION ${UFO_PLUGINDIR}) endif() endforeach() # copy kernels foreach(_kernel ${ufofilter_KERNELS}) - install(FILES ${_kernel} DESTINATION ${UFO_FILTERS_KERNELDIR}) + install(FILES ${_kernel} DESTINATION ${UFO_KERNELDIR}) endforeach() #}}} #{{{ Python tests -- cgit v1.2.3