PROJECT(yawp)
cmake_minimum_required(VERSION 2.6)

#if you don't want the full compiler output, remove the following line
SET(CMAKE_VERBOSE_MAKEFILE ON)

#add definitions, compiler switches, etc.
ADD_DEFINITIONS(-Wall -O2)

## Find the required Libaries
##
FIND_PACKAGE(KDE4 REQUIRED)
INCLUDE(KDE4Defaults)
INCLUDE(MacroLibrary)

find_package(KDE4Workspace QUIET)

## Need a better way to find cmake scripts at arb locations
if ( NOT ${KDE4Workspace_FOUND} )
  message("COULD NOT FIND KDE4Workspace TRYING /usr/lib64/cmake/KDE4Workspace-4.3.1")
  SET (KDE4Workspace_DIR /usr/lib64/cmake/KDE4Workspace-4.3.1)
  find_package(KDE4Workspace REQUIRED)
endif ( NOT ${KDE4Workspace_FOUND} )

if ( ${KDE_VERSION} VERSION_LESS "4.1.90" )
	find_package(Plasma REQUIRED)
else ( ${KDE_VERSION} VERSION_LESS "4.1.90" )
	set( PLASMA_LIBS ${KDE4_PLASMA_LIBS} )
endif ( ${KDE_VERSION} VERSION_LESS "4.1.90" )

if ( ${KDE_VERSION} VERSION_GREATER "4.2.9" )
	set( KDE4WORKSPACE_WEATHERION_LIBRARY weather_ion)
endif ( ${KDE_VERSION} VERSION_GREATER "4.2.9" )

INCLUDE_DIRECTORIES(
	${QT_INCLUDES}
	${KDE4_INCLUDE_DIR}
	${KDE4_INCLUDES}
	${KDE4WORKSPACE_INCLUDE_DIR}
	${CMAKE_CURRENT_SOURCE_DIR}
	)

add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})
# add_definitions( -DKDE_DEFAULT_DEBUG_AREA=9999 )

## enable or disable the src/logger/streamlogger.cpp log-system
## when disabling the logsystem, no debug output occurs
add_definitions( -DENABLE_DSTREAMLOGGER )
add_definitions( -DEXTENDED_DEBUG_OUTPUT )


##	DEFINE THE PACKAGE VERSION AND NAME
SET(MAJOR_VERSION 0)
SET(MINOR_VERSION 3)
SET(PATCH_VERSION 2)
SET(YAWP_NAME     "yaWP")

configure_file(config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
macro_display_feature_log()


### Define some variables we need in subdires applet and ions
STRING(REGEX REPLACE "/usr/" "" YAWP_PACK_INSTALL_LIB_DIR "${PLUGIN_INSTALL_DIR}")
STRING(REGEX REPLACE "/usr/" "" YAWP_PACK_SERVICES_DIR    "${SERVICES_INSTALL_DIR}")

add_subdirectory(applet)
add_subdirectory(ions)
add_subdirectory(po)
IF( "${BUILD_UNITTESTS}" STREQUAL "YES" )
        add_subdirectory(unittest)
ENDIF( "${BUILD_UNITTESTS}" STREQUAL "YES" )


### Package Generator
##
IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
	INCLUDE(InstallRequiredSystemLibraries)

	SET(CPACK_GENERATOR "DEB;RPM;TBZ2;TGZ;STGZ")

	SET(CPACK_PACKAGE_DESCRIPTION		"Yet Another Weather Plasmoid that shows the current weather conditions and up to 4 days forecast depending on the choosen weather engine.")
	SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY	"Plasmoid that shows weather conditions.")
	SET(CPACK_PACKAGE_VENDOR		"PlasmaFactory")
	SET(CPACK_PACKAGE_CONTACT		"PlasmaFactory <plasmafactory@jcell.co.za>")
	SET(CPACK_RESOURCE_FILE_LICENSE		"${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
	SET(CPACK_PACKAGE_VERSION_MAJOR		"${MAJOR_VERSION}")
	SET(CPACK_PACKAGE_VERSION_MINOR		"${MINOR_VERSION}")
	SET(CPACK_PACKAGE_VERSION_PATCH		"${PATCH_VERSION}")
	SET(CPACK_PACKAGE_FILE_NAME		"${CMAKE_PROJECT_NAME}-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
	SET(CPACK_SOURCE_PACKAGE_FILE_NAME	"${CMAKE_PROJECT_NAME}-${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")

	SET(CPACK_DEBIAN_PACKAGE_DEPENDS	"kdebase-runtime (>= 4:4.1.96), kdebase-workspace-libs4+5, kdelibs5 (>= 4:4.1.96), libqt4-network (>= 4.4.3), libqt4-svg (>= 4.4.3), libqt4-xml (>= 4.4.3), libqtcore4 (>= 4.4.3), libqtgui4 (>= 4.4.3), libstdc++6 (>= 4.1.1), kdebase-workspace-bin")
	SET(CPACK_DEBIAN_PACKAGE_SECTION	"kde/plasmoid")

	# List executables
	SET(CPACK_STRIP_FILES "lib//plasma_yawp.so;lib//ion_accuweather.so;lib//ion_google.so")
	SET(CPACK_COMPONENTS_ALL Libraries ApplicationData)
	INCLUDE(CPack)

ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
