X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=CMakeLists.txt;h=e21ace688663d4f4327fd161903140f4071c6048;hp=caf2eac3fedc3a063068ebdfb2b8f4c6808d7045;hb=39ccf9c39ec5c1ddeb5ba62f77cc811a2598bf72;hpb=f1626bb80080435e306c9a6c5d6ff20dd6dc9e57 diff --git a/CMakeLists.txt b/CMakeLists.txt index caf2eac3..e21ace68 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,6 @@ cmake_minimum_required(VERSION 2.8.6) -include(FindPkgConfig) include(GNUInstallDirs) project(pulseview) @@ -34,7 +33,7 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake") option(DISABLE_WERROR "Build without -Werror" FALSE) option(ENABLE_SIGNALS "Build with UNIX signals" TRUE) option(ENABLE_DECODE "Build with libsigrokdecode" TRUE) -option(ENABLE_TESTS "Enable unit tests" FALSE) +option(ENABLE_TESTS "Enable unit tests" TRUE) option(STATIC_PKGDEPS_LIBS "Statically link to (pkg-config) libraries" FALSE) option(FORCE_QT4 "Force use of Qt4 even if Qt5 is available" FALSE) @@ -99,9 +98,9 @@ else() endif() if(ENABLE_TESTS) - find_package(Boost 1.48 COMPONENTS filesystem system thread unit_test_framework REQUIRED) + find_package(Boost 1.53 COMPONENTS filesystem system thread unit_test_framework REQUIRED) else() - find_package(Boost 1.48 COMPONENTS filesystem system thread REQUIRED) + find_package(Boost 1.53 COMPONENTS filesystem system thread REQUIRED) endif() # Find the platform's thread library (needed for C++11 threads). @@ -124,26 +123,14 @@ set(PV_DESCRIPTION "A GUI for sigrok") set(PV_VERSION_STRING "0.3.0") include(GetGitRevisionDescription) -git_describe(PV_TAG_VERSION_STRING --tags --dirty) -if(NOT PV_TAG_VERSION_STRING AND EXISTS "${PROJECT_SOURCE_DIR}/VERSION") - # Read the version from a file that is distributed with - # the source package (see writepackageversion.cmake). - file(STRINGS "${PROJECT_SOURCE_DIR}/VERSION" PV_TAG_VERSION_STRING LIMIT_COUNT 1) -endif() - -if(PV_TAG_VERSION_STRING MATCHES - "^pulseview-([0-9]+\\.[0-9]+\\.[0-9]+)(-[0-9a-z]+)?(-g[-0-9a-z]+)?$") - set(PV_TAG_VERSION ${CMAKE_MATCH_1}) - set(PV_TAG_PATCHLEVEL ${CMAKE_MATCH_2}) - set(PV_TAG_REVHASH ${CMAKE_MATCH_3}) - - if(PV_VERSION_STRING VERSION_GREATER ${PV_TAG_VERSION}) - # Tagged version older than current one: indicate pre-release. - set(PV_VERSION_STRING "${PV_VERSION_STRING}-pre${PV_TAG_REVHASH}") - else() - # For post-release changes, indicate the patch level. - set(PV_VERSION_STRING "${PV_TAG_VERSION}${PV_TAG_PATCHLEVEL}${PV_TAG_REVHASH}") +# Append the revision hash unless we are exactly on a tagged release. +git_describe(PV_TAG_VERSION_STRING --match "pulseview-${PV_VERSION_STRING}" --exact-match) +if(NOT PV_TAG_VERSION_STRING) + get_git_head_revision(PV_REVSPEC PV_HASH) + if(PV_HASH) + string(SUBSTRING "${PV_HASH}" 0 7 PV_SHORTHASH) + set(PV_VERSION_STRING "${PV_VERSION_STRING}-git-${PV_SHORTHASH}") endif() endif() @@ -218,6 +205,7 @@ set(pulseview_SOURCES pv/view/tracepalette.cpp pv/view/tracetreeitem.cpp pv/view/tracetreeitemowner.cpp + pv/view/triggermarker.cpp pv/view/view.cpp pv/view/viewitem.cpp pv/view/viewitemowner.cpp @@ -270,6 +258,7 @@ set(pulseview_HEADERS pv/view/trace.hpp pv/view/tracegroup.hpp pv/view/tracetreeitem.hpp + pv/view/triggermarker.hpp pv/view/view.hpp pv/view/viewitem.hpp pv/view/viewport.hpp @@ -340,7 +329,7 @@ if(Qt5Core_FOUND) qt5_wrap_ui(pulseview_FORMS_HEADERS ${pulseview_FORMS}) qt5_add_resources(pulseview_RESOURCES_RCC ${pulseview_RESOURCES}) else() - # Workaroud for QTBUG-22829: -DBOOST_NEXT_PRIOR_HPP_INCLUDED. + # Workaround for QTBUG-22829: -DBOOST_NEXT_PRIOR_HPP_INCLUDED. # https://bugreports.qt.io/browse/QTBUG-22829 qt4_wrap_cpp(pulseview_HEADERS_MOC ${pulseview_HEADERS} OPTIONS -DBOOST_NEXT_PRIOR_HPP_INCLUDED) @@ -472,7 +461,6 @@ set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/COPYING) set(CPACK_SOURCE_IGNORE_FILES ${CMAKE_CURRENT_BINARY_DIR} ".gitignore" ".git") set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${PV_VERSION_STRING}") set(CPACK_SOURCE_GENERATOR "TGZ") -set(CPACK_INSTALL_SCRIPT ${CMAKE_CURRENT_SOURCE_DIR}/CMake/writepackageversion.cmake) include(CPack)