CMakeLists.txt 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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_DEBUG_DIR "." CACHE PATH "Directory to write debug information")
  51. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcitool.pc.in ${CMAKE_CURRENT_BINARY_DIR}/pcitool.pc)
  52. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcilib/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/pcilib/config.h)
  53. configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcilib/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/pcilib/version.h)
  54. install(FILES
  55. ${CMAKE_CURRENT_BINARY_DIR}/pcitool.pc
  56. DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
  57. )
  58. message("-- Configured pcitool ${PCILIB_VERSION_MAJOR}.${PCILIB_VERSION_MINOR}.${PCILIB_VERSION_MICRO} with public ABI ${PCILIB_ABI_VERSION}")