project (dmmlib C)

cmake_minimum_required (VERSION 2.6)

set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)

include(DefineOptions.cmake)

include(MacroEnsureOutOfSourceBuild)
macro_ensure_out_of_source_build("${PROJECT_NAME} requires an out of source build. Please create a separate build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there.")


if(CMAKE_COMPILER_IS_GNUCC AND LINUXTEST)
  add_definitions(-std=c99)
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline -Wno-long-long -Wuninitialized -Wconversion -Wstrict-prototypes")  
endif(CMAKE_COMPILER_IS_GNUCC AND LINUXTEST)

configure_file (
	"${PROJECT_SOURCE_DIR}/dmm_config.h.in"
	"${PROJECT_BINARY_DIR}/dmm_config.h"
)

include_directories("${PROJECT_BINARY_DIR}")

add_subdirectory(include)
add_subdirectory(src)

if (WITH_EXAMPLES)
  add_subdirectory(examples)
endif (WITH_EXAMPLES)

if (WITH_DOC)
  add_subdirectory(doc)
endif (WITH_DOC)

