CMakeLists.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. project(pcitool)
  2. set(PCILIB_VERSION "0.2.0")
  3. set(PCILIB_ABI_VERSION "2")
  4. cmake_minimum_required(VERSION 2.6)
  5. set(DISABLE_PCITOOL FALSE CACHE BOOL "Build only the library")
  6. #list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
  7. find_package(PkgConfig REQUIRED)
  8. find_package(Threads REQUIRED)
  9. #Check in sibling directory
  10. if (NOT DISABLE_PCITOOL)
  11. pkg_check_modules(FASTWRITER fastwriter REQUIRED)
  12. endif (NOT DISABLE_PCITOOL)
  13. add_definitions("-fPIC --std=c99 -Wall -O2 -gdwarf-2 -g3")
  14. #add_definitions("-fPIC --std=c99 -Wall -O2")
  15. include(cmake/version.cmake)
  16. VERSION_TO_VARS(${PCILIB_VERSION} PCILIB_VERSION_MAJOR PCILIB_VERSION_MINOR PCILIB_VERSION_MICRO)
  17. add_subdirectory(dma)
  18. add_subdirectory(protocols)
  19. add_subdirectory(pcilib)
  20. add_subdirectory(pcitool)
  21. add_subdirectory(apps)
  22. set_target_properties(pcilib PROPERTIES
  23. VERSION ${PCILIB_VERSION}
  24. SOVERSION ${PCILIB_ABI_VERSION}
  25. )
  26. set(TARNAME "pcitool")
  27. set(PACKAGE_VERSION ${PCILIB_VERSION})
  28. set(PACKAGE_NAME "${TARNAME}")
  29. set(PACKAGE_TARNAME "${TARNAME}")
  30. set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
  31. set(PACKAGE_BUGREPORT "http://ufo.kit.edu/ufo/newticket")
  32. if(NOT DEFINED BIN_INSTALL_DIR)
  33. set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
  34. endif(NOT DEFINED BIN_INSTALL_DIR)
  35. if(NOT DEFINED LIB_INSTALL_DIR)
  36. set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
  37. endif(NOT DEFINED LIB_INSTALL_DIR)
  38. if(NOT DEFINED INCLUDE_INSTALL_DIR)
  39. set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
  40. endif(NOT DEFINED INCLUDE_INSTALL_DIR)
  41. if(NOT DEFINED DATA_INSTALL_DIR)
  42. set(DATA_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share")
  43. endif(NOT DEFINED DATA_INSTALL_DIR)
  44. if(NOT DEFINED LOCALE_INSTALL_DIR)
  45. set(LOCALE_INSTALL_DIR "${DATA_INSTALL_DIR}/locale")
  46. endif(NOT DEFINED LOCALE_INSTALL_DIR)
  47. set(PCILIB_PLUGIN_DIR "${LIB_INSTALL_DIR}/pcilib" CACHE PATH "Directory to install plugins")
  48. set(PCILIB_DATA_DIR "${DATA_INSTALL_DIR}/pcilib" CACHE PATH "Directory to install data files")
  49. set(PCILIB_MODEL_DIR "${PCILIB_DATA_DIR}/models" CACHE PATH "Directory to install XML models")
  50. set(PCILIB_DOC_DIR "${CMAKE_CURRENT_BINARY_DIR}/docs/" CACHE PATH "Directory to install documentation")
  51. set(PCILIB_DEBUG_DIR "." CACHE PATH "Directory to write debug information")
  52. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/misc/pcitool.pc.in ${CMAKE_CURRENT_BINARY_DIR}/misc/pcitool.pc)
  53. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcilib/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/pcilib/config.h)
  54. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcilib/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/pcilib/version.h)
  55. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/docs/Doxyfile)
  56. install(FILES
  57. ${CMAKE_CURRENT_BINARY_DIR}/misc/pcitool.pc
  58. DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
  59. )
  60. message("-- Configured pcitool ${PCILIB_VERSION_MAJOR}.${PCILIB_VERSION_MINOR}.${PCILIB_VERSION_MICRO} with public ABI ${PCILIB_ABI_VERSION}")