set(TOOLKIT TKOpenGl)

set(TOOLKIT_MODULES
	OpenGl
)
set(TOOLKIT_DEPENDS
	TKernel
	TKService
	TKV3d
)

if(CMAKE_CONFIGURATION_TYPES OR NMAKE)
	set(TOOLKIT_LIBS ${OPENGL_LIBRARIES})
	set(TOOLKIT_LIBS_DEBUG ${FREETYPE_LIBRARY_DEBUG})
	set(TOOLKIT_LIBS_OPTIMIZED ${FREETYPE_LIBRARIES})
else(CMAKE_CONFIGURATION_TYPES OR NMAKE)
	set(TOOLKIT_LIBS ${OPENGL_LIBRARIES} ${FREETYPE_LIBRARIES})
endif(CMAKE_CONFIGURATION_TYPES OR NMAKE)

set(TOOLKIT_INCLUDE_DIRECTORIES ${OPENGL_INCLUDE_DIR} ${FREETYPE_INCLUDE_DIRS})

# OpenGl_Workspace::Print is available only on Windows
if(WIN32 AND FREEIMAGE_LIBRARY AND OCE_WITH_FREEIMAGE)
	add_definitions(-DHAVE_FREEIMAGE)

	if(CMAKE_CONFIGURATION_TYPES OR NMAKE)
		set(TOOLKIT_LIBS_DEBUG ${TOOLKIT_LIBS_DEBUG} ${FREEIMAGEPLUS_LIBRARY_DEBUG} ${FREEIMAGE_LIBRARY_DEBUG})
		set(TOOLKIT_LIBS_OPTIMIZED ${TOOLKIT_LIBS_OPTIMIZED} ${FREEIMAGEPLUS_LIBRARY} ${FREEIMAGE_LIBRARY})
	else (CMAKE_CONFIGURATION_TYPES OR NMAKE)
		set(TOOLKIT_LIBS ${TOOLKIT_LIBS} ${FREEIMAGEPLUS_LIBRARY} ${FREEIMAGE_LIBRARY})
	endif(CMAKE_CONFIGURATION_TYPES OR NMAKE)

	set(TOOLKIT_INCLUDE_DIRECTORIES ${TOOLKIT_INCLUDE_DIRECTORIES} ${FREEIMAGE_INCLUDE_DIR})
endif(WIN32 AND FREEIMAGE_LIBRARY AND OCE_WITH_FREEIMAGE)

if(GL2PS_LIBRARY AND OCE_WITH_GL2PS)
	add_definitions(-DHAVE_GL2PS)

	if(CMAKE_CONFIGURATION_TYPES OR NMAKE)
		set(TOOLKIT_LIBS_DEBUG ${TOOLKIT_LIBS_DEBUG} ${GL2PS_LIBRARY_DEBUG})
		set(TOOLKIT_LIBS_OPTIMIZED ${TOOLKIT_LIBS_OPTIMIZED} ${GL2PS_LIBRARY})
	else (CMAKE_CONFIGURATION_TYPES OR NMAKE)
		set(TOOLKIT_LIBS ${TOOLKIT_LIBS} ${GL2PS_LIBRARY})
	endif(CMAKE_CONFIGURATION_TYPES OR NMAKE)

	set(TOOLKIT_INCLUDE_DIRECTORIES ${TOOLKIT_INCLUDE_DIRECTORIES} ${GL2PS_INCLUDE_DIR})
endif(GL2PS_LIBRARY AND OCE_WITH_GL2PS)

if (OPENCL_FOUND AND OCE_WITH_OPENCL)
	add_definitions(-DHAVE_OPENCL)

	if(CMAKE_CONFIGURATION_TYPES OR NMAKE)
		set(TOOLKIT_LIBS_DEBUG ${TOOLKIT_LIBS_DEBUG} ${OPENCL_LIBRARIES_DEBUG})
		set(TOOLKIT_LIBS_OPTIMIZED ${TOOLKIT_LIBS_OPTIMIZED} ${OPENCL_LIBRARIES})
	else (CMAKE_CONFIGURATION_TYPES OR NMAKE)
		set(TOOLKIT_LIBS ${TOOLKIT_LIBS} ${OPENCL_LIBRARIES})
	endif(CMAKE_CONFIGURATION_TYPES OR NMAKE)

	set(TOOLKIT_INCLUDE_DIRECTORIES ${TOOLKIT_INCLUDE_DIRECTORIES} ${OPENCL_INCLUDE_DIRS})
endif (OPENCL_FOUND AND OCE_WITH_OPENCL)
if(WIN32)
    list(APPEND TOOLKIT_LIBS vfw32)
endif()

include(../BuildToolkit.cmake)

if(BORLAND AND BORLAND_VERSION_RS_XE2)
	# For bcc32 compiler v6.40 and up -x- compiler option must be passed as a compiler option
	# in stead of #pragma option -x- in code.
	foreach(source_file ${TOOLKIT_SOURCE_FILES} )
		if((source_file MATCHES "OpenGl_attri.cxx") OR
		   (source_file MATCHES "OpenGl_depthcue.cxx") OR
		   (source_file MATCHES "OpenGl_pick.cxx") OR
		   (source_file MATCHES "OpenGl_telem_util.cxx") OR
		   (source_file MATCHES "OpenGl_undefined.cxx") OR
		   (source_file MATCHES "OpenGl_view.cxx"))
			message(STATUS "(bcc32) Disabling exceptions for ${source_file}.")
			set_source_files_properties("${source_file}" PROPERTIES COMPILE_FLAGS "-x-")
		endif()
	endforeach(source_file)
endif(BORLAND AND BORLAND_VERSION_RS_XE2)
