
cmake_minimum_required(VERSION 2.6.0)

project(libsysactivity C)
set(LIBSA_VERSION "0.6.2")
set(CMAKE_VERBOSE_MAKEFILE TRUE)
enable_testing()

if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
	set(CMAKE_INSTALL_PREFIX "/usr")
	message(STATUS "CMAKE_INSTALL_PREFIX is not set, using default value: ${CMAKE_INSTALL_PREFIX}")
endif (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)

	# Adding compiler and linker flags
add_definitions(-Wall)
	# Checking if the -Wlogical-op flag is available
include(CheckCCompilerFlag)
check_c_compiler_flag("-Wlogical-op" HAS_LOGICAL_OP_FLAG)
if (HAS_LOGICAL_OP_FLAG)
	add_definitions(-Wlogical-op)
endif (HAS_LOGICAL_OP_FLAG)
	# Checking if the visibility flag is available
check_c_compiler_flag("-fvisibility=hidden" HAS_VISIBILITY_FLAG)
if (HAS_VISIBILITY_FLAG)
	add_definitions(-fvisibility=hidden)
endif (HAS_VISIBILITY_FLAG)
	# Adding the -flto flag to the compiler and linker when available
check_c_compiler_flag("-flto" HAS_FLTO_FLAG)
if (HAS_FLTO_FLAG)
	add_definitions(-flto)
	set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto")
endif (HAS_FLTO_FLAG)

	# Adding debug flags
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wextra -Wshadow")

add_subdirectory(src)
add_subdirectory(cmake)
add_subdirectory(test EXCLUDE_FROM_ALL)
