]> sigrok.org Git - pulseview.git/blame - CMakeLists.txt
Initial build fixes for Windows/MinGW.
[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
12find_package(Qt4 REQUIRED)
f0fa92c6 13find_package(Boost 1.46 COMPONENTS unit_test_framework REQUIRED)
df944399
JH
14
15set(VERSION 0.1.0)
16
a8d3fb2d 17set(pulseview_SOURCES
df944399 18 about.cpp
28a4c9c5
JH
19 datasnapshot.cpp
20 logicdata.cpp
21 logicdatasnapshot.cpp
22 logicsignal.cpp
df944399
JH
23 main.cpp
24 mainwindow.cpp
d4984fe7 25 samplingbar.cpp
28a4c9c5 26 signaldata.cpp
2953961c 27 sigsession.cpp
28a4c9c5 28 signal.cpp
1d8dca91 29 pv/view/header.cpp
ccdd3ef5 30 pv/view/ruler.cpp
cdf7bea7
JH
31 pv/view/view.cpp
32 pv/view/viewport.cpp
df944399
JH
33)
34
a8d3fb2d 35set(pulseview_HEADERS
df944399
JH
36 about.h
37 mainwindow.h
d4984fe7 38 samplingbar.h
2953961c 39 sigsession.h
1d8dca91 40 pv/view/header.h
ccdd3ef5 41 pv/view/ruler.h
cdf7bea7
JH
42 pv/view/view.h
43 pv/view/viewport.h
df944399
JH
44)
45
a8d3fb2d 46set(pulseview_FORMS
df944399 47 about.ui
df944399
JH
48)
49
a8d3fb2d
JH
50set(pulseview_RESOURCES
51 pulseview.qrc
df944399
JH
52)
53
a8d3fb2d 54set(pulseview_TEST_SOURCES
4ceab49a 55 test/logicdatasnapshot.cpp
f0fa92c6 56 test/test.cpp
4780b4c8
JH
57 datasnapshot.cpp
58 logicdatasnapshot.cpp
f0fa92c6
JH
59)
60
a8d3fb2d
JH
61qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS})
62qt4_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
63qt4_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
df944399
JH
64
65include(${QT_USE_FILE})
66
67add_definitions(${QT_DEFINITIONS})
68add_definitions(-DAPP_VERSION="${VERSION}")
69
c0d9e65d
UH
70# On Windows/MinGW we need PKGDEPS_STATIC_INCLUDE_DIRS.
71if(WIN32)
72include_directories(
73 ${include_directories}
74 ${Boost_INCLUDE_DIRS}
75 ${PKGDEPS_STATIC_INCLUDE_DIRS}
76)
77else(WIN32)
df944399
JH
78include_directories(
79 ${include_directories}
fc645aa3 80 ${Boost_INCLUDE_DIRS}
df944399
JH
81 ${PKGDEPS_INCLUDE_DIRS}
82)
c0d9e65d 83endif(WIN32)
df944399 84
c0d9e65d
UH
85# On Windows/MinGW we need PKGDEPS_STATIC_LIBRARY_DIRS.
86if(WIN32)
87link_directories(
88 ${Boost_LIBRARY_DIRS}
89 ${PKGDEPS_STATIC_LIBRARY_DIRS}
90)
91else(WIN32)
df944399 92link_directories(
fc645aa3 93 ${Boost_LIBRARY_DIRS}
df944399
JH
94 ${PKGDEPS_LIBRARY_DIRS}
95)
c0d9e65d 96endif(WIN32)
df944399 97
a8d3fb2d
JH
98add_executable(pulseview
99 ${pulseview_SOURCES}
100 ${pulseview_HEADERS_MOC}
101 ${pulseview_FORMS_HEADERS}
102 ${pulseview_RESOURCES_RCC}
df944399
JH
103)
104
c0d9e65d
UH
105# On Windows/MinGW we need PKGDEPS_STATIC_LIBRARIES.
106if(WIN32)
107target_link_libraries(pulseview
108 ${Boost_LIBRARIES}
109 ${PKGDEPS_STATIC_LIBRARIES}
110 ${QT_LIBRARIES}
111)
112else(WIN32)
a8d3fb2d 113target_link_libraries(pulseview
fc645aa3 114 ${Boost_LIBRARIES}
df944399
JH
115 ${PKGDEPS_LIBRARIES}
116 ${QT_LIBRARIES}
117)
c0d9e65d 118endif(WIN32)
f0fa92c6
JH
119
120add_definitions(-DBOOST_TEST_DYN_LINK)
121
a8d3fb2d
JH
122add_executable(pulseview-test
123 ${pulseview_TEST_SOURCES}
f0fa92c6
JH
124)
125
c0d9e65d
UH
126# On Windows/MinGW we need PKGDEPS_STATIC_LIBRARIES.
127if(WIN32)
128target_link_libraries(pulseview-test
129 ${Boost_LIBRARIES}
130 ${PKGDEPS_STATIC_LIBRARIES}
131 ${QT_LIBRARIES}
132)
133else(WIN32)
a8d3fb2d 134target_link_libraries(pulseview-test
f0fa92c6 135 ${Boost_LIBRARIES}
4780b4c8
JH
136 ${PKGDEPS_LIBRARIES}
137 ${QT_LIBRARIES}
f0fa92c6 138)
c0d9e65d 139endif(WIN32)
f0fa92c6
JH
140
141enable_testing()
a8d3fb2d 142add_test(test ${CMAKE_CURRENT_BINARY_DIR}/pulseview-test)