project(brianalyze)

INCLUDE(FindPkgConfig)

cmake_minimum_required(VERSION 2.6.0)

if(COMMAND cmake_policy)
	cmake_policy(SET CMP0003 NEW)
endif(COMMAND cmake_policy)


find_package(Qt4 REQUIRED)

pkg_check_modules(JACK jack)
pkg_check_modules(FFTW fftw3f)

set(QT_USE_OPENGL TRUE)

set(brianalyze_SRCS
	main.cpp
	BrianScopeWidget.cpp
	BrianScopeControl.cpp
	BrianBlinkButton.cpp
	BrianDataSupplier.cpp
	BrianJackConnection.cpp
	BrianDataPainter.cpp
	BrianDataManager.cpp
	BrianMainWindow.cpp
	BrianCallbacks.cpp
	BrianFreqSpinBox.cpp
	BrianSlider.cpp
	BrianGridList.cpp
	BrianMetaWidget.cpp
	BrianTickWidgets.cpp
	BrianLegendWidget.cpp
	BrianDirtyRelayThread.cpp
)

set(brianalyze_UIS
	main.ui
	scopecontrol.ui
	managercontrol.ui
	brianmetawidget.ui
)

set(brianalyze_RESOURCES
	brianalyze.qrc
)

QT4_WRAP_UI(brianalyze_UIS_H ${brianalyze_UIS})

QT4_ADD_RESOURCES(brianalyze_RESOURCES_SRCS ${brianalyze_RESOURCES})

include_directories(${QT_INCLUDE_DIR} ${QT_QTOPENGL_INCLUDE_DIR} ${JACK_INCLUDE_DIRS} ${FFTW_INCLUDE_DIRS} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})

add_executable(brianalyze ${brianalyze_SRCS} ${brianalyze_UIS_H} ${brianalyze_RESOURCES_SRCS} )

qt4_automoc(${brianalyze_SRCS})

target_link_libraries(brianalyze ${QT_LIBRARIES} ${QT_QTOPENGL_LIBRARY_RELEASE} ${QT_QTGUI_LIBRARY_RELEASE} ${JACK_LDFLAGS} ${FFTW_LDFLAGS})

INSTALL(TARGETS brianalyze RUNTIME DESTINATION bin)
