cmake_minimum_required (VERSION 2.6)

set( PLUGIN_INSTALL_PATH "${LIB_INSTALL_DIR}/silicon/plugins" )

MESSAGE( STATUS "Finding Binaries:" )


find_program( MPG123_FOUND      mpg123        PATHS /usr/bin )
find_program( MPG321_FOUND      mpg321        PATHS /usr/bin )
find_program( WODIM_FOUND       wodim         PATHS /usr/bin )
find_program( CDRECORD_FOUND    cdrecord      PATHS /usr/bin )
find_program( MKISOFS_FOUND     mkisofs       PATHS /usr/bin )
find_program( GENISOIMAGE_FOUND genisoimage   PATHS /usr/bin )
find_program( READCD_FOUND      readcd        PATHS /usr/bin )
find_program( READOM_FOUND      readom        PATHS /usr/bin )
find_program( HAL_FOUND         hal-device    PATHS /usr/bin )
find_program( UDISKS_FOUND      udisks        PATHS /usr/bin )
find_program( FUSEISO_FOUND     fuseiso       PATHS /usr/bin )
find_program( DVD_FORMAT_FOUND  dvd+rw-format PATHS /usr/bin )
find_program( POLKIT_FOUND      pkexec        PATHS /usr/bin )


if( MPG123_FOUND )
      MESSAGE( STATUS "/usr/bin/mpg123\t\t [found]" )
else ()
      MESSAGE( STATUS "/usr/bin/mpg123\t\t [not found]" )
      MESSAGE( STATUS "\tNeeded by: mpg123 Plugin" )
      MESSAGE( STATUS "\tthat working on: Converter Application" )
endif ()

if( MPG321_FOUND )
      MESSAGE( STATUS "/usr/bin/mpg321\t\t [found]" )
else ()
      MESSAGE( STATUS "/usr/bin/mpg321\t\t [not found]" )
      MESSAGE( STATUS "\tNeeded by: mpg321 Plugin" )
      MESSAGE( STATUS "\tthat working on: Converter Application" )
endif ()

if( WODIM_FOUND )
      MESSAGE( STATUS "/usr/bin/wodim\t\t [found]" )
else ()
      if( CDRECORD_FOUND )
	    MESSAGE( STATUS "/usr/bin/cdrecord\t\t [found]" )
      else ()
            MESSAGE( STATUS "/usr/bin/wodim\t\t [not found]" )
	    MESSAGE( STATUS "/usr/bin/cdrecord\t\t [not found]" )
            MESSAGE( STATUS "\tNeeded by: CdRecord, MkDiscFs and AudioCdRecord Plugins" )
            MESSAGE( STATUS "\tthat working on: CopyDisc, ImageBurner, AudioDisc and DataDisc Applications" )
      endif ()
endif ()

if( MKISOFS_FOUND )
      MESSAGE( STATUS "/usr/bin/mkisofs\t\t [found]" )
else ()
      if( GENISOIMAGE_FOUND )
	    MESSAGE( STATUS "/usr/bin/genisoimage\t\t [found]" )
      else ()
            MESSAGE( STATUS "/usr/bin/mkisofs\t\t [not found]" )
	    MESSAGE( STATUS "/usr/bin/genisoimage\t\t [not found]" )
            MESSAGE( STATUS "\tNeeded by: MkIsoFs and MkDiscFs Plugins" )
            MESSAGE( STATUS "\tthat working on: DataDisc Application" )
      endif ()
endif ()

if( READCD_FOUND )
      MESSAGE( STATUS "/usr/bin/readcd\t\t [found]" )
else ()
      if( READOM_FOUND )
	    MESSAGE( STATUS "/usr/bin/readom\t\t [found]" )
      else ()
            MESSAGE( STATUS "/usr/bin/readcd\t\t [not found]" )
            MESSAGE( STATUS "\tNeeded by: ReadCd Plugin" )
            MESSAGE( STATUS "\tthat working on: DiscScanner and DiscImaging Applications" )
      endif ()
endif ()

if( HAL_FOUND )
      MESSAGE( STATUS "/usr/bin/hal-device\t\t [found]" )
else ()
      MESSAGE( STATUS "/usr/bin/hal-device\t\t [not found]" )
      MESSAGE( STATUS "\tNeeded by: HalDeviceNotifier and HalUDisk Plugins" )
      MESSAGE( STATUS "\tthat working on: To Detect devices ..." )
endif ()

if( UDISKS_FOUND )
      MESSAGE( STATUS "/usr/bin/udisks\t\t [found]" )
else ()
      MESSAGE( STATUS "/usr/bin/udisks\t\t [not found]" )
      MESSAGE( STATUS "\tNeeded by: UDisks and HalUDisk Plugins" )
      MESSAGE( STATUS "\tthat working on: To Detect devices ..." )
endif ()

if( FUSEISO_FOUND )
      MESSAGE( STATUS "/usr/bin/fuseiso\t\t [found]" )
else ()
      MESSAGE( STATUS "/usr/bin/fuseiso\t\t [not found]" )
      MESSAGE( STATUS "\tNeeded by: FUseIso Plugin" )
      MESSAGE( STATUS "\tthat working on: Mounter Application" )
endif ()

if( DVD_FORMAT_FOUND )
      MESSAGE( STATUS "/usr/bin/dvd+rw-format\t [found]" )
else ()
      MESSAGE( STATUS "/usr/bin/dvd+rw-format\t [not found]" )
      MESSAGE( STATUS "\tNeeded by: Eraser Plugin" )
      MESSAGE( STATUS "\tthat working on: DiscEraser Application" )
endif ()

if( POLKIT_FOUND )
      MESSAGE( STATUS "/usr/bin/pkexec\t\t [found]" )
else ()
      MESSAGE( STATUS "/usr/bin/pkexec\t\t [not found]" )
      MESSAGE( STATUS "\tNeeded by: RootMount Plugin" )
      MESSAGE( STATUS "\tthat working on: Mounter Application" )
endif ()
MESSAGE( STATUS "\n" )




if( MPG123_FOUND OR MPG321_FOUND )

      if( CDRECORD_FOUND OR WODIM_FOUND )
          add_subdirectory (AudioCdRecord)
          MESSAGE( STATUS "Plugin: AudioCdRecord\t [YES]" )
      else()
          MESSAGE( STATUS "Plugin: AudioCdRecord\t [NO]" )
      endif ( CDRECORD_FOUND OR WODIM_FOUND )

else()
      MESSAGE( STATUS "Plugin: AudioCdRecord\t [NO]" )
endif ( MPG123_FOUND OR MPG321_FOUND )



if( MPG123_FOUND )
      add_subdirectory (mpg123)
      MESSAGE( STATUS "Plugin: mpg123\t\t [YES]" )
else()
      MESSAGE( STATUS "Plugin: mpg123\t\t [NO]" )
endif (MPG123_FOUND )



if( MPG321_FOUND )
      add_subdirectory (mpg321)
      MESSAGE( STATUS "Plugin: mpg321\t\t [YES]" )
else()
      MESSAGE( STATUS "Plugin: mpg321\t\t [NO]" )
endif (MPG321_FOUND )



if( CDRECORD_FOUND OR WODIM_FOUND )
      add_subdirectory (CdRecord)
      MESSAGE( STATUS "Plugin: CdRecord\t\t [YES]" )
else()
      MESSAGE( STATUS "Plugin: CdRecord\t\t [NO]" )
endif ( CDRECORD_FOUND OR WODIM_FOUND )



if( DVD_FORMAT_FOUND )
      add_subdirectory (Eraser)
      MESSAGE( STATUS "Plugin: Eraser\t\t [YES]" )
else ()
      MESSAGE( STATUS "Plugin: Eraser\t\t [NO]" )
endif ( DVD_FORMAT_FOUND )



if( FUSEISO_FOUND )
      add_subdirectory (FUseIso)
      MESSAGE( STATUS "Plugin: FUseIso\t\t [YES]" )
else ()
      MESSAGE( STATUS "Plugin: FUseIso\t\t [NO]" )
endif ( FUSEISO_FOUND )



if( HAL_FOUND )
      add_subdirectory (HalDeviceNotifier)
      MESSAGE( STATUS "Plugin: HalDeviceNotifier\t [YES]" )
else ()
      MESSAGE( STATUS "Plugin: HalDeviceNotifier\t [NO]" )
endif ( HAL_FOUND )



if( HAL_FOUND AND UDISKS_FOUND )
      add_subdirectory (HalUDisk)
      MESSAGE( STATUS "Plugin: HalUDisk\t\t [YES]" )
else ()
      MESSAGE( STATUS "Plugin: HalUDisk\t\t [NO]" )
endif ( HAL_FOUND AND UDISKS_FOUND )



if( UDISKS_FOUND )
      add_subdirectory (UDisks)
      MESSAGE( STATUS "Plugin: UDisks\t\t [YES]" )
else()
      MESSAGE( STATUS "Plugin: UDisks\t\t [NO]" )
endif (UDISKS_FOUND )



if( TAGLIB_FOUND )
      add_subdirectory (LyricBrowser)
      MESSAGE( STATUS "Plugin: LyricBrowser\t\t [YES]" )
      add_subdirectory (NowPlaying)
      MESSAGE( STATUS "Plugin: NowPlaying\t\t [YES]" )
else()
      MESSAGE( STATUS "Plugin: LyricBrowser\t\t [NO]" )
      MESSAGE( STATUS "Plugin: NowPlaying\t\t [NO]" )
endif ( TAGLIB_FOUND )



if( READCD_FOUND OR READOM_FOUND )
      add_subdirectory (ReadCd)
      MESSAGE( STATUS "Plugin: ReadCd\t\t [YES]" )
else()
      MESSAGE( STATUS "Plugin: ReadCd\t\t [NO]" )
endif ( READCD_FOUND OR READOM_FOUND )



if( MKISOFS_FOUND OR GENISOIMAGE_FOUND )
      add_subdirectory (MkIsoFs)
      MESSAGE( STATUS "Plugin: MkIsoFs\t\t [YES]" )

      if( WODIM_FOUND OR CDRECORD_FOUND )
            add_subdirectory (MkDiscFs)
            MESSAGE( STATUS "Plugin: MkDiscFs\t\t [YES]" )
      else()
            MESSAGE( STATUS "Plugin: MkDiscFs\t\t [NO]" )
      endif (WODIM_FOUND OR CDRECORD_FOUND)

else()
      MESSAGE( STATUS "Plugin: MkIsoFs\t\t [NO]" )
      MESSAGE( STATUS "Plugin: MkDiscFs\t\t [NO]" )
endif ( MKISOFS_FOUND OR GENISOIMAGE_FOUND )



if( POLKIT_FOUND )
      add_subdirectory (RootMount)
      MESSAGE( STATUS "Plugin: RootMount\t\t [YES]" )
else()
      MESSAGE( STATUS "Plugin: RootMount\t\t [NO]" )
endif (POLKIT_FOUND)



add_subdirectory (SingleInnerDialog)
MESSAGE( STATUS "Plugin: SingleInnerDialog\t [YES]" )
add_subdirectory (SingleInnerDialogQML)
MESSAGE( STATUS "Plugin: SingleInnerDialogQML\t [YES]" )
add_subdirectory (SystemTray)
MESSAGE( STATUS "Plugin: SystemTray\t\t [YES]" )
add_subdirectory (TagargAudioDisc)
MESSAGE( STATUS "Plugin: TagargAudioDisc\t [YES]" )

#add_subdirectory (Win32DeviceNotifier)

MESSAGE( STATUS "\n" )
