]> sigrok.org Git - libsigrokflow.git/blobdiff - configure.ac
Add initial tests/main.cpp (main Catch2 file).
[libsigrokflow.git] / configure.ac
index 0054d801ecd342d9b6d3e7eb29a38a22c63f6177..e637b683add06f362dbd1cf76abc06083532ae6c 100644 (file)
@@ -62,18 +62,37 @@ SR_LIB_VERSION_SET([SRF_LIB_VERSION], [0:0:0])
 # We require at least 0.22, as "Requires.private" behaviour changed there.
 PKG_PROG_PKG_CONFIG([0.22])
 
+# Keep track of all checked modules so we can list them at the end.
+SR_PKG_CHECK_SUMMARY([srf_pkglibs_summary])
+
+# Collect the pkg-config module names of all dependencies in SRF_PKGLIBS.
+# These are used to derive the compiler flags and for the "Requires.private"
+# field in the generated libsigrokflow.pc file.
+SR_VAR_OPT_PKG([SRF_PKGLIBS], [srf_deps_avail])
+
+SR_ARG_OPT_PKG([libsigrokcxx], [LIBSIGROKCXX], , [libsigrokcxx >= 0.5.1])
+SR_ARG_OPT_PKG([libsigrokdecode], [LIBSIGROKDECODE], , [libsigrokdecode >= 0.5.1])
+
 AC_LANG([C++])
-SR_ARG_ENABLE_WARNINGS([SRF_WXXFLAGS], [-Wall], [-Wall -Wextra])
+SR_ARG_ENABLE_WARNINGS([SRF_WXXFLAGS], [-Wall], [-Wall -Wextra -Wformat-security])
 
 # Check if the C++ compiler supports the C++11 standard.
 AX_CXX_COMPILE_STDCXX([11], [noext], [mandatory])
 
-SR_ARG_OPT_PKG([gstreamermm], [GSTREAMERMM], , [gstreamermm-1.0 >= 1.8.0])
-
 ##############################
 ##  Finalize configuration  ##
 ##############################
 
+# Add mandatory dependencies to module list.
+SR_APPEND([SRF_PKGLIBS], ['gstreamermm-1.0 >= 1.8.0'])
+AC_SUBST([SRF_PKGLIBS])
+
+# Retrieve the compile and link flags for all modules combined.
+# Also, bail out at this point if any module dependency is not met.
+PKG_CHECK_MODULES([LIBSIGROKFLOW], [$SRF_PKGLIBS])
+
+srf_gstreamermm_version=`$PKG_CONFIG --modversion gstreamermm-1.0 2>&AS_MESSAGE_LOG_FD`
+
 AC_CONFIG_FILES([Makefile libsigrokflow.pc])
 
 AC_OUTPUT
@@ -96,6 +115,9 @@ Compile configuration:
  - Linker flags.................... $LDFLAGS
 
 Detected libraries (required):
- - gstreamermm..................... $sr_gstreamermm_version
+ - gstreamermm >= 1.8.0 ........... $srf_gstreamermm_version
+
+Detected libraries (optional):
+$srf_pkglibs_summary
 
 _EOF