X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=CMakeLists.txt;h=bd0ac5cf0c5b5bca45e43b1891636d1eb3136ac6;hp=e7d0bf5f1f3a1f9ca19eaa7e4ecc61ae66913aed;hb=f058e273becb663ff89e022924c31a144c30e21f;hpb=b2d9be03f533ec9800b9b35447ab4502807eada5 diff --git a/CMakeLists.txt b/CMakeLists.txt index e7d0bf5f..bd0ac5cf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -40,10 +40,11 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake") #= User Options #------------------------------------------------------------------------------- -option(DISABLE_WERROR "Build without -Werror" FALSE) +option(DISABLE_WERROR "Build without -Werror" TRUE) option(ENABLE_SIGNALS "Build with UNIX signals" TRUE) option(ENABLE_STACKTRACE "Enable stack trace when crashing" FALSE) option(ENABLE_DECODE "Build with libsigrokdecode" TRUE) +option(ENABLE_FLOW "Build with libsigrokflow" FALSE) option(ENABLE_TESTS "Enable unit tests" FALSE) option(STATIC_PKGDEPS_LIBS "Statically link to (pkg-config) libraries" FALSE) @@ -62,6 +63,12 @@ if(NOT CMAKE_BUILD_TYPE) FORCE) endif() +#=============================================================================== +#= Documentation +#------------------------------------------------------------------------------- + +add_subdirectory(manual) + #=============================================================================== #= Dependencies #------------------------------------------------------------------------------- @@ -69,10 +76,16 @@ endif() list(APPEND PKGDEPS glib-2.0>=2.28.0) list(APPEND PKGDEPS glibmm-2.4>=2.28.0) -list(APPEND PKGDEPS libsigrokcxx>=0.6.0) +if(ENABLE_FLOW) + list(APPEND PKGDEPS gstreamermm-1.0>=1.8.0) + list(APPEND PKGDEPS libsigrokflow>=0.1.0) +endif() + +set(LIBSR_CXX_BINDING "libsigrokcxx>=0.5.1") +list(APPEND PKGDEPS "${LIBSR_CXX_BINDING}") if(ENABLE_DECODE) - list(APPEND PKGDEPS libsigrokdecode>=0.6.0) + list(APPEND PKGDEPS libsigrokdecode>=0.5.2) endif() if(ANDROID) @@ -80,6 +93,10 @@ if(ANDROID) endif() find_package(PkgConfig) +pkg_check_modules(LIBSRCXX ${LIBSR_CXX_BINDING}) +if(NOT LIBSRCXX_FOUND OR NOT LIBSRCXX_VERSION) + message(FATAL_ERROR "libsigrok C++ bindings missing, check libsigrok's 'configure' output (missing dependencies?)") +endif() pkg_check_modules(PKGDEPS REQUIRED ${PKGDEPS}) set(CMAKE_AUTOMOC TRUE) @@ -186,6 +203,12 @@ if(NOT PV_TAG_VERSION_STRING) string(SUBSTRING "${PV_HASH}" 0 7 PV_SHORTHASH) set(PV_VERSION_STRING "${PV_VERSION_STRING}-git-${PV_SHORTHASH}") endif() + + # Non-tagged releases use the unstable manual + set(PV_MANUAL_VERSION "unstable") +else() + # Tagged releases use a fixed manual version + set(PV_MANUAL_VERSION ${PV_VERSION_STRING}) endif() if(PV_VERSION_STRING MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-[-0-9a-z]*)?$") @@ -195,7 +218,7 @@ if(PV_VERSION_STRING MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-[-0-9a-z]*)?$") set(PV_VERSION_SUFFIX ${CMAKE_MATCH_4}) endif() -message("-- ${PV_TITLE} version: ${PV_VERSION_STRING}") +message(STATUS "${PV_TITLE} version: ${PV_VERSION_STRING}") configure_file ( ${PROJECT_SOURCE_DIR}/config.h.in @@ -397,6 +420,10 @@ add_definitions(-Wall -Wextra) add_definitions(-std=c++11) add_definitions(-DBOOST_MATH_DISABLE_FLOAT128=1) +if(ENABLE_FLOW) + add_definitions(-DENABLE_FLOW) +endif() + if(ENABLE_DECODE) add_definitions(-DENABLE_DECODE) endif()