# $Id: CMakeLists.txt,v 1.21 2014/04/27 19:27:51 hupereir Exp $
PROJECT( BASE_TRANSPARENCY )
SET( BASE_TRANSPARENCY_VERSION_MAJOR 1 )
SET( BASE_TRANSPARENCY_VERSION_MINOR 0 )
SET( BASE_TRANSPARENCY_VERSION_PATCH 0 )
SET( BASE_TRANSPARENCY_VERSION ${BASE_TRANSPARENCY_VERSION_MAJOR}.${BASE_TRANSPARENCY_VERSION_MINOR}.${BASE_TRANSPARENCY_VERSION_PATCH} )
SET( BASE_TRANSPARENCY_SOVERSION ${BASE_TRANSPARENCY_VERSION_MAJOR}.${BASE_TRANSPARENCY_VERSION_MINOR} )

########### Qt configuration #########
IF( USE_QT5 )

  FIND_PACKAGE( Qt5Widgets REQUIRED )

ELSE()

  FIND_PACKAGE( Qt4 REQUIRED )
  INCLUDE( ${QT_USE_FILE} )
  ADD_DEFINITIONS( ${QT_DEFINITIONS} )

ENDIF()

# ########### X11 #######################
IF( UNIX  AND NOT APPLE )

  FIND_PACKAGE( X11 )
  IF( X11_FOUND )
    FIND_PACKAGE(XCB REQUIRED COMPONENTS XCB SHAPE)
    ADD_DEFINITIONS( -DHAVE_X11=${X11_FOUND} )
  ENDIF()

ELSE()

  ADD_DEFINITIONS( -DHAVE_X11=0 )

ENDIF()

########### links #########
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
LINK_DIRECTORIES( ${CMAKE_INSTALL_PREFIX}/lib )

########### includes ###############
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/base)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/base-qt)

########### next target ###############
SET( base_transparency_SOURCES
  CompositeEngine.cpp
  ShadowLabel.cpp
  TransparencyConfiguration.cpp
  TransparentWidget.cpp
)

IF( ENABLE_SHARED )

  ADD_LIBRARY( base-transparency SHARED ${base_transparency_SOURCES} )
  SET_TARGET_PROPERTIES( base-transparency PROPERTIES VERSION ${BASE_TRANSPARENCY_VERSION} SOVERSION ${BASE_TRANSPARENCY_SOVERSION} )
  INSTALL( TARGETS base-transparency DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )

ELSE()

  ADD_LIBRARY( base-transparency STATIC ${base_transparency_SOURCES} )

ENDIF()

TARGET_LINK_LIBRARIES( base-transparency ${XCB_LIBRARIES} )
TARGET_LINK_LIBRARIES( base-transparency ${QT_LIBRARIES} base-qt)

IF( USE_QT5 )

  QT5_USE_MODULES( base-transparency Widgets Network )

ENDIF()
