root / CMakeLists.txt @ ebf9dc4f
History | View | Annotate | Download (2.2 kB)
| 1 | # WebODF is mostly a JavaScript project. CMake needs to know about the C++ parts |
|---|---|
| 2 | project (WebODF C CXX Java) |
| 3 | # version 2.8.2 is needed to have support for zip files in external projects |
| 4 | cmake_minimum_required(VERSION 2.8.2) |
| 5 | |
| 6 | # This makefile 'compiles' WebODF using various tools, instruments the code and |
| 7 | # builds and packages programs that use WebODF. |
| 8 | |
| 9 | # Find installed dependencies |
| 10 | find_package(Qt4 COMPONENTS QtCore QtGui QtXml QtNetwork QtWebKit) |
| 11 | if (NOT ${QT4_FOUND})
|
| 12 | message(WARNING "Qt4 with modules QtCore QtGui QtXml QtNetwork QtWebKit was not found. qtjsruntime will no be built.") |
| 13 | endif (NOT ${QT4_FOUND})
|
| 14 | |
| 15 | # Tools must be obtained to work with: |
| 16 | include (ExternalProject) |
| 17 | |
| 18 | # Closure Compiler |
| 19 | ExternalProject_Add( |
| 20 | ClosureCompiler |
| 21 | URL "http://closure-compiler.googlecode.com/files/compiler-20110615.tar.gz" |
| 22 | URL_MD5 7ba597fa67b187df23413eb0ca50f4cb |
| 23 | CONFIGURE_COMMAND "" |
| 24 | BUILD_COMMAND "" |
| 25 | INSTALL_COMMAND "" |
| 26 | ) |
| 27 | set(CLOSURE_JAR ${CMAKE_BINARY_DIR}/ClosureCompiler-prefix/src/ClosureCompiler/compiler.jar)
|
| 28 | |
| 29 | # Rhino |
| 30 | ExternalProject_Add( |
| 31 | Rhino |
| 32 | URL "ftp://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R3.zip" |
| 33 | URL_MD5 99d94103662a8d0b571e247a77432ac5 |
| 34 | CONFIGURE_COMMAND "" |
| 35 | BUILD_COMMAND "" |
| 36 | INSTALL_COMMAND "" |
| 37 | ) |
| 38 | set(RHINO ${CMAKE_BINARY_DIR}/Rhino-prefix/src/Rhino/js.jar)
|
| 39 | |
| 40 | # JSDoc |
| 41 | ExternalProject_Add( |
| 42 | JsDoc |
| 43 | URL "http://jsdoc-toolkit.googlecode.com/files/jsdoc_toolkit-2.3.2.zip" |
| 44 | URL_MD5 eed919de3bf2bb63f629c86ddf8e9651 |
| 45 | CONFIGURE_COMMAND "" |
| 46 | BUILD_COMMAND "" |
| 47 | INSTALL_COMMAND "" |
| 48 | ) |
| 49 | set(JSDOCDIR ${CMAKE_BINARY_DIR}/JsDoc-prefix/src/JsDoc/jsdoc-toolkit)
|
| 50 | |
| 51 | # Node.JS |
| 52 | ExternalProject_Add( |
| 53 | NodeJS |
| 54 | URL "http://nodejs.org/dist/node-v0.4.8.tar.gz" |
| 55 | URL_MD5 22c9f69370069fe81678592cc8ae48f1 |
| 56 | INSTALL_COMMAND "" |
| 57 | ) |
| 58 | set(NODE ${CMAKE_BINARY_DIR}/NodeJS-prefix/src/NodeJS-build/default/node)
|
| 59 | |
| 60 | # JSCoverage |
| 61 | ExternalProject_Add( |
| 62 | JSCoverage |
| 63 | URL "http://siliconforks.com/jscoverage/download/jscoverage-0.5.1.tar.bz2" |
| 64 | URL_MD5 a70d79a6759367fbcc0bcc18d6866ff3 |
| 65 | PATCH_COMMAND patch -p0 < ${CMAKE_CURRENT_SOURCE_DIR}/JSCoverage.patch
|
| 66 | CONFIGURE_COMMAND "./configure" |
| 67 | BUILD_IN_SOURCE 1 |
| 68 | INSTALL_COMMAND "" |
| 69 | ) |
| 70 | set(JSCOVERAGE ${CMAKE_BINARY_DIR}/JSCoverage-prefix/src/JSCoverage/jscoverage)
|
| 71 | |
| 72 | # Android |
| 73 | find_path(ANDROID_SDK_DIR platform-tools/aapt) |
| 74 | |
| 75 | add_subdirectory(webodf) |
| 76 | add_subdirectory(programs) |