PROJECT(nuapplet2)

# apt-get install libqt4-dev
INCLUDE(FindQt4)
INCLUDE(FindNuclient.cmake)

IF (NOT QT4_FOUND)
	MESSAGE(FATAL_ERROR "Qt4 development files not found. Please install libqt4-dev")
ENDIF (NOT QT4_FOUND)

IF (NOT NUCLIENT_FOUND)
	MESSAGE(FATAL_ERROR "Libnuclient development files not found. Please install libnuclient-dev")
ENDIF (NOT NUCLIENT_FOUND)

INCLUDE(${QT_USE_FILE})

ADD_DEFINITIONS(${QT_DEFINITIONS})
ADD_DEFINITIONS(-DTRANSLATION_DIR='"${CMAKE_INSTALL_PREFIX}/share/qt4/translations/"' -DDATA_DIR='"${CMAKE_INSTALL_PREFIX}/share/nuapplet2/"' ${LIBNUCLIENT_DEFINITIONS})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${NUCLIENT_INCLUDE_DIR})
LINK_DIRECTORIES(${QT_LIBRARY_DIR} ${NUCLIENT_LIBRARY_DIR})

IF(APPLE)
	ADD_DEFINITIONS(-DFREEBSD)
ENDIF(APPLE)

SET(GUI_SRCS
	auth_dlg.cpp
	editbox.cpp
	preferences.cpp
	systray.cpp
	thread_session.cpp
	)

SET(GUI_HDRS
	auth_dlg.h
	editbox.h
	preferences.h
	systray.h
	thread_session.h
	)

# there's a typo in cmake documentation: QT4_ADD_RESOURCES (with an S)
QT4_ADD_RESOURCES(GUI_SRCS application.qrc)

# for this to work, $name.cpp file must include $name.moc
QT4_AUTOMOC( ${GUI_SRCS} )

ADD_EXECUTABLE(nuapplet2
	main.cpp
	${GUI_SRCS}
	${GUI_HDRS}
	)

#QT4_GENERATE_MOC(${CMAKE_CURRENT_SOURCE_DIR}/mainwindow.h ${CMAKE_CURRENT_BINARY_DIR}/moc_mainwindow.cpp)
##QT4_AUTOMOC(${GUI_HDRS)

TARGET_LINK_LIBRARIES(nuapplet2 ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${NUCLIENT_LIBRARY})

INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/nuapplet2 DESTINATION bin)
INSTALL(FILES nuapplet2.desktop DESTINATION share/applications)
INSTALL(FILES images/nuapplet2-running.png DESTINATION share/pixmaps)
INSTALL(FILES images/inl.png DESTINATION share/nuapplet2)
INSTALL(FILES lang/nuapplet2_fr_FR.qm DESTINATION share/qt4/translations)

SET(ts_files "lang/nuapplet2_fr_FR.ts")
ADD_CUSTOM_TARGET(lupdate
	COMMAND
		"lupdate"
		"*.cpp"
		"*.h"
		-ts "${ts_files}"
	WORKING_DIRECTORY
		${CMAKE_CURRENT_SOURCE_DIR}
	COMMENT
		"Runs lupdate command"
)

ADD_CUSTOM_TARGET(lrelease
	COMMAND
		"lrelease"
		"${ts_files}"
	WORKING_DIRECTORY
		${CMAKE_CURRENT_SOURCE_DIR}
	COMMENT
		"Runs lrelease command"
)

## Packaging infos
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "NuApplet")
SET(CPACK_PACKAGE_VENDOR "INL")
#SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
#SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "1")
SET(CPACK_PACKAGE_VERSION_PATCH "0")
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CMake ${CMake_VERSION_MAJOR}.${CMake_VERSION_MINOR}")
INCLUDE(CPack)


