X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=CMakeLists.txt;h=b12f50c7304c81cb53b5c38a421cb1ea490279b8;hb=0f76477f61d6d837f01312f4c46d9c713a04a705;hp=ffea00ef56b2dd17061699ff5c93e7d839d858ed;hpb=723ac3f8c56bb5ed0b20f5911f6c449f114d35b6;p=pulseview.git diff --git a/CMakeLists.txt b/CMakeLists.txt index ffea00ef..b12f50c7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -75,14 +75,25 @@ add_subdirectory(manual) #------------------------------------------------------------------------------- include(CheckCSourceCompiles) +include(CheckCXXCompilerFlag) include(CheckCXXSourceCompiles) include(CMakePushCheckState) include(memaccess) find_package(PkgConfig) +check_cxx_compiler_flag("-std=c++17" PV_HAVE_C++17) + list(APPEND PKGDEPS glib-2.0>=2.28.0) -list(APPEND PKGDEPS glibmm-2.4>=2.28.0) + +# Try to find the prefered glibmm-2.4. If not found then add glibmm-2.68 +# to the dependency list. +pkg_check_modules(GLIBMM_2_4 glibmm-2.4>2.28.0) +if(GLIBMM_2_4_FOUND) + list(APPEND PKGDEPS glibmm-2.4>=2.28.0) +else() + list(APPEND PKGDEPS glibmm-2.68>=2.68.0) +endif() if(ENABLE_FLOW) list(APPEND PKGDEPS gstreamermm-1.0>=1.8.0) @@ -158,7 +169,13 @@ find_package(Threads REQUIRED) # Helper for checking for atomics function(check_working_cxx_atomics varname additional_lib) cmake_push_check_state() - set(CMAKE_REQUIRED_FLAGS "-std=c++11") + # The OSX 12 (Monteray) stdlib requires C++17 to compile. + if(APPLE AND PV_HAVE_C++17) + message(STATUS "Using C++17 for OSX build") + set(CMAKE_REQUIRED_FLAGS "-std=c++17") + else() + set(CMAKE_REQUIRED_FLAGS "-std=c++11") + endif() set(CMAKE_REQUIRED_LIBRARIES "${additional_lib}") set(CMAKE_REQUIRED_QUIET 1) CHECK_CXX_SOURCE_COMPILES(" @@ -226,7 +243,11 @@ memaccess_check_unaligned_le(HAVE_UNALIGNED_LITTLE_ENDIAN_ACCESS) set(PV_TITLE PulseView) set(PV_VERSION_STRING "0.5.0") -set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.4_VERSION}) +if(GLIBMM_2_4_FOUND) + set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.4_VERSION}) +else() + set(PV_GLIBMM_VERSION ${PKGDEPS_glibmm-2.68_VERSION}) +endif() include(GetGitRevisionDescription) @@ -487,7 +508,14 @@ qt5_add_resources(pulseview_RESOURCES_RCC ${CMAKE_BINARY_DIR}/translations.qrc) add_definitions(-DQT_NO_KEYWORDS) add_definitions(-D__STDC_LIMIT_MACROS) add_definitions(-Wall -Wextra) -add_definitions(-std=c++11) + +# The OSX 12 Monteray stdlib requires C++17 to compile. +if(APPLE AND PV_HAVE_C++17) + add_definitions(-std=c++17) +else() + add_definitions(-std=c++11) +endif() + add_definitions(-DBOOST_MATH_DISABLE_FLOAT128=1) if(WIN32) add_definitions(-Wa,-mbig-obj -O3)