]> sigrok.org Git - pulseview.git/blob - CMakeLists.txt
Set explicit BOOST_ROOT on Windows/MinGW.
[pulseview.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.6)
2 include(FindPkgConfig)
3
4 project(pulseview)
5
6 find_package(PkgConfig)
7 pkg_check_modules(PKGDEPS REQUIRED
8         libsigrokdecode>=0.1.0
9         libsigrok>=0.2.0
10 )
11
12 # On Windows/MinGW we explicitly point cmake to the Boost directory.
13 if(WIN32)
14 set(BOOST_ROOT /usr/local)
15 endif(WIN32)
16
17 find_package(Qt4 REQUIRED)
18 find_package(Boost 1.46 COMPONENTS unit_test_framework REQUIRED)
19
20 set(VERSION 0.1.0)
21
22 set(pulseview_SOURCES
23         about.cpp
24         datasnapshot.cpp
25         logicdata.cpp
26         logicdatasnapshot.cpp
27         logicsignal.cpp
28         main.cpp
29         mainwindow.cpp
30         samplingbar.cpp
31         signaldata.cpp
32         sigsession.cpp
33         signal.cpp
34         pv/view/header.cpp
35         pv/view/ruler.cpp
36         pv/view/view.cpp
37         pv/view/viewport.cpp
38 )
39
40 set(pulseview_HEADERS
41         about.h
42         mainwindow.h
43         samplingbar.h
44         sigsession.h
45         pv/view/header.h
46         pv/view/ruler.h
47         pv/view/view.h
48         pv/view/viewport.h
49 )
50
51 set(pulseview_FORMS
52         about.ui
53 )
54
55 set(pulseview_RESOURCES
56         pulseview.qrc
57 )
58
59 set(pulseview_TEST_SOURCES
60         test/logicdatasnapshot.cpp
61         test/test.cpp
62         datasnapshot.cpp
63         logicdatasnapshot.cpp
64 )
65
66 qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS})
67 qt4_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
68 qt4_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
69
70 include(${QT_USE_FILE})
71
72 add_definitions(${QT_DEFINITIONS})
73 add_definitions(-DAPP_VERSION="${VERSION}")
74
75 # On Windows/MinGW we need PKGDEPS_STATIC_INCLUDE_DIRS.
76 if(WIN32)
77 include_directories(
78         ${include_directories}
79         ${Boost_INCLUDE_DIRS}
80         ${PKGDEPS_STATIC_INCLUDE_DIRS}
81 )
82 else(WIN32)
83 include_directories(
84         ${include_directories}
85         ${Boost_INCLUDE_DIRS}
86         ${PKGDEPS_INCLUDE_DIRS}
87 )
88 endif(WIN32)
89
90 # On Windows/MinGW we need PKGDEPS_STATIC_LIBRARY_DIRS.
91 if(WIN32)
92 link_directories(
93         ${Boost_LIBRARY_DIRS}
94         ${PKGDEPS_STATIC_LIBRARY_DIRS}
95 )
96 else(WIN32)
97 link_directories(
98         ${Boost_LIBRARY_DIRS}
99         ${PKGDEPS_LIBRARY_DIRS}
100 )
101 endif(WIN32)
102
103 add_executable(pulseview
104         ${pulseview_SOURCES}
105         ${pulseview_HEADERS_MOC}
106         ${pulseview_FORMS_HEADERS}
107         ${pulseview_RESOURCES_RCC}
108 )
109
110 # On Windows/MinGW we need PKGDEPS_STATIC_LIBRARIES.
111 if(WIN32)
112 target_link_libraries(pulseview
113         ${Boost_LIBRARIES}
114         ${PKGDEPS_STATIC_LIBRARIES}
115         ${QT_LIBRARIES}
116 )
117 else(WIN32)
118 target_link_libraries(pulseview
119         ${Boost_LIBRARIES}
120         ${PKGDEPS_LIBRARIES}
121         ${QT_LIBRARIES}
122 )
123 endif(WIN32)
124
125 add_definitions(-DBOOST_TEST_DYN_LINK)
126
127 add_executable(pulseview-test
128         ${pulseview_TEST_SOURCES}
129 )
130
131 # On Windows/MinGW we need PKGDEPS_STATIC_LIBRARIES.
132 if(WIN32)
133 target_link_libraries(pulseview-test
134         ${Boost_LIBRARIES}
135         ${PKGDEPS_STATIC_LIBRARIES}
136         ${QT_LIBRARIES}
137 )
138 else(WIN32)
139 target_link_libraries(pulseview-test
140         ${Boost_LIBRARIES}
141         ${PKGDEPS_LIBRARIES}
142         ${QT_LIBRARIES}
143 )
144 endif(WIN32)
145
146 enable_testing()
147 add_test(test ${CMAKE_CURRENT_BINARY_DIR}/pulseview-test)