Commit 36102ee2 authored by Nicolas Mora's avatar Nicolas Mora

Initial commit


Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

;; -*- emacs-lisp -*-
((c-mode . ((c-basic-offset . 4)
(indent-tabs-mode . nil)
(tab-width . 4))))
CHECKSETS foss,c++
EXCLUDE dpointer
EXTRA crud,camelcase
EXTRA style
#Skip foo_export.h
SKIP libical_.*_export\.h
#Skip examples
SKIP /examples/
#For now skip java
SKIP /java/
#For now skip python
SKIP /python/
#For now skip perl
SKIP /Net-ICal-Libical/
#Skip ancient Apple files
SKIP /src/libicalvcal/port\.h
SKIP /src/libicalvcal/vcaltmp\.
SKIP /src/libicalvcal/vcc\.
SKIP /src/libicalvcal/vobject\.
#Skip contributed files
SKIP /src/libical/astime\.h
SKIP /src/libical/caldate\.c
SKIP /cmake/modules/GObjectIntrospectionMacros\.cmake|/cmake/modules/FindGObjectIntrospection\.cmake
SKIP /doc/Doxyfile\.cmake
SKIP /cmake/Toolchain-iOS.cmake|/cmake/Toolchain-QNX65.cmake|/cmake/Toolchain-QNX66.cmake|/cmake/Toolchain-android.cmake
#Skip zoneinfo
SKIP /zoneinfo/
- secure: "NlWO/NTPlOU6cowOMuPOvjAprXVwIjmpHHf9CoMR71E2c/eBFFKIHj10kXuyFwz2KihHAIExmo9OlGtGniNWobvIrVrabO3dsOSb6UGbPAQkzQiyQLKsDNQAZx3nMuWEKBtMsVRee6rd7/2uGTY4WB5Ot3VhrUYcN1FoRgQQ9gk="
- PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig # needed to find homebrew's libffi on osx
- linux
- osx
before_install: ./scripts/
language: c
- gcc
- clang
script: mkdir build && cd build && cmake -DICAL_GLIB=true -DCMAKE_BUILD_TYPE=Release .. && make && make test
- george-edison55-precise-backports # cmake 3.2.3 / doxygen 1.8.3
- cmake
- cmake-data
name: libical/libical
description: "Libical is an Open Source implementation of the iCalendar protocols and protocol data units."
build_command_prepend: cd build && cmake ..
build_command: make
branch_pattern: coverity_scan
There are now far too many contributors to libical to list here.
Thanks to everyone involved!
This diff is collapsed.
libical is distributed under two licenses.
You may choose the terms of either:
* The Mozilla Public License (MPL) v2.0
* The GNU Lesser General Public License (LGPL) v2.1
Software distributed under these licenses is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing rights
and limitations under the License.
The Original Code is libical.
The Initial Developer of the Original Code is Eric Busboom
All Rights Reserved.
Contributor(s): See individual source files.
check_include_files(byteswap.h HAVE_BYTESWAP_H)
check_include_files(dirent.h HAVE_DIRENT_H)
check_include_files(endian.h HAVE_ENDIAN_H)
check_include_files(inttypes.h HAVE_INTTYPES_H)
check_include_files(pthread.h HAVE_PTHREAD_H)
check_include_files(sys/endian.h HAVE_SYS_ENDIAN_H)
check_include_files(sys/param.h HAVE_SYS_PARAM_H)
check_include_files(sys/utsname.h HAVE_SYS_UTSNAME_H)
check_include_files(fcntl.h HAVE_FCNTL_H)
check_include_files(unistd.h HAVE_UNISTD_H)
check_include_files(wctype.h HAVE_WCTYPE_H)
check_function_exists(_access HAVE__ACCESS) #Windows <io.h>
check_function_exists(_getpid HAVE__GETPID) #Windows <process.h>
check_function_exists(_mkdir HAVE__MKDIR) #Windows <direct.h>
check_function_exists(_open HAVE__OPEN) #Windows <io.h>
check_function_exists(_snprintf HAVE__SNPRINTF) #Windows <stdio.h>
check_function_exists(_stat HAVE__STAT) #Windows <sys/types.h>,<sys/stat.h>
check_function_exists(_strdup HAVE__STRDUP) #Windows <string.h>
check_function_exists(_stricmp HAVE__STRICMP) #Windows <string.h>
check_function_exists(_strnicmp HAVE__STRNICMP) #Windows <string.h>
check_function_exists(_read HAVE__READ) #Windows <io.h>
check_function_exists(_write HAVE__WRITE) #Windows <io.h>
check_function_exists(access HAVE_ACCESS) #Unix <unistd.h>
check_function_exists(fork HAVE_FORK) #Unix <unistd.h>
check_function_exists(getopt HAVE_GETOPT) #Unix <unistd.h>
check_function_exists(getpid HAVE_GETPID) #Unix <unistd.h>
check_function_exists(getpwent HAVE_GETPWENT) #Unix <sys/types.h>,<pwd.h>
check_function_exists(gmtime_r HAVE_GMTIME_R) #Unix <time.h>
check_function_exists(localtime_r HAVE_LOCALTIME_R) #Unix <time.h>
check_function_exists(mkdir HAVE_MKDIR) #Unix <sys/stat.h>,<sys/types.h>
check_function_exists(open HAVE_OPEN) #Unix <sys/stat.h>,<sys/types.h>,<fcntl.h>
check_function_exists(nanosleep HAVE_NANOSLEEP) #Unix <time.h>
check_function_exists(signal HAVE_SIGNAL) #Unix <signal.h>
check_function_exists(stat HAVE_STAT) #Unix <sys/stat.h>,<sys/types.h>,<unistd.h>
check_function_exists(strdup HAVE_STRDUP) #Unix <string.h>
check_function_exists(strcasecmp HAVE_STRCASECMP) #Unix <strings.h>
check_function_exists(strncasecmp HAVE_STRNCASECMP) #Unix <strings.h>
check_function_exists(read HAVE_READ) #Unix <unistd.h>
check_function_exists(unlink HAVE_UNLINK) #Unix <unistd.h>
check_function_exists(usleep HAVE_USLEEP) #Unix <unistd.h>
check_function_exists(waitpid HAVE_WAITPID) #Unix <sys/types.h>,<sys/wait.h>
check_function_exists(write HAVE_WRITE) #Unix <unistd.h>
check_function_exists(alarm HAVE_ALARM) #Unix <unistd.h>
check_function_exists(backtrace HAVE_BACKTRACE)
check_function_exists(iswspace HAVE_ISWSPACE) #Linux <wctype.h>
check_function_exists(setenv HAVE_SETENV)
check_function_exists(unsetenv HAVE_UNSETENV)
check_function_exists(snprintf HAVE_SNPRINTF) #Available with MSVC 2015
#TODO:BUILDSYSTEM:Figure out why check_function_exists fails to find snprintf for MSVC2015
check_function_exists(GetNumberFormat HAVE_GETNUMBERFORMAT) #Windows <windows.h>
check_type_size(intptr_t SIZEOF_INTPTR_T)
check_type_size(pid_t SIZEOF_PID_T)
check_type_size(size_t SIZEOF_SIZE_T)
check_type_size(ssize_t SIZEOF_SSIZE_T)
check_type_size(time_t SIZEOF_TIME_T)
check_type_size(wint_t SIZEOF_WINT_T)
check_library_exists(pthread pthread_attr_get_np "" HAVE_PTHREAD_ATTR_GET_NP)
check_library_exists(pthread pthread_getattr_np "" HAVE_PTHREAD_GETATTR_NP)
check_library_exists(pthread pthread_create "" HAVE_PTHREAD_CREATE)
check_include_files("pthread.h;pthread_np.h" HAVE_PTHREAD_NP_H)
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:
- CMake version 3.1.0 or higher
- Perl
- libicu (not required but strongly recommended)
- a C compiler (let us know if the build fails with your C compiler)
Building on Unix with gcc or clang:
% mkdir build
% cd build
% cmake ..
% make
% make install
Building on Windows with MicroSoft Visual Studio:
From a command prompt for the version of MSVC you want to use
% mkdir build
% cd build
% cmake -G "NMake Makefiles" ..
% nmake
% nmake install
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:
% set "PATH=c:\MinGW\mingw64\bin;%PATH%"
% mkdir build
% cd build
% cmake -G "MinGW Makefiles" ..
% mingw32-make
% mingw32-make install
Building on Windows under Cygwin:
% mkdir build
% cd build
% cmake ..
% make
% make install
Building on MSYS with mingw:
% mkdir build
% cd build
% cmake -G "MSYS Makefiles" ..
% nmake
% nmake install
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:
- To build the static libraries only, pass -DSTATIC_ONLY=True to CMake.
- To build the shared libraries only, pass -DSHARED_ONLY=True to CMake.
== Building with Different Compilers ==
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:
% CC=clang CXX=clang++ cmake ..
== Optional Dependencies ==
* libicu "International Components for Unicode" development libraries.
Highly recommended for RSCALE support.
libicu can be found at
If CMake doesn't locate your libicu installation try setting the
ICU_BASE environment variable to the top folder where its installed
and run cmake again.
* Berkeley DB storage.
Optional for the Berkeley Database storage support.
The development toolkit can be found at
** 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.
You can also force CMake to ignore any of the optional dependencies
by passing the option -DCMAKE_DISABLE_FIND_PACKAGE_<PACKAGE>=True.
For instance: