project(KDEBASE_WORKSPACE)

# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules )


#search packages used by KDE
find_package(KDE4 REQUIRED)
find_package(Strigi REQUIRED)
find_package(QImageBlitz REQUIRED)

macro_optional_find_package(USB)
macro_optional_find_package(Fontconfig)
macro_optional_find_package(OpenGL)

include (MacroLibrary)
include (KDE4Defaults)

include(ConfigureChecks.cmake)
if (NOT WIN32)
    configure_file(config-unix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-unix.h )
    configure_file(config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h )
    if (NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr")
        set(EXPORT_XCURSOR_PATH "export XCURSOR_PATH=${CMAKE_INSTALL_PREFIX}/share/icons:$XCURSOR_PATH\":~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons\"")
    endif (NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr")
    configure_file (startkde.cmake ${CMAKE_CURRENT_BINARY_DIR}/startkde  @ONLY)
    configure_file (safestartkde.cmake ${CMAKE_CURRENT_BINARY_DIR}/safestartkde  @ONLY)
endif (NOT WIN32)
configure_file (config-workspace.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-workspace.h )

add_definitions (${QT_DEFINITIONS} ${KDE4_DEFINITIONS} -DHAVE_CONFIG_H=1)
include_directories (${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})

set( backgroundlib_SRCS
    ${CMAKE_CURRENT_SOURCE_DIR}/kcontrol/kdm/background/bgrender.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/kcontrol/kdm/background/bgsettings.cpp
)

set( kcmbackgroundlib_SRCS
    ${CMAKE_CURRENT_SOURCE_DIR}/kcontrol/kdm/background/bgdialog.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/kcontrol/kdm/background/bgadvanced.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/kcontrol/kdm/background/bgmonitor.cpp
    ${CMAKE_CURRENT_SOURCE_DIR}/kcontrol/kdm/background/bgwallpaper.cpp
)

include_directories(
    ${CMAKE_CURRENT_BINARY_DIR}
    ${CMAKE_CURRENT_SOURCE_DIR}/kdm
    ${CMAKE_CURRENT_SOURCE_DIR}/libs
    ${CMAKE_CURRENT_SOURCE_DIR}/libs/kworkspace
)
# libs
add_subdirectory(cmake)
add_subdirectory(libs)

# system settings (kcontrol replacement)
macro_optional_add_subdirectory( systemsettings )

# core apps
macro_optional_add_subdirectory( kcheckpass )
macro_optional_add_subdirectory( kscreensaver )
macro_optional_add_subdirectory( solid )
macro_optional_add_subdirectory( ksmserver )
macro_optional_add_subdirectory( kcminit )
macro_optional_add_subdirectory( ksplash )
macro_optional_add_subdirectory( ksysguard )
macro_optional_add_subdirectory( klipper )
macro_optional_add_subdirectory( kmenuedit )
macro_optional_add_subdirectory( krunner )
macro_optional_add_subdirectory( kwin )
macro_optional_add_subdirectory( plasma )
macro_optional_add_subdirectory( kstartupconfig )

macro_optional_add_subdirectory( khotkeys )

# apps we need to figure out what to do with
macro_optional_add_subdirectory( kcontrol )
macro_optional_add_subdirectory( ksystraycmd )
# data
macro_optional_add_subdirectory( cursors )
macro_optional_add_subdirectory( doc )
macro_optional_add_subdirectory( wallpapers )

if(X11_Xau_FOUND AND X11_Xdmcp_FOUND)
    add_subdirectory( kdm )
else(X11_Xau_FOUND AND X11_Xdmcp_FOUND)
    message(STATUS "Xau lib or Xdmcp lib was missing. kdm will not compile")
endif(X11_Xau_FOUND AND X11_Xdmcp_FOUND)

# This line looks very wrong, it should go.
# Does anybody know why it's here ? If so, let me know. Alex
SET(krunner_DEPENDS "plasma")

########### install files ###############
if (NOT WIN32)
    install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/startkde DESTINATION ${BIN_INSTALL_DIR})
    install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/safestartkde DESTINATION ${BIN_INSTALL_DIR})
endif (NOT WIN32)

if(CMAKE_SOURCE_DIR STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
    macro_display_feature_log()
endif(CMAKE_SOURCE_DIR STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
