
CMAKE_MINIMUM_REQUIRED ( VERSION 2.8 )

INCLUDE ( CheckIncludeFiles )

CONFIGURE_FILE (
	${CMAKE_CURRENT_SOURCE_DIR}/config.hpp.cmake
	${CMAKE_CURRENT_BINARY_DIR}/config.hpp )


SET ( SRC_GUI
	alsa.cpp
	tree_view_kv.cpp
	static_tree.cpp
	static_tree_model.cpp
	alsa_config_model.cpp
	alsa_config_view.cpp
	text_browser.cpp
	info_view.cpp
	main_window.cpp
	main.cpp
)


SET ( SRC_GUI_HEADER_MOC
	tree_view_kv.hpp
	alsa_config_model.hpp
	alsa_config_view.hpp
	info_view.hpp
	main_window.hpp
)


ADD_DEFINITIONS ( "-Wextra -Wunused -Wall" )

SET ( CMAKE_CXX_FLAGS_DEBUG "-O0 -g -DDEBUG -fno-inline" )
SET ( CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG -Wl,--as-needed" )


# Find modules

SET ( QT_USE_QTCORE TRUE )
SET ( QT_USE_QTGUI TRUE )
SET ( QT_USE_QTSVG TRUE )
SET ( QT_USE_QTNETWORK TRUE )

FIND_PACKAGE ( Qt4 4.6 REQUIRED )
FIND_PACKAGE ( ALSA REQUIRED )


# QT stuff

INCLUDE ( ${QT_USE_FILE} )

QT4_WRAP_CPP ( SRC_GUI_MOC ${SRC_GUI_HEADER_MOC} )
QT4_WRAP_CPP ( SRC_EXTRA_MOC ${SRC_EXTRA_HEADER_MOC} )

INCLUDE_DIRECTORIES ( ${CMAKE_CURRENT_SOURCE_DIR} )
INCLUDE_DIRECTORIES ( ${CMAKE_CURRENT_BINARY_DIR} )
INCLUDE_DIRECTORIES ( ${ALSA_INCLUDE_DIRS} )

ADD_EXECUTABLE (
	${PROGRAM_NAME}
	${SRC_GUI}
	${SRC_GUI_MOC}
)

TARGET_LINK_LIBRARIES (
	${PROGRAM_NAME}
	${QT_LIBRARIES}
	${ALSA_LIBRARIES}
)


# Installation

INSTALL (
	TARGETS ${PROGRAM_NAME} RUNTIME
	DESTINATION ${INSTALL_DIR_BIN} )
