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