include( FindPkgConfig.cmake )

set( APT_INCLUDES "/usr/include/" CACHE STRING "apt include path" )
set( APT_LINKDIRS "/usr/lib/" CACHE STRING "apt library path" )
set( OPT_FLAGS "-O0 -gstabs+" CACHE STRING "optimization level" )

set( HAVE_GC true CACHE BOOL "have libgc (boehm garbage collector) available" )
set( GC_LIBS gc gccpp CACHE STRTING "garbage collector library" )
set( GC_DEFS "-DGC_USE_RTLD_NEXT" CACHE STRING "garbage collector defs" )
set( GC_INCLUDES "" CACHE STRING "libgc include path" )

if ( NOT HAVE_GC )
  set( GC_LIBS "" )
  set( GC_DEFS "" )
  set( GC_INCLUDES "" )
endif( NOT HAVE_GC )

option( INTERNAL_TAGCOLL "use internal copy of tagcoll" )
option( INTERNAL_WIBBLE "use internal copy of wibble" )
option( BUILD_DEBTAGS "build debtags in a subdir" )
option( BUILD_ADEPT "build adept in a subdir" )
option( RPM "using apt-rpm" )

if( INTERNAL_WIBBLE )
ADD_SUBDIRECTORY( wibble )
SET( WIBBLE_INCLUDES ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
SET( WIBBLE_DEFS "" )
SET( WIBBLE_LINKDIRS ${tagcoll_BINARY_DIR} )
SET( WIBBLE_LIBS "wibble" )

else( INTERNAL_WIBBLE )
EPT_PKGCONFIG( "libwibble" HAVE_WIBBLE WIBBLE_INCLUDES WIBBLE_DEFS WIBBLE_LINKDIRS WIBBLE_LIBS )
endif( INTERNAL_WIBBLE )

if( INTERNAL_TAGCOLL )

SET( HAVE_TC ON )
SET( TC_INCLUDES ${CMAKE_SOURCE_DIR} )
SET( TC_DEFS "" )
SET( TC_LINKDIRS ${tagcoll_BINARY_DIR} )
SET( TC_LIBS "tagcoll" )

ADD_SUBDIRECTORY( tagcoll )

else( INTERNAL_TAGCOLL )

EPT_PKGCONFIG( "libtagcoll2 >= 2.0" HAVE_TC TC_INCLUDES TC_DEFS TC_LINKDIRS TC_LIBS )

endif( INTERNAL_TAGCOLL )

EPT_PKGCONFIG( "sigc++-2.0 >= 2.0" HAVE_SIGC SIGC_INCLUDES SIGC_DEFS SIGC_LINKDIRS SIGC_LIBS )

ADD_SUBDIRECTORY( ept )
ADD_SUBDIRECTORY( tools )
# ADD_SUBDIRECTORY( swig )

if( BUILD_DEBTAGS )
ADD_SUBDIRECTORY( debtags )
endif( BUILD_DEBTAGS) 

if( BUILD_ADEPT )
ADD_SUBDIRECTORY( adept )
endif( BUILD_ADEPT )
