Zorba Build Notes for Windows Users

Requirements for Windows Builds

Zorba's Automatic DLL Detection Mechanism

Zorba has in place an automatic DLL detection mechanism. This will try to automatically gather all the DLLs from the third party libraries and install them with Zorba when you do "make install" or you build the Visual Studio INSTALL project, to ensure that your installation will function regardless of the system or user's PATH.Zorba will search for the third party libraries in order in:
  1. all the directories pointed by the ZORBA_THIRD_PARTY_REQUIREMENTS CMake configuration parameter
    • e.g. if you have Xerces in "C:\tools" and IConv in "D:\tools", you must configure your build as follows:
            cmake -D ZORBA_THIRD_PARTY_REQUIREMENTS=C:\tools;D:\tool {ZORBASRC}
      
      and Zorba will find all it needs from Xerces and Iconv. (The directory names must contain "xerces" and "iconv" respectively, case insensitive)
  2. the Program Files directory on your system
    • e.g. if you have cURL installed in "C:\Program Files\*cURL*", Zorba will find all it needs from cURL. (The directory must contain "curl", case insensitive.)
  3. all the paths in the PATH variable
    • e.g. if you have "C:\tools\*ICU*\bin" in your path, Zorba will find all it needs from ICU. (The directory must only contain "icu".)
The important thing to note here is that if you have any third-party requirements installed in unusual locations, you should use the CMake configuration parameter ZORBA_THIRD_PARTY_REQUIREMENTS instead of CMAKE_PREFIX_PATH to specify those locations when configuring Zorba.

Building Zorba using a NMake Project

  1. Start a Visual Studio Command Line.
  2. Change the current working directory to the {ZORBABUILD} directory (as described in Creating a Build Directory).
  3. Execute CMake as follows:
    cmake -G "NMake Makefiles" {ZORBASRC}
    
  4. Now you are ready to call "nmake" from the {ZORBABUILD} directory.

Building Zorba using a Visual Studio Project

  1. Start Visual Studio Command Line
  2. Change the current working directory into the {ZORBABUILD} directory (as described in Creating a Build Directory).
  3. Execute CMake with the appropriate CMake Visual Studio generator for your installation (see cmake --help for a list of generators). For instance,
    cmake -G "Visual Studio 10" {ZORBASRC}
    
  4. Start Visual Studio, open the generated zorba.sln project file in {ZORBABUILD}, and build the ALL project.

HTTPS support

  • In order to have SSL support in Zorba, you have to use the CURL library that has SSL support.
  • There is one more thing: in order to validate the server's certificate, CURL+SSL needs to know about the root Certificates of Authenticity (CA): a set of public keys freely available on the internet.
  • On Windows, Zorba expects this file to be called cacert.pem and searches for it in the current directory and system paths.
  • This cacert.pem file can be found on the curl page: http://curl.haxx.se/docs/caextract.html .
  • In order to disable the validation of the server certificate, the ZORBA_VERIFY_PEER_SSL_CERTIFICATE can be set to OFF in cmake (and actually this is the default value). Set it to ON to validate server certificate chain on every access to .
  • To read more about CURL+SSL: http://curl.haxx.se/docs/sslcerts.html .
  • As an https test page, we used for example the rss feed fn:doc('https://www.npr.org/rss/rss.php?id=1001') .

Downloads for Non-Core Modules

ImageMagick (image-processing modules)

Just download the ImageMagick Windows binary from http://www.imagemagick.org/script/binary-releases.php and install it. We recommend the latest "Q8-windows-dll" version.