Commit Graph

359 Commits (0589ec29c4fdd194e1323b04fa87ef52d061c2ed)

Author SHA1 Message Date
Andrew Bauer 700c672cbd update ZM_TARGET_DISTRO description 2023-01-29 14:49:54 -06:00
Andrew Bauer 99a5e3b764 replace php Memcached with Apc on Fedora 2022-10-27 08:32:04 -05:00
Isaac Connor 7ab61ddce2 Use uppercase standardized names for MOSQUITTO and MOSTQUITTOPP 2022-08-26 09:37:37 -04:00
Isaac Connor 29750a56e7 Merge branch 'master' into add_mqtt 2022-08-25 18:37:54 -04:00
Doug Nazar cfa4cdc9a3 Use add_compile_options instead of add_compile_definitions
add_compile_definitions is not available until version 3.12.
2022-07-22 11:05:14 -04:00
Isaac Connor 95530a4f7d
Merge pull request #3529 from dougnazar/fix_printf_formats
Fix printf formats & enable large file support for 32-bit
2022-07-20 11:44:26 -07:00
Doug Nazar ca1cca2ff4 Add _FILE_OFFSET_BITS=64 define to enable large file support on 32-bit. 2022-07-16 03:20:20 -04:00
Doug Nazar 02a79f79f0 Add option to disable auto detection of systemd. 2022-07-16 03:12:27 -04:00
Isaac Connor dd1ee09994 Set C++ standard to 17 2022-07-14 17:48:12 -04:00
Isaac Connor bd501b38ca Include libavdevice so that we can use v4l2 inputs in ffmpeg monitor type. 2022-04-18 18:04:25 -04:00
Isaac Connor 81cdda7def Add Mosquitto and Mosquittopp library detection 2022-03-21 16:08:13 -04:00
Isaac Connor 133553e630 Revert "Merge pull request #3119 from Carbenium/fmt"
This reverts commit 90d930c7c3, reversing
changes made to 0bcb9d276f.
2022-02-27 14:05:14 -05:00
Isaac Connor 46c43ca508 Revert "Fix fmt=>Fmt and add it's libs to list of libraries to link to"
This reverts commit d5101ef32a.
2022-02-27 13:46:52 -05:00
Isaac Connor d5101ef32a Fix fmt=>Fmt and add it's libs to list of libraries to link to 2022-02-27 10:41:40 -05:00
Isaac Connor cad57df0bb
Merge branch 'master' into fmt 2022-02-26 13:56:20 -05:00
Isaac Connor d056f15e54 Add arp-scan to executable for use in network probing for cameras. 2022-02-07 12:32:16 -05:00
Jonathan Bennett ec9403fb6f Adds Amcrest On-camera Motion Detection 2022-01-25 22:38:00 -06:00
Jonathan Bennett 3a9c16aeea First working Janus build 2022-01-10 23:22:37 -06:00
Jonathan Bennett 1333d8c751 Adds ONVIF Motion Detection Support 2022-01-06 16:45:15 -06:00
Isaac Connor 67556430c6 Add option ZM_NO_PCRE to disable testing for libpcre3. debian wants to remove it so this allows us to test building without it. Remove libpcre3 from depends and set ZM_NO_PCRE=ON in debian build config 2021-11-24 12:44:07 -05:00
Isaac Connor a2ae63cefe
Merge branch 'master' into fmt 2021-11-16 15:10:45 -05:00
Peter Keresztes Schmidt 6e96cbe14a Misc: Merge ZM_HAS_V4L with ZM_HAS_V4L2 2021-09-08 00:19:08 +02:00
Peter Keresztes Schmidt c83882a4c7 Build: Move V4L2 detection into its own module
Improves detection across different platforms (esp. FreeBSD) since system paths are automatically taken into account (this is in contrast to check_include_file).
2021-09-08 00:18:24 +02:00
Andrew Bauer b59e911c43 Allow cakephp cache engine to be set during build 2021-06-18 12:12:01 -05:00
Peter Keresztes Schmidt 0d81199fc9 Build: Require at least FFmpeg 3.2 (libavutil 55.34.100) 2021-06-05 20:40:12 +02:00
Peter Keresztes Schmidt 5c96eedac8 Build: Remove dependency on libavdevice
We currently don't use the library so don't depend on it.
2021-06-05 15:08:38 +02:00
Peter Keresztes Schmidt 3d34e6f177 Build: Promote libswresample to a required dependency
FFmpeg is an integral component of ZM. Promote the appropriate libraries to required dependencies.
This reduces the possible build configurations greatly and thus maintenance burden.
2021-06-05 14:27:42 +02:00
Peter Keresztes Schmidt 762476ec76 Build: Promote libswscale to a required dependency
FFmpeg is an integral component of ZM. Promote the appropriate libraries to required dependencies.
This reduces the possible build configurations greatly and thus maintenance burden.
2021-06-05 14:27:31 +02:00
Peter Keresztes Schmidt a9ad5c5eee Build: Promote libavcodec to a required dependency
FFmpeg is an integral component of ZM. Promote the appropriate libraries to required dependencies.
This reduces the possible build configurations greatly and thus maintenance burden.
2021-06-05 14:25:54 +02:00
Peter Keresztes Schmidt 7d15396833 Build: Promote libavformat to a required dependency
FFmpeg is an integral component of ZM. Promote the appropriate libraries to required dependencies.
This reduces the possible build configurations greatly and thus maintenance burden.
2021-06-05 14:25:27 +02:00
Peter Keresztes Schmidt 1a6904a297 Build: Promote libavutil to a required dependency
FFmpeg is an integral component of ZM. Promote the appropriate libraries to required dependencies.
This reduces the possible build configurations greatly and thus maintenance burden.
2021-06-05 14:21:41 +02:00
Peter Keresztes Schmidt 7d501a6585 Remove libavresample support
libavresample hasn't been maintained for a long time by FFmpeg since libswresample superseded it.
In 2018 it was officially deprecated [1].

Let's remove the support for it since there is no need to maintain this option further.

[1] https://patchwork.ffmpeg.org/project/ffmpeg/patch/20171225175335.18183-1-atomnuker@gmail.com/
2021-06-04 23:46:58 +02:00
Peter Keresztes Schmidt 32f139ef7f Build: Use FFmpeg package CMake module 2021-06-04 23:18:30 +02:00
Peter Keresztes Schmidt 7ec37405a6 Build: Don't include unused CheckStructHasMember module 2021-06-01 08:43:49 +02:00
Peter Keresztes Schmidt e724a93395 Build: Remove in-tree version of CheckPrototypeDefinition
We currently don't use the module and all supported CMake versions ship this module if needed.
2021-06-01 08:41:44 +02:00
Peter Keresztes Schmidt f2bee0704a LocalCamera: Remove support for V4L1
Kernel support for Video4Linux 1 was removed in 2.6.38 (March 2011). It's time to drop support on our side.
2021-05-31 23:29:29 +02:00
Peter Keresztes Schmidt 8129600a37 Build: Cleanup gnutls/openssl defines
We only need HAVE_LIBGNUTLS and HAVE_LIBOPENSSL to compile the right crypto backend.
2021-05-30 22:56:21 +02:00
Peter Keresztes Schmidt 45654cb514 Build: Make the JWT backend selectable
Introduce the -DZM_JWT_BACKEND CMake option through which the JWT backend can be selected.
Supported values: jwt_cpp (default; in-tree) and libjwt

When libjwt is chosen ZM_CRYPTO_BACKEND is taken into account to select the corresponding flavour of libjwt.
2021-05-29 21:37:30 +02:00
Peter Keresztes Schmidt caadc41bfd Build: Make the crypto backend selectable
Introduce the -DZM_CRYPTO_BACKEND CMake option through which the crypto backend can be selected.
Supported values: openssl (default) and gnutls

This commit makes OpenSSL or GnuTLS a requirement to compile/run ZoneMinder.

Following restriction applies:
  * If libjwt is not found we fall back to jwt-cpp which only supports OpenSSL
2021-05-29 21:37:30 +02:00
Peter Keresztes Schmidt b81689aa3f Remove libgcrypt as dependency
GnuTLS used gcrypt as backend but switched in ~2011 to nettle.
Thus we don't need to/shouldn't depend on it.
2021-05-29 21:37:30 +02:00
Peter Keresztes Schmidt bf08502b9c Build: Add CMake option to enable Werror
With -DENABLE_WERROR the -Werror flag will be passed to the compiler failing the build if a warning is emitted.
2021-05-01 00:07:12 +02:00
Peter Keresztes Schmidt 3b705c15fe build: Store all generated sources in CMAKE_BINARY_DIR
config.h is already generated there so move zm_config_data.h and zm_config_define.h
there as well. Also limit the scope of CMAKE_BINARY_DIR as include directory to the zm target.
All in all this makes zm_config_data and zm_config_define available when building the tests target.
2021-04-11 01:28:23 +02:00
Isaac Connor 0da9ee2e4c Remove live555 detection 2021-03-11 08:08:01 -05:00
Peter Keresztes Schmidt 1a6b26f2ab build: Add fmt as a required dependency 2021-03-01 22:43:02 +01:00
Peter Keresztes Schmidt c33b5a4393 Move in-tree dependencies to their own folder
src/ should only contain our code. Move the in-tree dependencies to dep/
This allows us (if necessary) to e.g. exclude that part of the tree from being analyzed by
various tools or mark it as external code in IDEs.
2021-02-28 02:12:07 +01:00
Peter Keresztes Schmidt 866bcc9518 build: Cleanup CMakeLists.txt of libbcrypt
Remove unnecessary cruft and make sure it uses our compile options as dictated by zm-dependency-interface.
An additional step towards a warning-free compile.

Define __SKIP_GNU on BSD since they have their own bcrypt implementation.
2021-02-28 02:12:07 +01:00
Peter Keresztes Schmidt 4c07bf5aae Build: Add ThreadSanitizer (TSan) support
Enable it by setting -DTSAN=1
This setting is mutually exclusive with -DASAN
2021-02-11 00:38:31 +01:00
Peter Keresztes Schmidt 426cace32e Build: Raise required CMake version to 3.5.0
This is the version found in Xenial which is the oldest we support.
2021-02-09 13:20:27 +01:00
Peter Keresztes Schmidt 424e6e14f6 Build: Add -DASAN option to build with AddressSanitizer support
Use this option only for debugging purposes.
2021-02-08 23:13:31 +01:00
Peter Keresztes Schmidt 825ca07561 Build: Use zm-* interfaces to set cxx standard and warning flags 2021-02-08 23:08:22 +01:00