/alps/pcitool

To get this branch, use:
bzr branch http://darksoft.org/webbzr/alps/pcitool

« back to all changes in this revision

Viewing changes to CMakeLists.txt

  • Committer: Suren A. Chilingaryan
  • Date: 2016-03-04 15:43:14 UTC
  • Revision ID: csa@suren.me-20160304154314-uor59rrkaw2hexm7
RPM generation

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
project(pcitool)
 
1
project(pcitool C)
2
2
 
 
3
set(RELEASE "0")
3
4
set(PCILIB_VERSION "0.2.7")
4
5
set(PCILIB_ABI_VERSION "2")
5
6
 
12
13
 
13
14
#list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
14
15
 
 
16
if(NOT DEFINED LIB_SUFFIX)
 
17
 if (CMAKE_SIZEOF_VOID_P EQUAL 8)
 
18
    set(LIB_SUFFIX "64")
 
19
 else (CMAKE_SIZEOF_VOID_P EQUAL 8)
 
20
    set(LIB_SUFFIX "")
 
21
 endif (CMAKE_SIZEOF_VOID_P EQUAL 8)
 
22
endif(NOT DEFINED LIB_SUFFIX)
 
23
 
15
24
if(NOT DEFINED BIN_INSTALL_DIR)
16
25
    set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
17
26
endif(NOT DEFINED BIN_INSTALL_DIR)
18
27
 
19
28
if(NOT DEFINED LIB_INSTALL_DIR)
20
 
    set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib")
 
29
    set(LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}")
21
30
endif(NOT DEFINED LIB_INSTALL_DIR)
22
31
 
23
32
if(NOT DEFINED INCLUDE_INSTALL_DIR)
32
41
    set(LOCALE_INSTALL_DIR "${DATA_INSTALL_DIR}/locale")
33
42
endif(NOT DEFINED LOCALE_INSTALL_DIR)
34
43
 
 
44
if (NOT DEFINED PCILIB_PLUGIN_DIR)
 
45
    set(PCILIB_PLUGIN_DIR "${LIB_INSTALL_DIR}/pcilib" CACHE PATH "Directory to install plugins")
 
46
endif (NOT DEFINED PCILIB_PLUGIN_DIR)
 
47
 
 
48
if (NOT DEFINED PCILIB_DATA_DIR)
 
49
    set(PCILIB_DATA_DIR "${DATA_INSTALL_DIR}/pcilib" CACHE PATH "Directory to install data files")
 
50
endif (NOT DEFINED PCILIB_DATA_DIR)
 
51
 
 
52
if (NOT DEFINED PCILIB_MODEL_DIR)
 
53
    set(PCILIB_MODEL_DIR "${PCILIB_DATA_DIR}/models" CACHE PATH "Directory to install XML models")
 
54
endif (NOT DEFINED PCILIB_MODEL_DIR)
 
55
 
 
56
if (NOT DEFINED PCILIB_DOC_DIR)
 
57
    set(PCILIB_DOC_DIR "${CMAKE_CURRENT_BINARY_DIR}/docs/" CACHE PATH "Directory to install documentation")
 
58
endif (NOT DEFINED PCILIB_DOC_DIR)
 
59
    
 
60
if (NOT DEFINED PCILIB_DEBUG_DIR)
 
61
    set(PCILIB_DEBUG_DIR "." CACHE PATH "Directory to write debug information")
 
62
endif (NOT DEFINED PCILIB_DEBUG_DIR)
 
63
 
35
64
SET(ENV{PKG_CONFIG_PATH} "${LIB_INSTALL_DIR}/pkgconfig:$ENV{PKG_CONFIG_PATH}")
36
65
 
37
66
find_package(PkgConfig REQUIRED)
38
67
find_package(Threads REQUIRED)
 
68
find_package(Doxygen)
39
69
 
40
70
if (NOT DISABLE_PYTHON)
41
71
    set(PYTHON_VERSION 2.7 CACHE STRING "python version")
50
80
 
51
81
#    execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from sysconfig import get_path; print get_path('platlib')" OUTPUT_VARIABLE PYTHON_INSTALL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
52
82
    
53
 
    execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "import site; print (site.PREFIXES[-1])" OUTPUT_VARIABLE PYTHON_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
54
 
    file (TO_CMAKE_PATH "${PYTHON_PREFIX}" PYTHON_PREFIX)
55
 
    execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "import site; print (site.getsitepackages()[0])" OUTPUT_VARIABLE PYTHON_SITE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
56
 
    file (TO_CMAKE_PATH "${PYTHON_SITE_DIR}" PYTHON_SITE_DIR)
 
83
    if (NOT DEFINED PYTHON_INSTALL_DIR)
 
84
        execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "import site; print (site.PREFIXES[-1])" OUTPUT_VARIABLE PYTHON_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
 
85
        file (TO_CMAKE_PATH "${PYTHON_PREFIX}" PYTHON_PREFIX)
 
86
        execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "import site; print (site.getsitepackages()[0])" OUTPUT_VARIABLE PYTHON_SITE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
 
87
        file (TO_CMAKE_PATH "${PYTHON_SITE_DIR}" PYTHON_SITE_DIR)
57
88
 
58
 
    string (REGEX REPLACE "^${PYTHON_PREFIX}/" "${CMAKE_INSTALL_PREFIX}/" PYTHON_SITE_DIR "${PYTHON_SITE_DIR}")
59
 
    set(PYTHON_INSTALL_DIR ${PYTHON_SITE_DIR} CACHE PATH "path to install python module")
 
89
        string (REGEX REPLACE "^${PYTHON_PREFIX}/" "${CMAKE_INSTALL_PREFIX}/" PYTHON_SITE_DIR "${PYTHON_SITE_DIR}")
 
90
        set(PYTHON_INSTALL_DIR ${PYTHON_SITE_DIR} CACHE PATH "path to install python module")
 
91
    endif (NOT DEFINED PYTHON_INSTALL_DIR)
60
92
 
61
93
    set(HAVE_PYTHON TRUE)
62
94
endif (NOT DISABLE_PYTHON)
93
125
)
94
126
set_source_files_properties(${CMAKE_BINARY_DIR}/pcilib/build.h PROPERTIES GENERATED TRUE)
95
127
 
96
 
 
97
128
set(TARNAME "pcitool")
98
129
set(PACKAGE_VERSION ${PCILIB_VERSION})
99
130
set(PACKAGE_NAME "${TARNAME}")
101
132
set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
102
133
set(PACKAGE_BUGREPORT "http://ufo.kit.edu/ufo/newticket")
103
134
 
104
 
set(PCILIB_PLUGIN_DIR "${LIB_INSTALL_DIR}/pcilib" CACHE PATH "Directory to install plugins")
105
 
set(PCILIB_DATA_DIR "${DATA_INSTALL_DIR}/pcilib" CACHE PATH "Directory to install data files")
106
 
set(PCILIB_MODEL_DIR "${PCILIB_DATA_DIR}/models" CACHE PATH "Directory to install XML models")
107
 
set(PCILIB_DOC_DIR "${CMAKE_CURRENT_BINARY_DIR}/docs/" CACHE PATH "Directory to install documentation")
108
 
set(PCILIB_DEBUG_DIR "." CACHE PATH "Directory to write debug information")
 
135
set(CPACK_SOURCE_GENERATOR "TBZ2")
 
136
set(CPACK_PACKAGE_CONTACT "Suren A. Chilingaryan <csa@suren.me>")
 
137
if (${RELEASE} GREATER 0)
 
138
    set(CPACK_PACKAGE_VERSION "${PACKAGE_VERSION}.${RELEASE}")
 
139
else (${RELEASE} GREATER 0)
 
140
    set(CPACK_PACKAGE_VERSION "${PACKAGE_VERSION}")
 
141
endif (${RELEASE} GREATER 0)
 
142
set(CPACK_SOURCE_IGNORE_FILES "/.bzr/;CMakeFiles;_CPack_Packages;cmake_install.cmake;CPack.*.cmake;CMakeCache.txt;install_manifest.txt;config.h$;.pc$;Makefile;.tar.bz2$;~$;${CPACK_SOURCE_IGNORE_FILES}")
 
143
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}")
 
144
include(CPack)
 
145
 
 
146
add_custom_target(dist_clean COMMAND ${CMAKE_MAKE_PROGRAM} clean WORKING_DIRECTORY ${CMAKE_CURRENT_DIR})
 
147
add_custom_target(dist DEPENDS dist_clean COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
 
148
 
109
149
 
110
150
add_subdirectory(dma)
111
151
add_subdirectory(protocols)
124
164
    SOVERSION ${PCILIB_ABI_VERSION}
125
165
)
126
166
 
 
167
add_custom_target(docs
 
168
    COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/docs/Doxyfile 
 
169
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/docs
 
170
    COMMENT "Generating API documentation with Doxygen" VERBATIM
 
171
)
 
172
set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "docs/html")
 
173
 
 
174
 
 
175
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcitool.spec.in ${CMAKE_CURRENT_BINARY_DIR}/pcitool.spec)
 
176
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/misc/dkms.conf.in ${CMAKE_CURRENT_BINARY_DIR}/misc/dkms.conf)
127
177
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/misc/pcitool.pc.in ${CMAKE_CURRENT_BINARY_DIR}/misc/pcitool.pc)
128
178
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcilib/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/pcilib/config.h)
129
179
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/pcilib/version.h.in ${CMAKE_CURRENT_BINARY_DIR}/pcilib/version.h)