1 cmake_minimum_required(VERSION 2.6)
2 #cmake_policy(VERSION 2.6)
4 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/")
5 set(DEB_CHANGELOG_REQUIRED ON)
8 set(PROJECT_NAME "ejdb")
9 set(PROJECT_VENDOR "Softmotions")
10 set(PROJECT_WEBSITE "http://ejdb.org")
11 set(PROJECT_MAINTAINER "Anton Adamansky <adamansky@gmail.com>")
12 set(PROJECT_DESCRIPTION_SUMMARY "Embedded JSON database library (EJDB)")
13 set(PROJECT_DESCRIPTION "EJDB aims to be a fast MongoDB-like library which can be embedded into C/C++ applications under terms of LGPL license.")
14 set(CHANGELOG_MESSAGE ${CHANGELOG_LAST_MESSAGE})
15 set(PROJECT_PPA "ppa:adamansky/ejdb")
16 set(PROJECT_PPA_USER "adamansky")
17 set(PROJECT_PPA_DISTRIB_TARGET vivid utopic trusty precise)
19 project(${PROJECT_NAME} C)
21 set(PROJECT_VERSION_MAJOR ${CHANGELOG_LAST_VERSION_MAJOR})
22 set(PROJECT_VERSION_MINOR ${CHANGELOG_LAST_VERSION_MINOR})
23 set(PROJECT_VERSION_PATCH ${CHANGELOG_LAST_VERSION_PATCH})
24 set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
25 set(${PROJECT_NAME}_VERSION ${PROJECT_VERSION})
26 set(${PROJECT_NAME}_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
27 set(${PROJECT_NAME}_VERSION_MINOR ${PROJECT_VERSION_MINOR})
28 set(${PROJECT_NAME}_VERSION_PATCH ${PROJECT_VERSION_PATCH})
30 option(BUILD_SHARED_LIBS "Build shared libraries" ON)
31 option(BUILD_TESTS "Build test cases" OFF)
32 option(BUILD_SAMPLES "Build ejdb sample projects" OFF)
33 option(PACKAGE_DEB "Build .deb instalation packages" OFF)
34 option(PACKAGE_TGZ "Build .tgz package archive" ON)
35 option(ENABLE_PPA "Enable PPA package build" OFF)
36 option(UPLOAD_PPA "Upload debian packages to the launchpad ppa repository" OFF)
37 option(PPA_DEBIAN_VERSION "PPA version suffix for debian packages" "ppa1")
40 cmake_policy(SET CMP0042 NEW)
43 if (CMAKE_SIZEOF_VOID_P MATCHES 8)
44 set(PROJECT_ARCH "x86_64")
45 else(CMAKE_SIZEOF_VOID_P MATCHES 8)
46 set(PROJECT_ARCH "x86")
47 endif(CMAKE_SIZEOF_VOID_P MATCHES 8)
49 include(GNUInstallDirs)
52 macro_ensure_out_of_source_build(
53 "${CMAKE_PROJECT_NAME} requires an out of source build."
58 find_package(CUnit REQUIRED)
73 list(APPEND CPACK_GENERATORS "TGZ")
76 list(APPEND CPACK_GENERATORS "DEB")
80 set(CPACK_GENERATOR "${CPACK_GENERATORS}")
81 set(CPACK_SOURCE_IGNORE_FILES
88 "compile_commands\\\\.json$"
91 add_subdirectory(installer)
94 message("CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
95 message("CPACK_GENERATORS: ${CPACK_GENERATORS}")
97 message("MXE_HOME: ${MXE_HOME}")
99 if (CMAKE_SYSTEM_NAME)
100 message("CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
103 message("PROJECT_ARCH: ${PROJECT_ARCH}")
105 message("PROJECT: ${CHANGELOG_LAST_LINE}")
106 if (CHANGELOG_MESSAGE)
107 message("CHANGELOG_MESSAGE:\n ${CHANGELOG_MESSAGE}")