| 1 | cmake_minimum_required(VERSION 2.6) |
|---|
| 2 | set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) |
|---|
| 3 | include(CheckIncludeFiles) |
|---|
| 4 | include(RelativePath) |
|---|
| 5 | |
|---|
| 6 | # Project and version |
|---|
| 7 | project(boc-utils) |
|---|
| 8 | set(BOC_VERSION_MAJOR 0) |
|---|
| 9 | set(BOC_VERSION_MINOR 54) |
|---|
| 10 | set(BOC_VERSION_PATCH 3) |
|---|
| 11 | set(BOC_VERSION ${BOC_VERSION_MAJOR}.${BOC_VERSION_MINOR}.${BOC_VERSION_PATCH}) |
|---|
| 12 | |
|---|
| 13 | # Headers |
|---|
| 14 | check_include_files(syslog.h HAVE_SYSLOG_H) |
|---|
| 15 | if(HAVE_SYSLOG_H) |
|---|
| 16 | add_definitions(-DHAVE_SYSLOG_H) |
|---|
| 17 | endif(HAVE_SYSLOG_H) |
|---|
| 18 | |
|---|
| 19 | # Required |
|---|
| 20 | find_package(LibGcrypt REQUIRED) |
|---|
| 21 | find_package(Qt4 REQUIRED) |
|---|
| 22 | |
|---|
| 23 | # Optional |
|---|
| 24 | find_library(LIBRFID_LIBRARY rfid) |
|---|
| 25 | find_library(SANE_LIBRARY sane) |
|---|
| 26 | |
|---|
| 27 | # Configuration |
|---|
| 28 | if(LIBRFID_LIBRARY) |
|---|
| 29 | message(STATUS "Found RFID library: ${LIBRFID_LIBRARY}") |
|---|
| 30 | set(USE_RFID 1) |
|---|
| 31 | endif(LIBRFID_LIBRARY) |
|---|
| 32 | if(SANE_LIBRARY) |
|---|
| 33 | message(STATUS "Found SANE library: ${SANE_LIBRARY}") |
|---|
| 34 | set(USE_SANE 1) |
|---|
| 35 | endif(SANE_LIBRARY) |
|---|
| 36 | if(QT_PHONON_FOUND) |
|---|
| 37 | set(USE_PHONON 1) |
|---|
| 38 | endif(QT_PHONON_FOUND) |
|---|
| 39 | if(QT_QTDBUS_FOUND) |
|---|
| 40 | set(USE_DBUS 1) |
|---|
| 41 | endif(QT_QTDBUS_FOUND) |
|---|
| 42 | |
|---|
| 43 | # Destination directories |
|---|
| 44 | set(BOC_RUNTIME_DIR bin CACHE STRING "BoC runtime directory.") |
|---|
| 45 | set(BOC_LIBRARY_DIR lib CACHE STRING "BoC library directory.") |
|---|
| 46 | set(BOC_DATA_DIR share/${PROJECT_NAME} CACHE STRING "BoC data directory.") |
|---|
| 47 | |
|---|
| 48 | # Path definitions |
|---|
| 49 | set(BOC_CONFIG_PATH "/etc/boc-utils.conf") |
|---|
| 50 | relative_path(BOC_DATA_PATH ${BOC_RUNTIME_DIR} ${BOC_DATA_DIR}) |
|---|
| 51 | configure_file(${CMAKE_SOURCE_DIR}/cmake/config.h.in ${CMAKE_BINARY_DIR}/src/config.h) |
|---|
| 52 | |
|---|
| 53 | # Extra runtime dependencies |
|---|
| 54 | if(APPLE) |
|---|
| 55 | set(BOC_EXTRA_PLUGINS |
|---|
| 56 | ${QT_PLUGINS_DIR}/imageformats/libqgif.bundle |
|---|
| 57 | ${QT_PLUGINS_DIR}/imageformats/libqjpeg.bundle) |
|---|
| 58 | endif(APPLE) |
|---|
| 59 | if(WIN32) |
|---|
| 60 | set(BOC_EXTRA_RUNTIME |
|---|
| 61 | ${CMAKE_FIND_ROOT_PATH}/bin/libeay32.dll |
|---|
| 62 | ${CMAKE_FIND_ROOT_PATH}/bin/ssleay32.dll |
|---|
| 63 | ${CMAKE_FIND_ROOT_PATH}/bin/libz.dll |
|---|
| 64 | ${CMAKE_FIND_ROOT_PATH}/bin/QtDesigner4.dll) |
|---|
| 65 | set(BOC_EXTRA_PLUGINS |
|---|
| 66 | ${QT_PLUGINS_DIR}/imageformats/qgif4.dll |
|---|
| 67 | ${QT_PLUGINS_DIR}/imageformats/qjpeg4.dll) |
|---|
| 68 | endif(WIN32) |
|---|
| 69 | install(FILES ${BOC_EXTRA_RUNTIME} DESTINATION ${BOC_RUNTIME_DIR}) |
|---|
| 70 | install(FILES ${BOC_EXTRA_PLUGINS} DESTINATION ${PLUGIN_INSTALL_DIR}/imageformats) |
|---|
| 71 | |
|---|
| 72 | # Packaging |
|---|
| 73 | set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "BoC Utilities") |
|---|
| 74 | set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/COPYING) |
|---|
| 75 | set(CPACK_PACKAGE_EXECUTABLES "boc-display" "BoC Display") |
|---|
| 76 | set(CPACK_PACKAGE_VERSION_MAJOR ${BOC_VERSION_MAJOR}) |
|---|
| 77 | set(CPACK_PACKAGE_VERSION_MINOR ${BOC_VERSION_MINOR}) |
|---|
| 78 | set(CPACK_PACKAGE_VERSION_PATCH ${BOC_VERSION_PATCH}) |
|---|
| 79 | if(APPLE) |
|---|
| 80 | set(CPACK_BUNDLE_NAME ${PROJECT_NAME}) |
|---|
| 81 | set(CPACK_BUNDLE_ICON ${CMAKE_SOURCE_DIR}/data/boc-utils.icns) |
|---|
| 82 | set(CPACK_BUNDLE_IDENTIFIER eu.bolloretelecom.boc-utils) |
|---|
| 83 | set(CPACK_BUNDLE_PLIST ${CMAKE_BINARY_DIR}/Bundle.plist) |
|---|
| 84 | set(CPACK_BUNDLE_STARTUP_COMMAND ${CMAKE_BINARY_DIR}/Bundle.start) |
|---|
| 85 | endif(APPLE) |
|---|
| 86 | include(CPack) |
|---|
| 87 | configure_file(${CMAKE_SOURCE_DIR}/cmake/Bundle.start.in ${CMAKE_BINARY_DIR}/Bundle.start) |
|---|
| 88 | configure_file(${CMAKE_SOURCE_DIR}/cmake/Bundle.plist.in ${CMAKE_BINARY_DIR}/Bundle.plist) |
|---|
| 89 | |
|---|
| 90 | add_subdirectory(data) |
|---|
| 91 | add_subdirectory(src) |
|---|