diff options
-rw-r--r-- | CMakeLists.txt | 34 | ||||
-rw-r--r-- | src/CMakeLists.txt | 38 |
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() - +#}}} |