summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2015-03-06 09:27:25 +0100
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2015-03-06 09:27:25 +0100
commita3b59213a677f5a1d373198f37c5e436e6ea304b (patch)
treefc61d256e5705836167594084b48c5142376c540
parent752bb6c6ae39f05c1bcd574b31d2aa47835a2eb3 (diff)
downloadufo-filters-a3b59213a677f5a1d373198f37c5e436e6ea304b.tar.gz
ufo-filters-a3b59213a677f5a1d373198f37c5e436e6ea304b.tar.bz2
ufo-filters-a3b59213a677f5a1d373198f37c5e436e6ea304b.tar.xz
ufo-filters-a3b59213a677f5a1d373198f37c5e436e6ea304b.zip
Use a CMake module to detect pkg-config variables
-rw-r--r--CMakeLists.txt13
-rw-r--r--common/cmake/PkgConfigVars.cmake14
-rw-r--r--src/CMakeLists.txt6
3 files changed, 21 insertions, 12 deletions
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