]> sigrok.org Git - pulseview.git/commit
CMakeLists.txt: always use highest available C++17/C++14/C++11 standard
authorGerhard Sittig <redacted>
Thu, 24 Nov 2022 13:48:00 +0000 (14:48 +0100)
committerGerhard Sittig <redacted>
Wed, 30 Nov 2022 08:11:05 +0000 (09:11 +0100)
commitfa8d0fcb4cff4f19943fe3ff152dc1428b400b01
treee1c4a495ced594fde3ace9c46b59a71a4aa063a4
parent0f76477f61d6d837f01312f4c46d9c713a04a705
CMakeLists.txt: always use highest available C++17/C++14/C++11 standard

Check for the availability of the C++17, C++14, and C++11 language
standards. Prefer the highest available to build any of the feature
tests or applications. Factor out common conditions into a central spot
in the CMake build rules. Rename variables to avoid special chars in
their name.

Setup both the CMAKE_CXX_STANDARD cmake variable which internally is
used transparently, as well explicitly pass the -std= compile flag in
build instructions for feature checks and application code. It's what
the smuview build does, should also work for pulseview, and is assumed
to not harm either in case it's redundant.

This unbreaks operation in most generic ways on platforms like MacOS 12
(system library), and for external libraries of differing degrees of
aggressivness (boost, glibmm, sig++).
CMakeLists.txt