]> sigrok.org Git - pulseview.git/blobdiff - CMakeLists.txt
Made unit tests optional
[pulseview.git] / CMakeLists.txt
index db0d5f9b2fa23c07f49ad0b450c00a4be4ee1773..4ba2577a25353a87202bb05ba595fd6c484f9e83 100644 (file)
@@ -6,9 +6,14 @@ project(pulseview)
 find_package(PkgConfig)
 pkg_check_modules(PKGDEPS REQUIRED
        libsigrokdecode>=0.1.0
-       libsigrok>=0.1.0
+       libsigrok>=0.2.0
 )
 
+# On Windows/MinGW we explicitly point cmake to the Boost directory.
+if(WIN32)
+set(BOOST_ROOT /usr/local)
+endif(WIN32)
+
 find_package(Qt4 REQUIRED)
 find_package(Boost 1.46 COMPONENTS unit_test_framework REQUIRED)
 
@@ -26,6 +31,8 @@ set(pulseview_SOURCES
        signaldata.cpp
        sigsession.cpp
        signal.cpp
+       pv/view/header.cpp
+       pv/view/ruler.cpp
        pv/view/view.cpp
        pv/view/viewport.cpp
 )
@@ -35,6 +42,8 @@ set(pulseview_HEADERS
        mainwindow.h
        samplingbar.h
        sigsession.h
+       pv/view/header.h
+       pv/view/ruler.h
        pv/view/view.h
        pv/view/viewport.h
 )
@@ -54,8 +63,6 @@ set(pulseview_TEST_SOURCES
        logicdatasnapshot.cpp
 )
 
-set(QT_USE_QTOPENGL TRUE)
-
 qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS})
 qt4_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS})
 qt4_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES})
@@ -65,16 +72,33 @@ include(${QT_USE_FILE})
 add_definitions(${QT_DEFINITIONS})
 add_definitions(-DAPP_VERSION="${VERSION}")
 
+# On Windows/MinGW we need PKGDEPS_STATIC_INCLUDE_DIRS.
+if(WIN32)
+include_directories(
+       ${include_directories}
+       ${Boost_INCLUDE_DIRS}
+       ${PKGDEPS_STATIC_INCLUDE_DIRS}
+)
+else(WIN32)
 include_directories(
        ${include_directories}
        ${Boost_INCLUDE_DIRS}
        ${PKGDEPS_INCLUDE_DIRS}
 )
+endif(WIN32)
 
+# On Windows/MinGW we need PKGDEPS_STATIC_LIBRARY_DIRS.
+if(WIN32)
+link_directories(
+       ${Boost_LIBRARY_DIRS}
+       ${PKGDEPS_STATIC_LIBRARY_DIRS}
+)
+else(WIN32)
 link_directories(
        ${Boost_LIBRARY_DIRS}
        ${PKGDEPS_LIBRARY_DIRS}
 )
+endif(WIN32)
 
 add_executable(pulseview
        ${pulseview_SOURCES}
@@ -83,11 +107,22 @@ add_executable(pulseview
        ${pulseview_RESOURCES_RCC}
 )
 
+# On Windows/MinGW we need PKGDEPS_STATIC_LIBRARIES.
+if(WIN32)
+target_link_libraries(pulseview
+       ${Boost_LIBRARIES}
+       ${PKGDEPS_STATIC_LIBRARIES}
+       ${QT_LIBRARIES}
+)
+else(WIN32)
 target_link_libraries(pulseview
        ${Boost_LIBRARIES}
        ${PKGDEPS_LIBRARIES}
        ${QT_LIBRARIES}
 )
+endif(WIN32)
+
+if(ENABLE_TESTS)
 
 add_definitions(-DBOOST_TEST_DYN_LINK)
 
@@ -95,11 +130,24 @@ add_executable(pulseview-test
        ${pulseview_TEST_SOURCES}
 )
 
+# On Windows/MinGW we need PKGDEPS_STATIC_LIBRARIES.
+if(WIN32)
+target_link_libraries(pulseview-test
+       ${Boost_LIBRARIES}
+       ${PKGDEPS_STATIC_LIBRARIES}
+       ${QT_LIBRARIES}
+)
+else(WIN32)
 target_link_libraries(pulseview-test
        ${Boost_LIBRARIES}
        ${PKGDEPS_LIBRARIES}
        ${QT_LIBRARIES}
 )
+endif(WIN32)
 
 enable_testing()
 add_test(test ${CMAKE_CURRENT_BINARY_DIR}/pulseview-test)
+
+install(PROGRAMS pulseview DESTINATION bin/)
+
+endif(ENABLE_TESTS)