summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt34
-rw-r--r--src/CMakeLists.txt38
2 files changed, 37 insertions, 35 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 83c174d..ab4d3de 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 2.6)
project(ufo C)
set(TARNAME "ufo-filters")
+
set(UFO_FILTERS_VERSION_MAJOR "0")
set(UFO_FILTERS_VERSION_MINOR "5")
set(UFO_FILTERS_VERSION_PATCH "0")
@@ -21,21 +22,23 @@ if (WITH_PROFILING)
endif ()
# --- Find packages and libraries ---------------------------------------------
+set(PKG_UFO_CORE_MIN_REQUIRED "0.5")
+
find_package(OpenCL REQUIRED)
find_package(PkgConfig REQUIRED)
-pkg_check_modules(GLIB2 glib-2.0>=2.22 REQUIRED)
-pkg_check_modules(GOBJECT2 gobject-2.0>=2.22 REQUIRED)
-pkg_check_modules(UFO ufo>=0.2 REQUIRED)
+pkg_check_modules(UFO ufo>=${PKG_UFO_CORE_MIN_REQUIRED} REQUIRED)
+
+#{{{ Plugin-specific dependencies
+find_package(TIFF)
+#}}}
include_directories(
- ${GLIB2_INCLUDE_DIRS}
${OPENCL_INCLUDE_DIRS}
- ${UFO_INCLUDE_DIRS}
- )
-
-link_directories(${UFO_LIBRARY_DIRS})
+ ${UFO_INCLUDE_DIRS})
add_definitions("-std=c99 -pedantic -Wall -Wextra -fPIC")
+add_definitions(-DG_LOG_DOMAIN="Ufo")
+
if (CMAKE_COMPILER_IS_GNUCC)
add_definitions("-Wmissing-prototypes -Wmissing-declarations -Wshadow
-Wpointer-arith -Wcast-align -Wwrite-strings -Wredundant-decls -Wcast-qual
@@ -44,13 +47,10 @@ if (CMAKE_COMPILER_IS_GNUCC)
add_definitions("-Wno-unused-parameter -Wno-missing-field-initializers")
endif()
-add_definitions(-DG_LOG_DOMAIN="Ufo")
-
add_subdirectory(src)
add_subdirectory(tests/integration_tests)
-
-# --- Package generation ------------------------------------------------------
+#{{{ CPack
set(CPACK_PACKAGE_DESCRIPTION ${UFO_DESCRIPTION})
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${UFO_DESCRIPTION_SUMMARY})
set(CPACK_PACKAGE_NAME ${TARNAME})
@@ -69,7 +69,13 @@ set(CPACK_SOURCE_GENERATOR "TGZ")
set(CPACK_SOURCE_IGNORE_FILES "tags" ".bzr" ".swp" "~1~")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${TARNAME}-${UFO_FILTERS_VERSION_STRING_LONG}" CACHE INTERNAL "tarball basename")
-# --- Distro specific
-set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.6), libgcc1 (>= 1:4.1)")
+#{{{ Debian
+set(CPACK_DEBIAN_PACKAGE_DEPENDS "libufo (>= ${PKG_UFO_CORE_MIN_REQUIRED})")
+
+if (TIFF_FOUND)
+ set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS}, libtiff4")
+endif()
+#}}}
include(CPack)
+#}}}
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0d4b509..f3a942e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 2.6)
-# --- Set sources -------------------------------------------------------------
+#{{{ Sources
set(ufofilter_SRCS
ufo-averager-task.c
ufo-backproject-task.c
@@ -22,7 +22,9 @@ set(ufofilter_SRCS
ufo-volume-render-task.c
ufo-zeropadding-task.c
)
+#}}}
+#{{{ Installed OpenCL kernels
set(ufofilter_KERNELS
arithmetics.cl
backproject.cl
@@ -41,24 +43,15 @@ set(ufofilter_KERNELS
volume.cl
zeropadding_kernel.cl
)
+#}}}
-set(ufofilter_LIBS
- ${UFO_LIBRARIES}
- ${GLIB2_LIBRARIES}
- ${GOBJECT2_LIBRARIES}
- )
-
-link_directories(${UFO_LIBRARY_DIRS})
-
-include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(ufofilter_LIBS ${UFO_LIBRARIES})
-# --- Add filters that depend on other libraries ------------------------------
-find_package(TIFF)
-find_program(RE2C re2c)
+#{{{ Dependency checks
pkg_check_modules(UCA libuca>=1.2)
pkg_check_modules(OPENCV opencv)
-pkg_check_modules(FFTW3 fftw3f)
pkg_check_modules(OCLFFT oclfft)
+pkg_check_modules(UFOART ufoart>=0.1)
if (TIFF_FOUND)
list(APPEND ufofilter_SRCS ufo-reader-task.c)
@@ -96,14 +89,14 @@ endif ()
# include_directories(${OPENCV_INCLUDE_DIRS})
#endif ()
-pkg_check_modules(UFOART ufoart>=0.1)
if (UFOART_FOUND)
include_directories(${UFOART_INCLUDE_DIRS})
set(ufofilter_LIBS ${ufofilter_LIBS} ${UFOART_LIBRARIES})
list(APPEND ufofilter_SRCS ufo-art-task.c)
endif()
+#}}}
-# --- Target ------------------------------------------------------------------
+#{{{ Plugin targets
get_property(LIB64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
set(LIB_INSTALL_DIR "lib${LIB_SUFFIX}/ufo")
@@ -111,6 +104,9 @@ set(shared_objects "")
set(documented_types "")
set(all_targets)
+include_directories(${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR})
+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
foreach(_src ${ufofilter_SRCS})
@@ -157,9 +153,9 @@ foreach(_kernel ${ufofilter_KERNELS})
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${_kernel}
DESTINATION ${LIB_INSTALL_DIR})
endforeach()
+#}}}
-
-# --- Build filter reference ---------------------------------------------------
+#{{{ gtk-doc targets
pkg_check_modules(GTK_DOC gtk-doc)
if(GTK_DOC_FOUND)
option(WITH_GTK_DOC "Build filter documentation" ON)
@@ -230,9 +226,9 @@ if(GTK_DOC_FOUND)
add_custom_target(reference ALL DEPENDS ${doc_base}/html.stamp)
endif()
endif(GTK_DOC_FOUND)
+#}}}
-
-# --- Execute nosetest --------------------------------------------------------
+#{{{ Python tests
find_program(NOSETESTSBIN nosetests)
if (NOSETESTSBIN)
add_custom_target(test
@@ -241,4 +237,4 @@ if (NOSETESTSBIN)
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../)
add_dependencies(test ${all_targets})
endif()
-
+#}}}