/alps/pcitool

To get this branch, use:
bzr branch http://darksoft.org/webbzr/alps/pcitool
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
1
project(pcitool)
2
353 by Suren A. Chilingaryan
Merge Python scripting support from Vasiliy Chernov
3
set(PCILIB_VERSION "0.2.6")
241 by Suren A. Chilingaryan
Further adjustments to get ready for independent event plugins
4
set(PCILIB_ABI_VERSION "2")
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
5
346.1.10 by Vasilii Chernov
1. Cmakelists - move copy xml folder command to root file
6
cmake_minimum_required(VERSION 2.8)
324 by Suren A. Chilingaryan
Documentation update
7
#set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH true)
8
#set(CMAKE_PREFIX_PATH ${CMAKE_SYSTEM_PREFIX_PATH})
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
9
346.1.16 by Vasilii Chernov
1. Add cmake BUILD_PYTHON_MODULES option.
10
set(DISABLE_PCITOOL FALSE CACHE BOOL "Build only the library")
353 by Suren A. Chilingaryan
Merge Python scripting support from Vasiliy Chernov
11
set(DISABLE_PYTHON FALSE CACHE BOOL "Disable python scripting support") 
152 by Suren A. Chilingaryan
build scripts: allow to build the library without pcitool
12
253 by Suren A. Chilingaryan
Include version information in all API descriptions
13
#list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
152 by Suren A. Chilingaryan
build scripts: allow to build the library without pcitool
14
302 by Suren A. Chilingaryan
Fixes out-of-source builds and minor build issues
15
if(NOT DEFINED BIN_INSTALL_DIR)
16
    set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
17
endif(NOT DEFINED BIN_INSTALL_DIR)
18
19
if(NOT DEFINED LIB_INSTALL_DIR)
20
    set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
21
endif(NOT DEFINED LIB_INSTALL_DIR)
22
23
if(NOT DEFINED INCLUDE_INSTALL_DIR)
24
    set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
25
endif(NOT DEFINED INCLUDE_INSTALL_DIR)
26
27
if(NOT DEFINED DATA_INSTALL_DIR)
28
    set(DATA_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share")
29
endif(NOT DEFINED DATA_INSTALL_DIR)
30
31
if(NOT DEFINED LOCALE_INSTALL_DIR)
32
    set(LOCALE_INSTALL_DIR "${DATA_INSTALL_DIR}/locale")
33
endif(NOT DEFINED LOCALE_INSTALL_DIR)
34
35
SET(ENV{PKG_CONFIG_PATH} "${LIB_INSTALL_DIR}/pkgconfig:$ENV{PKG_CONFIG_PATH}")
36
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
37
find_package(PkgConfig REQUIRED)
156 by Suren A. Chilingaryan
Portable pthreads detection
38
find_package(Threads REQUIRED)
346.1.16 by Vasilii Chernov
1. Add cmake BUILD_PYTHON_MODULES option.
39
353 by Suren A. Chilingaryan
Merge Python scripting support from Vasiliy Chernov
40
if (NOT DISABLE_PYTHON)
41
    find_package(PythonLibs 2.7 REQUIRED)
42
    find_package(SWIG REQUIRED)
43
    set(HAVE_PYTHON TRUE)
44
endif (NOT DISABLE_PYTHON)
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
45
297 by Suren A. Chilingaryan
Fix support of older systems: Remove C11 derective and add rt library to the link list
46
set(EXTRA_SYSTEM_LIBS -lrt)
47
303 by Suren A. Chilingaryan
Initial integration of XML support
48
check_include_files(stdatomic.h HAVE_STDATOMIC_H)
49
307 by Suren A. Chilingaryan
Finalyze XML support and provide initial support for views (only descriptions so far)
50
find_path(UTHASH_INCLUDE_DIRS uthash.h PATH_SUFFIXES uthash)
51
if (UTHASH_INCLUDE_DIRS)
52
    message ("uthash is found at ${UTHASH_INCLUDE_DIRS}")
53
else (UTHASH_INCLUDE_DIRS)
54
    message (FATAL_ERROR "uthash is not found...")
55
endif (UTHASH_INCLUDE_DIRS)
56
303 by Suren A. Chilingaryan
Initial integration of XML support
57
pkg_check_modules(LIBXML2 libxml-2.0 REQUIRED)
58
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
59
#Check in sibling directory
152 by Suren A. Chilingaryan
build scripts: allow to build the library without pcitool
60
if (NOT DISABLE_PCITOOL)
61
    pkg_check_modules(FASTWRITER fastwriter REQUIRED)
62
endif (NOT DISABLE_PCITOOL)
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
63
303 by Suren A. Chilingaryan
Initial integration of XML support
64
add_definitions("-fPIC --std=c99 -Wall -O2 -gdwarf-2 -g3 -fno-omit-frame-pointer")
297 by Suren A. Chilingaryan
Fix support of older systems: Remove C11 derective and add rt library to the link list
65
#add_definitions("-fPIC --std=c99 -Wall -O2")
126 by Suren A. Chilingaryan
multithread preprocessing of ipecamera frames and code reorganization
66
253 by Suren A. Chilingaryan
Include version information in all API descriptions
67
include(cmake/version.cmake)
348 by Suren A. Chilingaryan
Add build information
68
253 by Suren A. Chilingaryan
Include version information in all API descriptions
69
VERSION_TO_VARS(${PCILIB_VERSION} PCILIB_VERSION_MAJOR PCILIB_VERSION_MINOR PCILIB_VERSION_MICRO)
70
348 by Suren A. Chilingaryan
Add build information
71
add_custom_target(build)
72
add_custom_command(TARGET build
351 by Suren A. Chilingaryan
Fix build system
73
    COMMAND ${CMAKE_COMMAND} -DPCILIB_SOURCE_DIR=${CMAKE_SOURCE_DIR} -DPCILIB_BINARY_DIR=${CMAKE_BINARY_DIR} -P ${CMAKE_SOURCE_DIR}/cmake/build.cmake
74
    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
348 by Suren A. Chilingaryan
Add build information
75
)
76
set_source_files_properties(${CMAKE_BINARY_DIR}/pcilib/build.h PROPERTIES GENERATED TRUE)
77
78
241 by Suren A. Chilingaryan
Further adjustments to get ready for independent event plugins
79
set(TARNAME "pcitool")
80
set(PACKAGE_VERSION ${PCILIB_VERSION})
81
set(PACKAGE_NAME "${TARNAME}")
82
set(PACKAGE_TARNAME "${TARNAME}")
83
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
84
set(PACKAGE_BUGREPORT "http://ufo.kit.edu/ufo/newticket")
85
252 by Suren A. Chilingaryan
Provide data debugging API
86
set(PCILIB_PLUGIN_DIR "${LIB_INSTALL_DIR}/pcilib" CACHE PATH "Directory to install plugins")
87
set(PCILIB_DATA_DIR "${DATA_INSTALL_DIR}/pcilib" CACHE PATH "Directory to install data files")
88
set(PCILIB_MODEL_DIR "${PCILIB_DATA_DIR}/models" CACHE PATH "Directory to install XML models")
261 by Suren A. Chilingaryan
Add doxygen configuration
89
set(PCILIB_DOC_DIR "${CMAKE_CURRENT_BINARY_DIR}/docs/" CACHE PATH "Directory to install documentation")
252 by Suren A. Chilingaryan
Provide data debugging API
90
set(PCILIB_DEBUG_DIR "." CACHE PATH "Directory to write debug information")
241 by Suren A. Chilingaryan
Further adjustments to get ready for independent event plugins
91
306 by Suren A. Chilingaryan
Reorder statements in CMakeLists.txt properly
92
add_subdirectory(dma)
93
add_subdirectory(protocols)
307 by Suren A. Chilingaryan
Finalyze XML support and provide initial support for views (only descriptions so far)
94
add_subdirectory(views)
306 by Suren A. Chilingaryan
Reorder statements in CMakeLists.txt properly
95
add_subdirectory(pcilib)
96
add_subdirectory(pcitool)
97
add_subdirectory(apps)
98
add_subdirectory(xml)
99
353 by Suren A. Chilingaryan
Merge Python scripting support from Vasiliy Chernov
100
if (HAVE_PYTHON)
101
    add_subdirectory(pywrap)
102
endif (HAVE_PYTHON)
346.1.16 by Vasilii Chernov
1. Add cmake BUILD_PYTHON_MODULES option.
103
306 by Suren A. Chilingaryan
Reorder statements in CMakeLists.txt properly
104
set_target_properties(pcilib PROPERTIES
105
    VERSION ${PCILIB_VERSION}
106
    SOVERSION ${PCILIB_ABI_VERSION}
107
)
108
346.1.10 by Vasilii Chernov
1. Cmakelists - move copy xml folder command to root file
109
261 by Suren A. Chilingaryan
Add doxygen configuration
110
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/misc/pcitool.pc.in ${CMAKE_CURRENT_BINARY_DIR}/misc/pcitool.pc)
241 by Suren A. Chilingaryan
Further adjustments to get ready for independent event plugins
111
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcilib/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/pcilib/config.h)
253 by Suren A. Chilingaryan
Include version information in all API descriptions
112
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcilib/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/pcilib/version.h)
261 by Suren A. Chilingaryan
Add doxygen configuration
113
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/docs/Doxyfile)
346.1.10 by Vasilii Chernov
1. Cmakelists - move copy xml folder command to root file
114
353 by Suren A. Chilingaryan
Merge Python scripting support from Vasiliy Chernov
115
if (NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
116
    file(COPY ${CMAKE_SOURCE_DIR}/xml DESTINATION ${CMAKE_BINARY_DIR})
117
    file(COPY ${CMAKE_SOURCE_DIR}/pci
118
	 DESTINATION ${CMAKE_BINARY_DIR}
119
	 FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
120
    )
121
endif(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
241 by Suren A. Chilingaryan
Further adjustments to get ready for independent event plugins
122
123
install(FILES 
261 by Suren A. Chilingaryan
Add doxygen configuration
124
    ${CMAKE_CURRENT_BINARY_DIR}/misc/pcitool.pc
241 by Suren A. Chilingaryan
Further adjustments to get ready for independent event plugins
125
    DESTINATION ${LIB_INSTALL_DIR}/pkgconfig
126
)
253 by Suren A. Chilingaryan
Include version information in all API descriptions
127
128
message("-- Configured pcitool ${PCILIB_VERSION_MAJOR}.${PCILIB_VERSION_MINOR}.${PCILIB_VERSION_MICRO} with public ABI ${PCILIB_ABI_VERSION}")