From f043c6e955e1a7f3c553369730fae76ff63c011c Mon Sep 17 00:00:00 2001 From: mastertheknife Date: Thu, 3 Oct 2013 15:08:09 +0300 Subject: [PATCH] Changed perl paths again, this time to //perl5 and few improvements --- CMakeLists.txt | 4 +++- INSTALL | 1 + scripts/CMakeLists.txt | 35 ++++++++++++++----------------- scripts/ZoneMinder/CMakeLists.txt | 2 +- zoneminder-config.cmake | 5 ++++- 5 files changed, 25 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 32ad4cdfe..45a40fb77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,6 +74,7 @@ check_include_file("linux/videodev2.h" HAVE_LINUX_VIDEODEV2_H) check_include_file("execinfo.h" HAVE_EXECINFO_H) check_include_file("sys/sendfile.h" HAVE_SYS_SENDFILE_H) check_include_file("sys/syscall.h" HAVE_SYS_SYSCALL_H) +check_function_exists("syscall" HAVE_SYSCALL) check_function_exists("sendfile" HAVE_SENDFILE) check_function_exists("backtrace" HAVE_DECL_BACKTRACE) check_function_exists("posix_memalign" HAVE_POSIX_MEMALIGN) @@ -83,6 +84,7 @@ check_type_size("siginfo_t" SIGINFO_T) check_type_size("ucontext_t" UCONTEXT_T) check_type_size("struct sigcontext" STRUCT_SIGCONTEXT) check_struct_has_member("struct sigcontext" eip signal.h HAVE_STRUCT_SIGCONTEXT_EIP) +check_struct_has_member("struct sigcontext" rip signal.h HAVE_STRUCT_SIGCONTEXT_RIP) # *** LIBRARY CHECKS *** @@ -330,7 +332,7 @@ set(WEB_PREFIX "${ZM_WEBDIR}") set(CGI_PREFIX "${ZM_CGIDIR}") set(WEB_USER "${ZM_WEB_USER}") set(WEB_GROUP "${ZM_WEB_GROUP}") -set(EXTRA_PERL_LIB "use lib '${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/zoneminder/perl5';") +set(EXTRA_PERL_LIB "use lib '${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/perl5';") # Generate files from the .in files configure_file(zoneminder-config.cmake config.h @ONLY) diff --git a/INSTALL b/INSTALL index 30edf274f..90aa0b25b 100644 --- a/INSTALL +++ b/INSTALL @@ -9,6 +9,7 @@ cmake is an alternative to the autotools collection (libtool, autoconf, automake * Newer than autotools and is being actively developed. * Generates colored makefiles with progress indicator. * Slightly faster because its based on C and not bash. +* Lots of documentation, unlike autotools: http://www.cmake.org/cmake/help/cmake2.6docs.html At this point, its still possible to use autotools for the ZoneMinder project. Choosing cmake or autotools is now a matter of preference. Hopefully in the future, cmake will become the default way to install ZoneMinder. diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt index 055632422..2cf639806 100644 --- a/scripts/CMakeLists.txt +++ b/scripts/CMakeLists.txt @@ -3,25 +3,22 @@ # Process the perl modules subdirectory add_subdirectory(ZoneMinder ZoneMinder) -# Create the directory for the final files to be copied -file(MAKE_DIRECTORY output) - # Create files from the .in files -configure_file(zmaudit.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmaudit.pl @ONLY) -configure_file(zmcontrol.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmcontrol.pl @ONLY) -configure_file(zmdc.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmdc.pl @ONLY) -configure_file(zmfilter.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmfilter.pl @ONLY) -configure_file(zmpkg.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmpkg.pl @ONLY) -configure_file(zmtrack.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmtrack.pl @ONLY) -configure_file(zmtrigger.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmtrigger.pl @ONLY) -configure_file(zmupdate.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmupdate.pl @ONLY) -configure_file(zmvideo.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmvideo.pl @ONLY) -configure_file(zmwatch.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmwatch.pl @ONLY) -configure_file(zmx10.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmx10.pl @ONLY) -#configure_file(zmdbbackup.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmdbbackup @ONLY) -#configure_file(zmdbrestore.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmdbrestore @ONLY) -#configure_file(zm.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zm @ONLY) -#configure_file(zmeventdump.in ${CMAKE_CURRENT_SOURCE_DIR}/output/zmeventdump @ONLY) +configure_file(zmaudit.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmaudit.pl @ONLY) +configure_file(zmcontrol.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmcontrol.pl @ONLY) +configure_file(zmdc.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmdc.pl @ONLY) +configure_file(zmfilter.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmfilter.pl @ONLY) +configure_file(zmpkg.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmpkg.pl @ONLY) +configure_file(zmtrack.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmtrack.pl @ONLY) +configure_file(zmtrigger.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmtrigger.pl @ONLY) +configure_file(zmupdate.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmupdate.pl @ONLY) +configure_file(zmvideo.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmvideo.pl @ONLY) +configure_file(zmwatch.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmwatch.pl @ONLY) +configure_file(zmx10.pl.in ${CMAKE_CURRENT_SOURCE_DIR}/zmx10.pl @ONLY) +#configure_file(zmdbbackup.in ${CMAKE_CURRENT_SOURCE_DIR}/zmdbbackup @ONLY) +#configure_file(zmdbrestore.in ${CMAKE_CURRENT_SOURCE_DIR}/zmdbrestore @ONLY) +#configure_file(zm.in ${CMAKE_CURRENT_SOURCE_DIR}/zm @ONLY) +#configure_file(zmeventdump.in ${CMAKE_CURRENT_SOURCE_DIR}/zmeventdump @ONLY) # Install the perl scripts -install(DIRECTORY output/ DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" FILE_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) +install(FILES zmaudit.pl zmcontrol.pl zmdc.pl zmfilter.pl zmpkg.pl zmtrack.pl zmtrigger.pl zmupdate.pl zmvideo.pl zmwatch.pl zmx10.pl DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}" FILE_PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) diff --git a/scripts/ZoneMinder/CMakeLists.txt b/scripts/ZoneMinder/CMakeLists.txt index 69461a4fa..cfaa875ef 100644 --- a/scripts/ZoneMinder/CMakeLists.txt +++ b/scripts/ZoneMinder/CMakeLists.txt @@ -7,7 +7,7 @@ configure_file(lib/ZoneMinder/Memory.pm.in ${CMAKE_CURRENT_SOURCE_DIR}/lib/ZoneM configure_file(lib/ZoneMinder/ConfigData.pm.in ${CMAKE_CURRENT_SOURCE_DIR}/lib/ZoneMinder/ConfigData.pm @ONLY) # Add build target for the perl modules -add_custom_target(zmperlmodules ALL perl Makefile.PL FIRST_MAKEFILE=MakefilePerl INSTALL_BASE=output INSTALLPRIVLIB="output/${CMAKE_INSTALL_DATADIR}/zoneminder/perl5" INSTALLARCHLIB="optout/${CMAKE_INSTALL_DATADIR}/zoneminder/perl5/arch" INSTALLSITELIB="output/${CMAKE_INSTALL_DATADIR}/zoneminder/perl5" INSTALLSITEARCH="optout/${CMAKE_INSTALL_DATADIR}/zoneminder/perl5/arch" COMMAND make --makefile=MakefilePerl COMMAND make --makefile=MakefilePerl pure_install COMMENT "Building ZoneMinder perl modules") +add_custom_target(zmperlmodules ALL perl Makefile.PL FIRST_MAKEFILE=MakefilePerl INSTALL_BASE=output INSTALLPRIVLIB="output/${CMAKE_INSTALL_LIBDIR}/perl5" INSTALLARCHLIB="optout/${CMAKE_INSTALL_LIBDIR}/perl5/arch" INSTALLSITELIB="output/${CMAKE_INSTALL_LIBDIR}/perl5" INSTALLSITEARCH="optout/${CMAKE_INSTALL_LIBDIR}/perl5/arch" COMMAND make --makefile=MakefilePerl COMMAND make --makefile=MakefilePerl pure_install COMMENT "Building ZoneMinder perl modules") # Add install target for the perl modules install(DIRECTORY output/ DESTINATION "${CMAKE_INSTALL_PREFIX}") diff --git a/zoneminder-config.cmake b/zoneminder-config.cmake index 698d9dcbb..3464d14a0 100644 --- a/zoneminder-config.cmake +++ b/zoneminder-config.cmake @@ -9,6 +9,7 @@ #cmakedefine HAVE_EXECINFO_H 1 #cmakedefine HAVE_SYS_SENDFILE_H 1 #cmakedefine HAVE_SYS_SYSCALL_H 1 +#cmakedefine HAVE_SYSCALL 1 #cmakedefine HAVE_SENDFILE 1 #cmakedefine HAVE_DECL_BACKTRACE 1 #cmakedefine HAVE_POSIX_MEMALIGN 1 @@ -18,9 +19,9 @@ #cmakedefine HAVE_UCONTEXT_T 1 #cmakedefine HAVE_STRUCT_SIGCONTEXT 1 #cmakedefine HAVE_STRUCT_SIGCONTEXT_EIP 1 +#cmakedefine HAVE_STRUCT_SIGCONTEXT_RIP 1 /* Library checks and their header files */ - #cmakedefine HAVE_LIBZLIB 1 #cmakedefine HAVE_ZLIB_H 1 #cmakedefine HAVE_LIBJPEG 1 @@ -52,6 +53,8 @@ #cmakedefine HAVE_LIBSWSCALE_SWSCALE_H 1 /* Authenication checks */ +#cmakedefine HAVE_MD5_OPENSSL 1 +#cmakedefine HAVE_MD5_GNUTLS 1 #cmakedefine HAVE_DECL_MD5 1 #cmakedefine HAVE_DECL_GNUTLS_FINGERPRINT 1