Libical API Documentation 4.0
|
Libical uses the CMake buildsystem
Please see the comments at the top of CMakeLists.txt for the available configuration options you can pass to cmake.
The installation directory defaults to /usr/local on UNIX and c:/Program Files on Windows. You can change this by passing -DCMAKE_INSTALL_PREFIX=/install/path to cmake.
To build a debug version pass -DCMAKE_BUILD_TYPE=Debug to cmake.
To build libical you will need:
Building on Unix with gcc or clang:
Building on Windows with MicroSoft Visual Studio: From a command prompt for the version of MSVC you want to use
NOTE: Some MSVC 32bit compilers (like MSVC2005) use a 64bit version of time_t. In these cases you must pass -DUSE_32BIT_TIME_T=true to cmake to make sure the 32bit version of time_t is used instead.
Building on Windows with mingw: Make sure you have the path to the MinGW programs in PATH% first, for example:
Building on Windows under Cygwin:
Building on MSYS with mingw:
To run the test suite, from inside the build directory run make test
(or nmake test
or mingw32-make test
)
To run the test suite in verbose mode, pass ARGS="-V" to the make command For example: nmake test ARGS="-V"
By default, the buildsystem creates shared(dynamic) and static versions of the libraries, but that behavior can be modified at CMake time:
For example, say you want to use Clang to build on Linux. Then you can set the C and C++ compilers at CMake time, like so:
A couple of necessary dependencies do not have their headers and development libraries linked into /usr/local/{include,lib} due to possible contamination with the operating system versions of the same name. This is known to be the case with libffi and libxml2
Fix is to export PKG_CONFIG_PATH so CMake can find them, as in:
For more information about building CMake projects on Android see https://developer.android.com/ndk/guides/cmake
libicu "International Components for Unicode" development libraries. Highly recommended for RSCALE support. libicu can be found at http://www.icu-project.org
If CMake doesn't locate your libicu installation try setting the ICU_ROOT or ICU_BASE environment variables to the top folder where libicu is installed and run cmake again.
Berkeley DB storage. Optional for the Berkeley Database storage support. The development toolkit can be found at https://www.oracle.com/database/berkeley-db
This code path has not been fully tested. Don't be surprised if there are bugs. Do NOT use for production code.
GObject Introspection. To generate GObject introspection "typelib" files pass the -DGOBJECT_INTROSPECTION=True option to cmake. You'll need to have the GObject Introspection development package v0.6.7 or higher installed beforehand.
Requires the GObject Introspection development package:
You can also force CMake to ignore any of the optional dependencies by passing the option -DCMAKE_DISABLE_FIND_PACKAGE_<PACKAGE>=True. For instance:
This C library can be built with bindings for these other languages:
Python bindings are built using gobject-introspection, which is enabled by passing -DGOBJECT_INTROSPECTION=True to cmake.
Requires the GObject Introspection development package (see above).
Don't forget to set (or append to, as needed) the GI_TYPELIB_PATH environment variable to $PREFIX/lib/girepository-1.0 (or $PREFIX/lib64/girepository-1.0).
Use these CMake options to adjust the library behavior as follows:
By default, the installation layout is according to the GNU standard installation directories.
You can override various installation folders by passing the following variables to cmake:
for example: cmake -DCMAKE_INSTALL_PREFIX=/opt -DCMAKE_INSTALL_LIBDIR=/opt/lib32 ..
Run make docs
to build the API documentation and reference.
Disable the docs make target by running cmake with -DICAL_BUILD_DOCS=False option. Disable the libical-glib developer documentation by running cmake with -DICAL_GLIB_BUILD_DOCS=False.
If you want to use vcpkg (in $VCPKG_ROOT) to build the dependencies as part of the project you can also tell CMake the vcpkg toolchain file with: "-DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake"
for example: if you have vcpkg installed in $HOME/vcpkg, then run cmake -DCMAKE_TOOLCHAIN_FILE=$HOME/vcpkg/scripts/buildsystems/vcpkg.cmake ..
Windows note: MSVC comes with vcpkg pre-installed and sets VCPKG_ROOT% for you. However, the only way to update that vcpkg version is by upgrading MSVC itself; which may not be what you want and may be too old. Consider installing your own vcpkg instead of relying on the MSVC vcpkg.
Non-Windows note: You'll need to pre-install autoconf, automake and autoconf-archive for icu. See VCPKG_ROOT%/p rts/icu/portfile.cmake for more info.