2 ## This file is part of the PulseView project.
4 ## Copyright (C) 2012 Joel Holdsworth <joel@airwebreathe.org.uk>
5 ## Copyright (C) 2012 Alexandru Gagniuc <mr.nuke.me@gmail.com>
7 ## This program is free software: you can redistribute it and/or modify
8 ## it under the terms of the GNU General Public License as published by
9 ## the Free Software Foundation, either version 2 of the License, or
10 ## (at your option) any later version.
12 ## This program is distributed in the hope that it will be useful,
13 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
14 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ## GNU General Public License for more details.
17 ## You should have received a copy of the GNU General Public License
18 ## along with this program. If not, see <http://www.gnu.org/licenses/>.
21 cmake_minimum_required(VERSION 2.6)
22 include(FindPkgConfig)
26 #===============================================================================
28 #-------------------------------------------------------------------------------
30 find_package(PkgConfig)
31 pkg_check_modules(PKGDEPS REQUIRED
32 libsigrokdecode>=0.1.0
36 # On Windows/MinGW we explicitly point cmake to the Boost directory.
38 set(BOOST_ROOT /usr/local)
41 find_package(Qt4 REQUIRED)
42 find_package(Boost 1.46 COMPONENTS unit_test_framework REQUIRED)
46 #===============================================================================
48 #-------------------------------------------------------------------------------
55 pv/logicdatasnapshot.cpp
83 set(pulseview_RESOURCES
87 set(pulseview_TEST_SOURCES
89 pv/logicdatasnapshot.cpp
90 test/logicdatasnapshot.cpp
94 qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS})
95 qt4_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
96 qt4_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
98 include(${QT_USE_FILE})
100 #===============================================================================
101 #= Global Definitions
102 #-------------------------------------------------------------------------------
104 add_definitions(${QT_DEFINITIONS})
105 add_definitions(-DAPP_VERSION="${VERSION}")
107 #===============================================================================
108 #= Global Include Directories
109 #-------------------------------------------------------------------------------
111 # On Windows/MinGW we need PKGDEPS_STATIC_INCLUDE_DIRS.
114 ${include_directories}
115 ${CMAKE_CURRENT_BINARY_DIR}
116 ${Boost_INCLUDE_DIRS}
117 ${PKGDEPS_STATIC_INCLUDE_DIRS}
121 ${include_directories}
122 ${CMAKE_CURRENT_BINARY_DIR}
123 ${Boost_INCLUDE_DIRS}
124 ${PKGDEPS_INCLUDE_DIRS}
128 #===============================================================================
129 #= Linker Configuration
130 #-------------------------------------------------------------------------------
132 # On Windows/MinGW we need PKGDEPS_STATIC_LIBRARY_DIRS.
135 ${Boost_LIBRARY_DIRS}
136 ${PKGDEPS_STATIC_LIBRARY_DIRS}
140 ${Boost_LIBRARY_DIRS}
141 ${PKGDEPS_LIBRARY_DIRS}
145 add_executable(pulseview
147 ${pulseview_HEADERS_MOC}
148 ${pulseview_FORMS_HEADERS}
149 ${pulseview_RESOURCES_RCC}
152 # On Windows/MinGW we need PKGDEPS_STATIC_LIBRARIES.
154 target_link_libraries(pulseview
156 ${PKGDEPS_STATIC_LIBRARIES}
160 target_link_libraries(pulseview
167 #===============================================================================
169 #-------------------------------------------------------------------------------
171 install(PROGRAMS pulseview DESTINATION bin/)
173 #===============================================================================
175 #-------------------------------------------------------------------------------
179 add_definitions(-DBOOST_TEST_DYN_LINK)
181 add_executable(pulseview-test
182 ${pulseview_TEST_SOURCES}
185 # On Windows/MinGW we need PKGDEPS_STATIC_LIBRARIES.
187 target_link_libraries(pulseview-test
189 ${PKGDEPS_STATIC_LIBRARIES}
193 target_link_libraries(pulseview-test
201 add_test(test ${CMAKE_CURRENT_BINARY_DIR}/pulseview-test)