"Fossies" - the Fresh Open Source Software Archive

Member "sarg-2.4.0/README_cmake" (25 Jun 2014, 6945 Bytes) of package /linux/privat/sarg-2.4.0.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1 WHY SWITCH TO CMAKE
    2 
    3 I (Frederic Marchal) could not make the autotools work with msys+mingw. The
    4 choices reduced to: fight some more time with the autotools; wait until the msys
    5 port evolved or switch to cmake. Despite not being familiar with cmake, I
    6 decided to give it a chance and was surprised to come up  within a few hours
    7 with something capable of compiling sarg.
    8 
    9 Now, that doesn't mean that the autotools are to be discarded on the spot. The
   10 two systems may coexist for some times especially since it is my first project
   11 with cmake and I'm sure it is done in an definitely autotoolistic way.
   12 
   13 Any comment about the usage of cmake is welcome.
   14 
   15 
   16 
   17 
   18 CONFIGURING SARG
   19 
   20 It is recommended to build sarg out of the source directory. It makes it easier
   21 to delete the build directory completely and restart the configuration from
   22 scratch if the first attempt doesn't produce the expected result.
   23 
   24 If you intent to use both cmake and the autotools, then you MUST build sarg out
   25 of the source directory as it will overwrite the original stub config.h in the
   26 source directory and you won't be able to use the autotools afterward.
   27 
   28 To build sarg out of source, create a build directory and cd into that directory.
   29 For instance, assuming your prompt is in the source directory, run
   30 
   31  mkdir build
   32  cd build
   33 
   34 Configure sarg with the command (assuming the case of a build directory one level
   35 below the sources of sarg):
   36 
   37  ccmake ..
   38 
   39 On the first run, it will report that the cache is empty. Press 'c' to configure
   40 the cache. Then ccmake will display an interface to select some configuration
   41 options. You should set the CMAKE_INSTALL_PREFIX to the root of the directory to
   42 install sarg, for instance: /usr. You may also need to change SYSCONFDIR to
   43 /etc/sarg to install the configuration files at that location.
   44 
   45 Then press 'c' again to reconfigure sarg. Four more configuration variables
   46 appear. They are build from the paths you provided for the installation
   47 directories of the components. These are the absolute paths sarg will use to
   48 find the corresponding files. You then have the opportunity to adjust them if
   49 the final location of the files it not what is resolved with the installed
   50 configuration.
   51 
   52 Finally, press 'g' to generate the final configuration.
   53 
   54 Compile with
   55 
   56  make
   57 
   58 Install with
   59 
   60  make install
   61 
   62 
   63 
   64 
   65 CONFIGURATION VARIABLES
   66 
   67 These configuration variables are available on the first configuration run.
   68 
   69    CMAKE_INSTALL_PREFIX - The root of the installation.
   70       default: /usr/local
   71 
   72    SYSCONFDIR - The directory with the configuration files relative to the
   73                 installation prefix.
   74       default: etc/sarg
   75 
   76    BINDIR - The directory to copy sarg executable to.
   77       default: bin
   78 
   79    MANDIR - The directory to install the man page.
   80       default: share/man
   81 
   82    FONTDIR - The directory where the fonts for the reports are located.
   83       default: share/sarg/fonts
   84 
   85    IMAGEDIR - The directory containing the images to use in the reports.
   86       default: share/sarg/images
   87 
   88    SARGPHPDIR - The directory to install sarg-php.
   89       default: share/sarg/sarg-php
   90 
   91    ENABLE_EXTRA_PROTECT - Compile sarg with some GCC options to increase the
   92               security (tolerate no compilation warning, use the stack smashing
   93               protection, improved printf check, and so on).
   94       default: use standard warnings and no protection.
   95 
   96 These variables are initialized with the values of the above variables and are
   97 available on the second run.
   98 
   99    SYSCONFDIR_SOURCE - The full path to the configuration files to compile in
  100                        sarg.
  101       default: CMAKE_INSTALL_PREFIX/SYSCONFDIR
  102 
  103    FONTDIR_SOURCE - The full path to the fonts to compile in sarg.
  104       default: CMAKE_INSTALL_PREFIX/FONTDIR
  105 
  106    IMAGEDIR_SOURCE - The full path to the images to compile in sarg.
  107       default: CMAKE_INSTALL_PREFIX/IMAGEDIR
  108 
  109 There are other configuration variables whose documentation is visible during the
  110 configuration with ccmake.
  111 
  112 
  113 
  114 
  115 COMPILATION WITH MSYS+MINGW
  116 
  117 The autotools don't compile sarg with msys. You have to use cmake in an msys
  118 terminal.
  119 
  120 If cmake is not already installed on your system, download and uncompress the
  121 cmake sources in your home directory then run the following commands in an msys
  122 terminal:
  123 
  124  configure
  125  make
  126  make install
  127 
  128 Permanently add the path to cmake.exe by appending this line at the end of your
  129 profile file (c:/msys/1.0/etc/profile):
  130 
  131  export PATH="$PATH:/c/Program files/CMake/bin"
  132 
  133 Reopen the msys terminal or run the above command in the same terminal to
  134 register the new path.
  135 
  136 Get the sources of sarg and uncompress them in your home directory. Let's assume
  137 they are in a directory named "sarg".
  138 
  139 Create a separate build directory and change to that directory. For instance,
  140 assuming your prompt is in the sarg directory, run the following commands:
  141 
  142  mkdir build
  143  cd build
  144 
  145 Configure, compile and install sarg:
  146 
  147  cmake .. -G "MSYS Makefiles"
  148  make
  149  make install
  150 
  151 This will compile sarg outside of the sources and install it in c:\Program
  152 Files\sarg.
  153 
  154 If the compilation fails because mkstemp cannot be found, ensure that the LIB
  155 and INCLUDE environment variables are set properly to the lib and include
  156 directories of mingw. For instance, type the following two commands and run make
  157 again:
  158 
  159  export LIB=c:/mingw/lib
  160  export INCLUDE=c:/mingw/include
  161 
  162 You can make them permanent by appending those two commands at the end of the
  163 profile file in c:/msys/1.0/etc/profile.
  164 
  165 
  166 
  167 
  168 CONFIGURING SARG TO RUN ON WINDOWS
  169 
  170 Cmake install a sample configuration file in c:/Program
  171 Files/sarg/etc/sarg/sarg.conf.exemple. Rename it as sarg.conf and edit it.
  172 
  173 You must change the following options:
  174 
  175  access_log c:/Program Files/sarg/log/access.log
  176  temporary_dir c:/Program Files/sarg/tmp
  177  output_dir c:/Program Files/sarg/www/squid-reports
  178 
  179 Adjust and create the directories according to your configuration.
  180 
  181 You may have to adjust other options to suit your needs.
  182 
  183 If sarg complains about a missing sort command, then you have to install
  184 the unxtools or run sarg from msys.
  185 
  186 If you want to run sarg from a regular dos prompt, download UnxUtils.zip from
  187 http://unxutils.sourceforge.net/ and uncompress it somewhere. Change the system
  188 path to include the usr\local\wbin directory before the Windows system
  189 directory.
  190 
  191 You must be sure that the unxutils are found before the windows native commands.
  192 To check this, open a dos prompt and type
  193 
  194 ls
  195 
  196 If it list the content of the directory, then the unxutils are found. Then type
  197 
  198 sort --help
  199 
  200 It should display the help of the sort command if the unxutils command is found
  201 first. If the windows command is found first, it will complain that the --help
  202 file cannot be found.
  203 
  204 Finally, if sort complains that it cannot write in the /tmp directory, either
  205 create that directory or set TMPDIR like this:
  206 
  207  set TMPDIR=c:/Program Files/sarg/tmp
  208 
  209 It may be set to your TMP or TEMP directory or the temporary directory you named
  210 in your sarg.conf file.