Przeglądaj źródła

Changed FindCSync module to not check relative pathes + docu.

Klaas Freitag 13 lat temu
rodzic
commit
1385aab65d
2 zmienionych plików z 28 dodań i 26 usunięć
  1. 15 15
      cmake/modules/FindCsync.cmake
  2. 13 11
      doc/building.rst

+ 15 - 15
cmake/modules/FindCsync.cmake

@@ -1,28 +1,28 @@
-IF(EXISTS "${CMAKE_SOURCE_DIR}/../csync/src/csync.h")
-  SET(CSYNC_INCLUDE_PATH ${CMAKE_SOURCE_DIR}/../csync/src/)
-ELSE()
-  FIND_PATH(CSYNC_INCLUDE_PATH NAMES csync.h HINTS $ENV{CSYNC_DIR} )
-ENDIF()
 
 
-IF( DEFINED CSYNC_LIBRARY_PATH AND DEFINED CSYNC_INCLUDE_PATH )
-  IF( WIN32 )
-    SET(CSYNC_LIBRARY ${CSYNC_LIBRARY_PATH}/src/libocsync.dll)
-  ELSEIF ( APPLE )
-    SET(CSYNC_LIBRARY ${CSYNC_LIBRARY_PATH}/src/libocsync.dylib)
+IF( DEFINED CSYNC_BUILD_PATH )
+  SET(CSYNC_LIBRARY_PATH ${CSYNC_BUILD_PATH})
+  SET(CSYNC_BINARY_DIR ${CSYNC_BUILD_PATH})
+
+  IF(WIN32)
+    SET(CSYNC_LIBRARY ${CSYNC_BUILD_PATH}/src/libocsync.dll)
+  ELSEIF( APPLE )
+    SET(CSYNC_LIBRARY ${CSYNC_BUILD_PATH}/src/libocsync.dylib)
   ELSE()
   ELSE()
-    SET(CSYNC_LIBRARY ${CSYNC_LIBRARY_PATH}/src/libocsync.so)
-  ENDIF( )
-  SET(CSYNC_BINARY_DIR ${CSYNC_LIBRARY_PATH})
+    SET(CSYNC_LIBRARY ${CSYNC_BUILD_PATH}/src/libocsync.so)
+  ENDIF()
 ELSE()
 ELSE()
   FIND_LIBRARY(CSYNC_LIBRARY NAMES ocsync HINTS $ENV{CSYNC_DIR})
   FIND_LIBRARY(CSYNC_LIBRARY NAMES ocsync HINTS $ENV{CSYNC_DIR})
 ENDIF()
 ENDIF()
 
 
+IF(NOT DEFINED CSYNC_INCLUDE_PATH)
+  FIND_PATH(CSYNC_INCLUDE_PATH NAMES csync.h HINTS $ENV{CSYNC_DIR} )
+ENDIF()
+
 SET(CSYNC_INCLUDE_DIR ${CSYNC_INCLUDE_PATH})
 SET(CSYNC_INCLUDE_DIR ${CSYNC_INCLUDE_PATH})
 
 
 # handle the QUIETLY and REQUIRED arguments and set CSYNC_FOUND to TRUE if
 # handle the QUIETLY and REQUIRED arguments and set CSYNC_FOUND to TRUE if
 # all listed variables are TRUE
 # all listed variables are TRUE
 include(FindPackageHandleStandardArgs)
 include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Csync DEFAULT_MSG
-  CSYNC_LIBRARY CSYNC_INCLUDE_PATH)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Csync DEFAULT_MSG CSYNC_LIBRARY CSYNC_INCLUDE_PATH)
 
 
 MARK_AS_ADVANCED( CSYNC_INCLUDE_PATH CSYNC_LIBRARY )
 MARK_AS_ADVANCED( CSYNC_INCLUDE_PATH CSYNC_LIBRARY )

+ 13 - 11
doc/building.rst

@@ -21,7 +21,7 @@ Mac OS X
 --------
 --------
 
 
 Follow the `generic build instructions`_.
 Follow the `generic build instructions`_.
- 
+
 You can install the missing dependencies via MacPorts_ or Homebrew_.
 You can install the missing dependencies via MacPorts_ or Homebrew_.
 This is only needed on the build machine, since non-standard libs
 This is only needed on the build machine, since non-standard libs
 will be deployed in the app bundle.
 will be deployed in the app bundle.
@@ -33,7 +33,7 @@ build system. If you are using Homebrew_, you can just add it::
   brew install iniparser
   brew install iniparser
 
 
 Otherwise, you need to copy the header and lib files to
 Otherwise, you need to copy the header and lib files to
-``/usr/local/include`` and ``/usr/local/lib`` respectively. 
+``/usr/local/include`` and ``/usr/local/lib`` respectively.
 
 
 .. note::
 .. note::
   You should not call ``make install`` at any time, since the product of the
   You should not call ``make install`` at any time, since the product of the
@@ -73,7 +73,7 @@ For the installer, the NSIS installer package is also required::
 
 
     mingw32-cross-nsis-plugin-processes mingw32-cross-nsis-plugin-uac
     mingw32-cross-nsis-plugin-processes mingw32-cross-nsis-plugin-uac
 
 
-You will also need to manually download and install the following files with 
+You will also need to manually download and install the following files with
 ``rpm -ivh <package>`` (They will also work with OpenSUSE 12.2)::
 ``rpm -ivh <package>`` (They will also work with OpenSUSE 12.2)::
 
 
 http://pmbs.links2linux.org/download/mingw:/32/openSUSE_12.1/x86_64/mingw32-cross-nsis-plugin-processes-0-1.1.x86_64.rpm
 http://pmbs.links2linux.org/download/mingw:/32/openSUSE_12.1/x86_64/mingw32-cross-nsis-plugin-processes-0-1.1.x86_64.rpm
@@ -125,24 +125,26 @@ Next, make sure to check out the 'dav' branch in the newly checked out
 The first package to buidld is CSync::
 The first package to buidld is CSync::
 
 
   cd ocsync-build
   cd ocsync-build
-  cmake -DCMAKE_BUILD_TYPE="Debug" -DLOG_TO_CALLBACK=ON -DWITH_LOG4C=OFF ../ocsync
+  cmake -DCMAKE_BUILD_TYPE="Debug" ../ocsync
   make
   make
 
 
 You probably have to satisfy some dependencies. Make sure to install all the
 You probably have to satisfy some dependencies. Make sure to install all the
 needed development packages. You will need ``iniparser``, ``sqlite3`` as well as
 needed development packages. You will need ``iniparser``, ``sqlite3`` as well as
-``neon`` for the ownCloud module. ``libssh`` and ``libsmbclient`` are optional
-and not required for the client to work. If you want to install the client, run
-``make install`` as a final step.
+``neon`` for the ownCloud module. Take special care about ``neon``. If that is
+missing, the cmake run will succeed but silently not build the ownCloud module.
+``libssh`` and ``libsmbclient`` are optional and not required for the client
+to work. If you want to install the client, run ``make install`` as a final step.
 
 
 Next, we build mirall::
 Next, we build mirall::
 
 
   cd ../mirall-build
   cd ../mirall-build
   cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall \
   cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall \
-        -DCSYNC_LIBRARY_PATH=../ocsync-build \
-        -DCSYNC_INCLUDE_PATH=../ocsync/src
+        -DCSYNC_BUILD_PATH=/path/to/ocsync-build \
+        -DCSYNC_INCLUDE_PATH=/path/to/ocsync/src
 
 
-If this succeeds, call ``make``. The owncloud binary should appear in the
-``bin`` directory. You can also run ``make install`` to install the client to
+Note that it is important to use absolute pathes for the include- and library
+directories. If this succeeds, call ``make``. The owncloud binary should appear
+in the ``bin`` directory. You can also run ``make install`` to install the client to
 ``/usr/local/bin``.
 ``/usr/local/bin``.
 
 
 To build in installer (requires the mingw32-cross-nsis packages)::
 To build in installer (requires the mingw32-cross-nsis packages)::