Branch: master

19b046ec 2019-10-10 13:33:12 gregory guy
Conversion to the cmake building system.
rfc4791.pdf has been moved to the doc folder.
caldav pc file has been moved in the src folder.

Signed-off-by: gregory guy <gregory-tde@...>
A CMakeLists.txt
A ConfigureChecks.cmake
A config.h.cmake
A doc/CMakeLists.txt
A doc/rfc4791.pdf
A src/CMakeLists.txt
A src/libcaldav.pc.cmake
A test/CMakeLists.txt
A test/src/CMakeLists.txt
A test/unittest/CMakeLists.txt
R rfc4791.pdf

CMakeLists.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..4895c59
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,80 @@
+############################################
+#                                          #
+#  Improvements and feedbacks are welcome  #
+#                                          #
+#  This file is released under GPL >= 3    #
+#                                          #
+############################################
+
+
+cmake_minimum_required( VERSION 2.8 )
+
+
+#### general package setup
+
+project( libcaldav )
+set( VERSION R14.1.0 )
+set( PACKAGE_VERSION 0.6.5 )
+
+
+#### include essential cmake modules
+
+include( FindPkgConfig          )
+include( CheckFunctionExists    )
+include( CheckSymbolExists      )
+include( CheckIncludeFile       )
+include( CheckLibraryExists     )
+include( CheckCSourceCompiles   )
+
+
+#### include our cmake modules
+
+set( CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules" )
+include( TDEMacros )
+
+
+##### setup install paths
+
+include( TDESetupPaths )
+tde_setup_paths( )
+
+
+##### optional stuff
+
+option( WITH_ALL_OPTIONS    "Enable all optional support" OFF                                       )
+option( WITH_GCC_VISIBILITY "Enable fvisibility and fvisibility-inlines-hidden" ${WITH_ALL_OPTIONS} )
+
+
+##### user requested modules
+
+option( BUILD_ALL         "Build all"                    OFF          )
+option( BUILD_DOC         "Build documentation"          ${BUILD_ALL} )
+option( BUILD_CALDAV_TEST "Build caldav-test executable" OFF )
+option( BUILD_UNITTEST    "Build unittest executable"    OFF )
+
+
+##### configure checks
+
+include( ConfigureChecks.cmake )
+
+
+###### global compiler settings
+
+add_definitions( -DHAVE_CONFIG_H )
+
+set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${TQT_CXX_FLAGS}" )
+set( CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined" )
+set( CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--no-undefined" )
+
+
+##### directories
+
+add_subdirectory( src )
+tde_conditional_add_subdirectory( BUILD_DOC         doc           )
+tde_conditional_add_subdirectory( BUILD_CALDAV_TEST test/src      )
+tde_conditional_add_subdirectory( BUILD_UNITTEST    test/unittest ) 
+
+
+##### write configure files
+
+configure_file( config.h.cmake config.h @ONLY )

ConfigureChecks.cmake

diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
new file mode 100644
index 0000000..ead6ab6
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,41 @@
+###########################################
+#                                         #
+#  Improvements and feedback are welcome  #
+#                                         #
+#  This file is released under GPL >= 3   #
+#                                         #
+###########################################
+
+
+# required stuff
+
+tde_setup_architecture_flags( )
+
+include(TestBigEndian)
+test_big_endian(WORDS_BIGENDIAN)
+
+tde_setup_largefiles( )
+
+
+##### check for gcc visibility support
+
+if( WITH_GCC_VISIBILITY )
+  tde_setup_gcc_visibility( )
+endif( WITH_GCC_VISIBILITY )
+
+ 
+##### check for glib-2.0 - gthread-2.0
+
+pkg_search_module( GTHREAD gthread-2.0 )
+if( NOT GTHREAD_FOUND )
+  tde_message_fatal( "glib-2.0 with thread support is required, but was not found on your system" )
+endif()
+
+
+##### check for curl
+
+set( CURL_MIN_VERSION "7.15.5" )
+find_package( CURL ${CURL_MIN_VERSION} REQUIRED )
+if( NOT CURL_FOUND )
+  tde_message_fatal( "curl >= 7.15.5 is required, but was not found on your system" )
+endif()

config.h.cmake

diff --git a/config.h.cmake b/config.h.cmake
new file mode 100644
index 0000000..61ede3a
--- /dev/null
+++ b/config.h.cmake
@@ -0,0 +1,8 @@
+#define VERSION "@VERSION@"
+
+// Defined if you have fvisibility and fvisibility-inlines-hidden support.
+#cmakedefine __KDE_HAVE_GCC_VISIBILITY 1
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#cmakedefine WORDS_BIGENDIAN @WORDS_BIGENDIAN@

doc/CMakeLists.txt

diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100644
index 0000000..2552068
--- /dev/null
+++ b/doc/CMakeLists.txt
@@ -0,0 +1,4 @@
+install(
+    FILES rfc4791.pdf
+    DESTINATION ${SHARE_INSTALL_PREFIX}/doc/${PROJECT_NAME}
+)

doc/rfc4791.pdf

diff --git a/doc/rfc4791.pdf b/doc/rfc4791.pdf
new file mode 100644
index 0000000..14fde73
--- /dev/null
+++ b/doc/rfc4791.pdf
@@ -0,0 +1,7663 @@
+%PDF-1.3
+%����
+4 0 obj
+<< /Type /Info
+/Producer (FOP 0.20.5) >>
+endobj
+5 0 obj
+<< /Length 1098 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gat%"968Q9&AI=/BK3CU?n=NQRp5*/JYCF>*]O]@NkKEhp^q&)&q3!L?!FAJD9CqtBW^)d]DLtC^Ps&5YC/`Sb9lakd6H'5:%AH6[e`i636E"5a.`Tk9Ci&J'?L&Sr&c@1*5C6Xp._Z6Q#"9!;7AWpFIgbh42ZcK?X>)F\iqK+8GqEH_kn*e*W0ZGOkOSL$ba'Kb7Z;X][8&ZLhMjjCu:,EOIRnH])q,6=Cb2e(Q!gX(4-b[MbL-%&Qtl'Yt3;,hoH=BB6]@+JO[#ZBcq-i*5MC"[9T?.+IW9pX&)=,ncDf;7MlN2I35R1N7%@h$[Ls7Nl+3#r'4oEeOH@-\obGBU6\<:a/6O/M+G)o`Negg_<:K65\N,r@e?RYC\`-=r4odXf,4ru5Z]S5s&X[q<"6#]<'se5_SH"gq,OV">o7-USRZojK^X9NWSXm&*3`G@A;_Sq%>*>To]?A#H4$e-5),*od#;-,(cjS1ZT;qb_J)ZLK9U:6TM8"Ss1b`_L^LB(0rsBVWaWFO[B.igG_G[/$W"`;<SQ8cbPb(]U.d5Y0N$'q.>H?#?`0Lc-<5.dh0UDFe)n2uA@C)L.kamX^S.8s`8]MQOp:E<2B_-"@Utt:65\7.N(`2YB'5<Bb&Q4s@X[*LGfl4Z[MGI4CN4^NP=ZcoA.LKk973_*Zt&[k2NFTkIhOU[og6N*jaT2S7n-o1iJeP!h*+h&*2:r8@og]oFd90u>8=g3&i/e6.,22lHet])]=m.u(,b>T/U7]$VUc3DjZO2ejnKMr\M6KRnMSnm(>h'O?4C!!W-6>cn_gR&6$_?R"60&2dWRe*o&t&Ljgs\E5b:Z47[?]>Vb@tEG_L8H:5H0k8>XNdA-#*5ALk6t.JF$0^Ok[bN")fm`Q(ns/9c-#Bs&IO\IY^P8'&`WUb2>_I\,OjRXu0^.S!ZF-<64u-?JI\#BsE6GO_(Rkn^S50K/DmWBke`m;&PUaKKr5>R)V`VE,PGj5Ukj.#u/0eGX=6(^Me7>[Ir*H\%8DM33>a3Y.Rg2>7RBW7e(baJSt[7!6OBSb1o1IG812o]3J!AV$"rYl""gI[fE^88A/$kDtCN>fDVNR8^>2~>
+endstream
+endobj
+6 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 5 0 R
+>>
+endobj
+7 0 obj
+<< /Length 2447 /Filter [ /ASCII85Decode /FlateDecode ]
+ >>
+stream
+Gb!$I9lo&I&;KZQ'fnB3&P@QR!TrP@A"#<a1pW9Y-^+Wa_)>MSF@drVo'6[8P_^&?&SZ'da<;=qG6pH</?fN[4?rZ+MN9G[hIq@fif,!SnAnQ.n;%a#NI)hcIP@4o7itOidG7F/)N>'pe5rR4IIm2YRM7M+nlMS^U\V*Y9s:i/lik6nfW4DuqUaj'*b$0#K@))o)!rTC-$bso=h<B>ME"=RlDDn-X,&MZ63$8J&7U]c#hb4YlX1N*7*(Z7lD5:p`1Z<@/Y\D5ZiY16Z[-]XC2O,'6Gs&71,Q:R/"ZhI-9?s@$544q_e"^S^OFdR\r"unIu5!sDluONZM?3!;Y=TB-P$uQ`5a:ed/8FH..>1<',-l(L<UE<bMk5[@,rM+Q>u;%G'I_-Qp5<f%'Uf+k)GBpNJ;D>G(hoWS1UhSf^![S-(2li2fU1r<B/e9RXCFSk?.^n*MX%J&/mPUR_u69E$6hUJ_St>KcZt_mWG_>M3d3b>01:mAU<!G@9l8ie9ni&QZ?[!-4n2DgsEEOXi)Qn_hl*QJT6R!m;1rIc3lnEL"J)k<Sf&Y)`/<S!nBZ5Z8N`b9RIBh'.,KD\H.LuEj<_AR4Ml=6n9>?pGsQC(^0utB5!##FMX!)a*`mK??_gKNFGi7G/0NidnQ]PgU7Us*!lZu%*?WFo]ei/NtV-r@.iCP2KDaJ!GmYIr$HW;b!k:/PB]8hCOBN0BRHab)?YSQRT_Tge/ZN5.;DdC:KK("R9Z\`a#Pt21aB>@O4+Ium.Cfi.OYoqr=I1e^]I(Hh:\N-rAL:OA5mA#feMq"'\XLp?/8,>o6&-l\8TmF5bN).DIAL"(5Vf1hJSpVd]BZ=%/$>*fGg8cfebu!#k"XV^.B1IeG?^aYGJl/'!7d,nkB5OI1@$CPNi#4jQ<n]E1^`J;feH^;RP*Og/6MtJTjN*\4U2]rtA5rIhn^2%4O2d\qNEm3ZJ?`o_(jg7;SS^Yb$u.fb\V1mpQun"&A',J=3_WR_&*sG8Fm6hCNDfj/'s9=o;g,p=70AX'ZEOo6>Ms6[3PUnankBNQ9Q9j!iuqr0A\XNK&72KL1=3@8l,.U`+6kMT6AA:N+rjj"Y[6T"GCOE]N!->,:I3`@37U\La7aq1L!P6i/OQ6tc&B[k[D?%[lr9!>Q9@lXmF*q9pM-&SgaMd-NQ`Yd)$<It3La+Ih6\<mAY6eSNgaQZ6%Zji;ZEc#l#1`"Eo7Be"X/Pt#4t`PWS3'0+u+F^$tJ;Yl:#dDcV)<=VBiZ/_P2!Q(OSJ5AKS+mqnBe/8bg]n?I*Tre=q<Q,s5.Tu*#A3T'!*;Ps_K28#u7?i<pIuai6PrLHU!2/_Z40T?l";2%^$(3i,:fJ,Y0M@gp'pTdm2dE%)(WF2\$^7QVcZV'-hHL>5]kB+Q(S34ZSI9LKc.r$V849>]a`Mhe5QA\`P:8_nn2;r@WM(&+[&hf(++m\_[Q+IYkF%89OK0D'oVoGX$8&nMK^WVEk\^FMmcB#Hm80@W#G.p,r_3j8bF=ErR8H>S2q]a]R*)B1BOGdK>]_27TtcB(!>7"*$RfqOW7^0C%_M'U*pY$P5W^NhG2$jlin!OO-76etZ2P06,%`=Z<Ku6tY&2s4N%ejb^2f-0k-gG.mkH(I][$s`WWl*4-B95ra#"Rqg@=G5C[FfLFa/h2imS2cW7FkKWk*ZS^tXM(4;pq*hh7A@c%tiOY79!Fko[o8YeP?Eq/C%h5i5)GJ=Ut/J=]MKLh?l^6O;&D3WO7\Bei]iX`UnG):Ifm5lS@&e;@ho7;<`Pd97;@Zh^@l<+m':ma'&!/?0A!\V^(_&p(,p!1j"cCp%"i79g[Phg&`q]#0-jkRP,W1DB&I=!-$;c'Cc<Y)_@XA9Au@dqI-l=:\?sf=T5$IT^FA^\1W+$_bZeP3N7mFQJDT4+82S3lFtEDS)Y`3,[s\Od4i]Ma,64q-`(gX-f;EL*j?Eg@lFl#=`TVYfGhd]"/'V3iuBQluIKG8NFN>jBpa$&ZTkC#0e/1&b\OQU=,klB-nh3m27%P:Si':LnEV%mZ^p%XMT`nO,U%I/\hVh9!(o`B[2'<lLm.Z*n.N=/udGA&A[3Yn^JKh7`aj#q3\0.)QeA=>8Iu*M)A\cA6FGl-fc+a!_jYoMc8AAS##dD2's==gCjkJ1#)lYluG.TboO+\3pQq.Th4X\?.MTK#D4bN-8!8/Ar7qg1/9$7VnLbs[QBsD8dfGD%EW:#:BS6rB&[h]Q'n)!W9?9HGdU0<P1$nDk1bscF's0)C/o&p.bWeNd"L#?&86<cAe&uCAl8,,I(Y><.N>Z8eAoEn!=#ueB%8`/8biUi.=Y<=lI^3$hE3RT+YM<8W[WJ_,)2O+ofUG#IH<N4(6=H*Gb2;EXQCg`G92'sVFK-NcE5JdpQg(mAP])MD),nf&b@PWr)NE?#=sMWFS]tqRI<_$)#aK4\g*R5PCETkh96Q~>
+endstream
+endobj
+8 0 obj
+<< /Type /Page
+/Parent 1 0 R
+/MediaBox [ 0 0 612 792 ]
+/Resources 3 0 R
+/Contents 7 0 R
+/Annots 9 0 R
+>>
+endobj
+9 0 obj
+[
+10 0 R
+12 0 R
+14 0 R
+16 0 R
+18 0 R
+20 0 R
+22 0 R
+24 0 R
+26 0 R
+28 0 R
+30 0 R
+32 0 R
+34 0 R
+36 0 R
+38 0 R
+40 0 R
+42 0 R
+44 0 R
+46 0 R
+48 0 R
+50 0 R
+52 0 R
+54 0 R
+56 0 R
+58 0 R
+60 0 R
+62 0 R
+64 0 R
+66 0 R
+68 0 R
+70 0 R
+72 0 R
+74 0 R
+76 0 R
+78 0 R
+80 0 R
+82 0 R
+84 0 R
+86 0 R
+88 0 R
+90 0 R
+92 0 R
+94 0 R
+]
+endobj
+10 0 obj
+<< /Type /Annot
+/Subtype /Link
** Diff limit reached (max: 250 lines) **
139ed9ca 2019-10-10 17:54:33 Slávek Banko
Add common directories.

Signed-off-by: Slávek Banko <slavek.banko@...>
A .gitmodules
A cmake
** Diff limit reached (max: 250 lines) **
f4d6e712 2019-10-10 17:56:37 Slávek Banko
cmake: Install libraries according to multi-arch rules.

Signed-off-by: Slávek Banko <slavek.banko@...>
M CMakeLists.txt
** Diff limit reached (max: 250 lines) **
76812f6b 2019-10-10 17:58:25 Slávek Banko
Add support for GCC hidden visibility.

Signed-off-by: Slávek Banko <slavek.banko@...>
M src/caldav.h
** Diff limit reached (max: 250 lines) **

Branch: r14.0.x

b52d4c7d 2019-10-11 12:32:42 Slávek Banko
Add common directories.

Signed-off-by: Slávek Banko <slavek.banko@...>
(cherry picked from commit 139ed9ca98852d77a5987228e13f93a5055ce076)
A .gitmodules
A cmake
** Diff limit reached (max: 250 lines) **
c39aed38 2019-10-11 12:33:28 Slávek Banko
cmake: Install libraries according to multi-arch rules.

Signed-off-by: Slávek Banko <slavek.banko@...>
(cherry picked from commit f4d6e7129fec8081662f9708032e67ff245494d4)
M CMakeLists.txt
** Diff limit reached (max: 250 lines) **
0243858a 2019-10-11 12:33:29 Slávek Banko
Add support for GCC hidden visibility.

Signed-off-by: Slávek Banko <slavek.banko@...>
(cherry picked from commit 76812f6b91c5b481e1d9b4eae0dbc503d85def39)
M src/caldav.h
** Diff limit reached (max: 250 lines) **