# ###
# ### CMake settings
# ###
# ## Due to Mac OSX we need to keep compatibility with CMake 2.6
# # see http://www.cmake.org/Wiki/CMake_Policies
# cmake_minimum_required(VERSION 2.6)
# # see http://www.cmake.org/cmake/help/cmake-2-8-docs.html#policy:CMP0012
# if(POLICY CMP0012)
# 	cmake_policy(SET CMP0012 OLD)
# endif()
# # see http://www.cmake.org/cmake/help/cmake-2-8-docs.html#policy:CMP0015
# if(POLICY CMP0015)
# 	cmake_policy(SET CMP0015 OLD)
# endif()
# 
# include(CheckCXXCompilerFlag)
# 
# 
# ###
# ### Project settings
# ###
# project(YAML_CPP)
# 
# set(YAML_CPP_VERSION_MAJOR "0")
# set(YAML_CPP_VERSION_MINOR "3")
# set(YAML_CPP_VERSION_PATCH "0")
# set(YAML_CPP_VERSION "${YAML_CPP_VERSION_MAJOR}.${YAML_CPP_VERSION_MINOR}.${YAML_CPP_VERSION_PATCH}")
# 
# enable_testing()
# 
# 
# ###
# ### Project options
# ###
# ## Project stuff
# option(YAML_CPP_BUILD_TOOLS "Enable testing and parse tools" ON)
# option(YAML_CPP_BUILD_CONTRIB "Enable contrib stuff in library" ON)
# 
# ## Build options
# # --> General
# # see http://www.cmake.org/cmake/help/cmake2.6docs.html#variable:BUILD_SHARED_LIBS
# #     http://www.cmake.org/cmake/help/cmake2.6docs.html#command:add_library
# option(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
# 
# # --> Apple
# option(APPLE_UNIVERSAL_BIN "Apple: Build universal binary" OFF)
# 
# # --> Microsoft Visual C++
# # see http://msdn.microsoft.com/en-us/library/aa278396(v=VS.60).aspx
# #     http://msdn.microsoft.com/en-us/library/2kzt1wy3(v=VS.71).aspx
# option(MSVC_SHARED_RT "MSVC: Build with shared runtime libs (/MD)" ON)
# option(MSVC_STHREADED_RT "MSVC: Build with single-threaded static runtime libs (/ML until VS .NET 2003)" OFF)
# 
# ###
# ### Sources, headers, directories and libs
# ###
# set(header_directory "include/yaml-cpp/")

# added by CSt
add_definitions("-O2 -Wall -Wextra -pedantic -Wno-long-long")

file(GLOB sources "src/[a-zA-Z]*.cpp")
file(GLOB public_headers "include/yaml-cpp/[a-zA-Z]*.h")
file(GLOB private_headers "src/[a-zA-Z]*.h")

# added by CSt
set(LIB_TYPE STATIC)

# if(YAML_CPP_BUILD_CONTRIB)
# 	file(GLOB contrib_sources "src/contrib/[a-zA-Z]*.cpp")
# 	file(GLOB contrib_public_headers "include/yaml-cpp/contrib/[a-zA-Z]*.h")
# 	file(GLOB contrib_private_headers "src/contrib/[a-zA-Z]*.h")
# else()
# 	add_definitions(-DYAML_CPP_NO_CONTRIB)
# endif()
# 
# if(VERBOSE)
# 	message(STATUS "sources: ${sources}")
# 	message(STATUS "public_headers: ${public_headers}")
# 	message(STATUS "private_headers: ${private_headers}")
# 	message(STATUS "contrib_sources: ${contrib_sources}")
# 	message(STATUS "contrib_public_headers: ${contrib_public_headers}")
# 	message(STATUS "contrib_private_headers: ${contrib_private_headers}")
# endif()
#
#
# include_directories(${YAML_CPP_SOURCE_DIR}/include)
# include_directories(${YAML_CPP_SOURCE_DIR}/src)

# added by CSt
include_directories(include)
add_library(yaml-cpp
	${LIB_TYPE}
	${public_headers}
	${private_headers}
	${sources}
)

# ###
# ### General compilation settings
# ###
# if(BUILD_SHARED_LIBS)
# 	set(LABEL_SUFFIX "shared")
# else()
# 	set(LABEL_SUFFIX "static")
# endif()
# 
# if(APPLE)
# 	if(APPLE_UNIVERSAL_BIN)
# 		set(CMAKE_OSX_ARCHITECTURES ppc;i386)
# 	endif()
# endif()
# 
# if(IPHONE)
# 	set(CMAKE_OSX_SYSROOT "iphoneos4.2")
# 	set(CMAKE_OSX_ARCHITECTURES "armv6;armv7")
# endif()
# 
# if(WIN32)
# 	if(BUILD_SHARED_LIBS)
# 		add_definitions(-D${PROJECT_NAME}_DLL)	# use or build Windows DLL
# 	endif()
# 	if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
# 		set(CMAKE_INSTALL_PREFIX "C:/")
# 	endif()
# endif()
# 
# # GCC specialities
# if(CMAKE_COMPILER_IS_GNUCXX)
# 	### General stuff
# 	if(WIN32)
# 		set(CMAKE_SHARED_LIBRARY_PREFIX "")	# DLLs do not have a "lib" prefix
# 		set(CMAKE_IMPORT_LIBRARY_PREFIX "")	# same for DLL import libs
# 		set(CMAKE_LINK_DEF_FILE_FLAG "")	# CMake workaround (2.8.3)
# 	endif()
# 
# 	### Project stuff
# 	if(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
# 		set(CMAKE_BUILD_TYPE Release)
# 	endif()
# 	#
# 	set(CMAKE_CXX_FLAGS_RELEASE "-O2")
# 	set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
# 	set(CMAKE_CXX_FLAGS_DEBUG "-g")
# 	set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os")
# 	#
# 	set(GCC_EXTRA_OPTIONS "")
# 	#
# 	set(FLAG_TESTED "-Wextra")
# 	check_cxx_compiler_flag(${FLAG_TESTED} FLAG_WEXTRA)
# 	if(FLAG_WEXTRA)
# 		set(GCC_EXTRA_OPTIONS "${GCC_EXTRA_OPTIONS} ${FLAG_TESTED}")
# 	endif()
# 	#
# 	set(CMAKE_CXX_FLAGS "-Wall ${GCC_EXTRA_OPTIONS} -pedantic -Wno-long-long ${CMAKE_CXX_FLAGS}")
# 	#
# 	add_custom_target(debuggable $(MAKE) clean
# 		COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Debug ${CMAKE_SOURCE_DIR}
# 		COMMENT "Adjusting settings for debug compilation"
# 		VERBATIM)
# 	add_custom_target(releasable $(MAKE) clean
# 		COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Release ${CMAKE_SOURCE_DIR}
# 		COMMENT "Adjusting settings for release compilation"
# 		VERBATIM)
# endif()
# 
# # Microsoft VisualC++ specialities
# if(MSVC)
# 	### General stuff
# 	# a) Change MSVC runtime library settings (/MD[d], /MT[d], /ML[d] (single-threaded until VS 2003))
# 	#    plus set lib suffix for later use and project label accordingly
# 	# see http://msdn.microsoft.com/en-us/library/aa278396(v=VS.60).aspx
# 	#     http://msdn.microsoft.com/en-us/library/2kzt1wy3(v=VS.71).aspx
# 	set(LIB_RT_SUFFIX "md")	# CMake defaults to /MD for MSVC
# 	set(LIB_RT_OPTION "/MD")
# 	#
# 	if(NOT MSVC_SHARED_RT)	# User wants to have static runtime libraries (/MT, /ML)
# 		if(MSVC_STHREADED_RT)	# User wants to have old single-threaded static runtime libraries
# 			set(LIB_RT_SUFFIX "ml")
# 			set(LIB_RT_OPTION "/ML")
# 			if(NOT ${MSVC_VERSION} LESS 1400)
# 				message(FATAL_ERROR "Single-threaded static runtime libraries (/ML) only available until VS .NET 2003 (7.1).")
# 			endif()
# 		else()
# 			set(LIB_RT_SUFFIX "mt")
# 			set(LIB_RT_OPTION "/MT")
# 		endif()
# 
# 		# correct linker options
# 		foreach(flag_var  CMAKE_C_FLAGS  CMAKE_CXX_FLAGS)
# 			foreach(config_name  ""  DEBUG  RELEASE  MINSIZEREL  RELWITHDEBINFO)
# 				set(var_name "${flag_var}")
# 				if(NOT "${config_name}" STREQUAL "")
# 					set(var_name "${var_name}_${config_name}")
# 				endif()
# 				string(REPLACE "/MD" "${LIB_RT_OPTION}" ${var_name} "${${var_name}}")
# 			endforeach()
# 		endforeach()
# 	endif()
# 	#
# 	set(LABEL_SUFFIX "${LABEL_SUFFIX} ${LIB_RT_SUFFIX}")
# 
# 	# b) Change prefix for static libraries
# 	set(CMAKE_STATIC_LIBRARY_PREFIX "lib")	# to distinguish static libraries from DLL import libs
# 
# 	# c) Correct suffixes for static libraries
# 	if(NOT BUILD_SHARED_LIBS)
# 		### General stuff
# 		set(LIB_TARGET_SUFFIX "${LIB_SUFFIX}${LIB_RT_SUFFIX}")
# 	endif()
# 
# 	### Project stuff
# 	# /W3 = set warning level; see http://msdn.microsoft.com/en-us/library/thxezb7y.aspx
# 	# /wd4127 = disable warning C4127 "conditional expression is constant"; see http://msdn.microsoft.com/en-us/library/6t66728h.aspx
# 	# /wd4355 = disable warning C4355 "'this' : used in base member initializer list"; http://msdn.microsoft.com/en-us/library/3c594ae3.aspx
# 	set(CMAKE_CXX_FLAGS "/W3 /wd4127 /wd4355 /D_SCL_SECURE_NO_WARNINGS ${CMAKE_CXX_FLAGS}")
# endif()
# 
# 
# ###
# ### General install settings
# ###
# if(WIN32)
# 	set(_library_dir bin)	# .dll are in PATH, like executables
# else()
# 	set(_library_dir lib)
# endif()
# 
# set(INCLUDE_INSTALL_ROOT_DIR include)
# 
# set(INCLUDE_INSTALL_DIR ${INCLUDE_INSTALL_ROOT_DIR}/yaml-cpp)
# set(LIB_INSTALL_DIR "${_library_dir}${LIB_SUFFIX}")
# 
# set(_INSTALL_DESTINATIONS
# 	RUNTIME DESTINATION bin
# 	LIBRARY DESTINATION ${LIB_INSTALL_DIR}
# 	ARCHIVE DESTINATION "lib${LIB_SUFFIX}"
# )
# 
# 
# ###
# ### Library
# ###
# add_library(yaml-cpp
# 	${sources}
# 	${public_headers}
# 	${private_headers}
# 	${contrib_sources}
# 	${contrib_public_headers}
# 	${contrib_private_headers}
# )
# 
# set_target_properties(yaml-cpp PROPERTIES
# 	VERSION "${YAML_CPP_VERSION}"
# 	SOVERSION "${YAML_CPP_VERSION_MAJOR}.${YAML_CPP_VERSION_MINOR}"
# 	PROJECT_LABEL "yaml-cpp ${LABEL_SUFFIX}"
# )
# 
# if(IPHONE)
# 	set_target_properties(yaml-cpp PROPERTIES
# 		XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "3.0"
# 	)
# endif()
# 
# if(MSVC)
# 	if(NOT BUILD_SHARED_LIBS)
# 		# correct library names
# 		set_target_properties(yaml-cpp PROPERTIES
# 			DEBUG_POSTFIX "${LIB_TARGET_SUFFIX}d"
# 			RELEASE_POSTFIX "${LIB_TARGET_SUFFIX}"
# 			MINSIZEREL_POSTFIX "${LIB_TARGET_SUFFIX}"
# 			RELWITHDEBINFO_POSTFIX "${LIB_TARGET_SUFFIX}"
# 		)
# 	endif()
# endif()
# 
# install(TARGETS yaml-cpp ${_INSTALL_DESTINATIONS})
# install(
# 	DIRECTORY ${header_directory}
# 	DESTINATION ${INCLUDE_INSTALL_DIR}
# 	FILES_MATCHING PATTERN "*.h"
# )
# 
# if(UNIX)
# 	set(PC_FILE ${CMAKE_BINARY_DIR}/yaml-cpp.pc)
# 	configure_file("yaml-cpp.pc.cmake" ${PC_FILE} @ONLY)
# 	install(FILES ${PC_FILE} DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
# endif()
# 
# 
# ###
# ### Extras
# ###
# if(YAML_CPP_BUILD_TOOLS)
# 	add_subdirectory(test)
# 	add_subdirectory(util)
# endif()

# added by CSt
message (STATUS "Added library 'yaml-cpp', statically linked")
