summaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
blob: 40d7396e3cff328957aed142ad6cdc8d595ba307 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
project(pcitool)

set(PCILIB_VERSION "0.0.1")
set(PCILIB_ABI_VERSION "0")

cmake_minimum_required(VERSION 2.8)

find_package(PkgConfig REQUIRED)

#Check in sibling directory
pkg_check_modules(UFODECODE ufodecode REQUIRED)
pkg_check_modules(FASTWRITER fastwriter REQUIRED)

set(HEADERS pcilib.h pci.h register.h kmem.h irq.h dma.h event.h default.h tools.h error.h)
add_definitions("-fPIC --std=c99 -Wall -O2 -pthread")

add_subdirectory(dma)
add_subdirectory(ipecamera)
add_subdirectory(pcitool)

add_library(pcilib SHARED pci.c register.c kmem.c irq.c dma.c event.c default.c tools.c error.c) 
target_link_libraries(pcilib ufodecode fastwriter dma ipecamera)
add_dependencies(pcilib dma ipecamera)

set_target_properties(pcilib PROPERTIES
    VERSION ${PCILIB_VERSION}
    SOVERSION ${PCILIB_ABI_VERSION}
    LINK_FLAGS "-pthread"
#    LINK_FLAGS "-pthread -Wl,--whole-archive,dma/libdma.a,ipecamera/libipecamera.a,--no-whole-archive"
)

add_executable(pci cli.c)
add_dependencies(pci pcitool)
target_link_libraries(pci pcilib pcitool)

#set_target_properties(pci PROPERTIES
#    LINK_FLAGS "-Wl,pcitool/libpcitool.a"
#)


if(NOT DEFINED BIN_INSTALL_DIR)
    set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
endif(NOT DEFINED BIN_INSTALL_DIR)


install(TARGETS pcilib
    LIBRARY DESTINATION lib${LIB_SUFFIX}
)

install(TARGETS pci
    DESTINATION ${BIN_INSTALL_DIR}
)

install(FILES pcilib.h
    DESTINATION include
)