view CMakeLists.txt @ 490:d2b2071a9b85

Json: add empty object() and array(), #367
author David Demelier <markand@malikania.fr>
date Sun, 15 Nov 2015 13:30:28 +0100
parents 7ee8da32da98
children 59e2c93af9ed
line wrap: on
line source

#
# CMakeLists.txt -- code building for common code
#
# Copyright (c) 2013-2015 David Demelier <markand@malikania.fr>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#

#
# This CMakeLists build system is primarily used for testing all
# modules.
#
cmake_minimum_required(VERSION 3.0)
project(code)

set(CMAKE_MODULE_PATH ${code_SOURCE_DIR}/cmake)

include(CMakeParseArguments)
include(CodeFunctions)

add_subdirectory(extern)
add_subdirectory(tools)

enable_testing()

# Optional
find_package(Jansson)
find_package(OpenSSL)
find_package(ZIP)

# Doxygen target
find_package(Doxygen)

if (DOXYGEN_FOUND)
	configure_file(
		${CMAKE_SOURCE_DIR}/cmake/Doxyfile.in
		${CMAKE_BINARY_DIR}/Doxyfile
	)

	add_custom_target(
		doxygen ALL
		COMMENT "Generating doxygen documentation"
		COMMAND ${DOXYGEN_EXECUTABLE} Doxyfile
		WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
		VERBATIM
	)
endif ()

add_subdirectory(modules/base64)
add_subdirectory(modules/directory)
add_subdirectory(modules/dynlib)
add_subdirectory(modules/hash)
add_subdirectory(modules/ini)
add_subdirectory(modules/js)
add_subdirectory(modules/json)
add_subdirectory(modules/options)
add_subdirectory(modules/sockets)
add_subdirectory(modules/unicode)
add_subdirectory(modules/xdg)
add_subdirectory(modules/zip)