#this definition is for boost.python > 1.35.0 
ADD_DEFINITIONS(-DBOOST_PYTHON_NO_PY_SIGNATURES)

INCLUDE_DIRECTORIES(
			${EMAN_SOURCE_DIR}/libEM
			${EMAN_SOURCE_DIR}/libpyEM 
			${BOOST_INCLUDE_PATH} 
			${PYTHON_INCLUDE_PATH}
			)

IF(CMAKE_SYSTEM MATCHES "IRIX.*")
    INCLUDE_DIRECTORIES(${BOOST_INCLUDE_PATH}/boost/compatibility/cpp_c_headers)
ENDIF(CMAKE_SYSTEM MATCHES "IRIX.*")

MACRO(ADD_PYSTE_LIB_WITH_SRC libname srcfile)
	ADD_LIBRARY(${libname} SHARED lib${libname}.cpp ${srcfile})
	
	if(WIN32)
		set(suffix .pyd)
	else()
		set(suffix .so)
	endif()

	set_target_properties(${libname}
			PROPERTIES
			PREFIX lib
			SUFFIX ${suffix}
			)
	
	# Windows fails without linking against freetype
	TARGET_LINK_LIBRARIES(${libname} EM2 ${BOOST_LIBRARY} ${PYTHON_LIBRARY} ${FREETYPE_LIBRARY})
	INSTALL(TARGETS ${libname} DESTINATION ${EMAN_PY_INSTALL_PREFIX})
ENDMACRO(ADD_PYSTE_LIB_WITH_SRC)

MACRO(ADD_PYSTE_LIB libname)
	ADD_PYSTE_LIB_WITH_SRC(${libname} "")
ENDMACRO(ADD_PYSTE_LIB)

ADD_PYSTE_LIB(pyAligner2)
ADD_PYSTE_LIB(pyAverager2)
ADD_PYSTE_LIB(pyCmp2)
ADD_PYSTE_LIB(pyProcessor2)
ADD_PYSTE_LIB(pyReconstructor2) 
ADD_PYSTE_LIB(pyProjector2)
ADD_PYSTE_LIB(pyEMObject2) 
ADD_PYSTE_LIB_WITH_SRC(pyEMData2 emdata_wrapitems.cpp)
ADD_PYSTE_LIB(pyGeometry2)
ADD_PYSTE_LIB(pyTransform2)
ADD_PYSTE_LIB(pyPointArray2)
#ADD_PYSTE_LIB_WITH_SRC(pyUtils2 sparx_apmq)
ADD_PYSTE_LIB(pyUtils2)
ADD_PYSTE_LIB(pyBoxingTools2)
ADD_PYSTE_LIB(pyFundamentals2)
ADD_PYSTE_LIB_WITH_SRC(pyTypeConverter2 typeconverter.cpp)
ADD_PYSTE_LIB(pyPolarData2)
ADD_PYSTE_LIB(pyAnalyzer2)
ADD_PYSTE_LIB(pyPDBReader2)

IF(WIN32)
	SET(ADDTOMO FALSE)
ELSE(WIN32)
	SET(ADDTOMO TRUE)
ENDIF(WIN32)

IF(ADDTOMO)
	ADD_PYSTE_LIB(pyTomoSeg2)
ENDIF(ADDTOMO)

IF(ENABLE_OPENGL)
    ADD_PYSTE_LIB(pyGLUtils2) 
    ADD_PYSTE_LIB(pyMarchingCubes2)   
    TARGET_LINK_LIBRARIES(pyGLUtils2 GLEM2)
    TARGET_LINK_LIBRARIES(pyMarchingCubes2 GLEM2)
	
	IF(ENABLE_FTGL)
		INCLUDE_DIRECTORIES(${FTGL_INCLUDE_PATH})
		IF(ENABLE_STATIC_FTGL)
			IF(WIN32)
				TARGET_LINK_LIBRARIES(pyGLUtils2 ${FTGL_LIBRARY} ${FREETYPE_LIBRARY})
			ELSE(WIN32)
				TARGET_LINK_LIBRARIES(pyGLUtils2 ${FTGL_LIBRARY} freetype)
			ENDIF(WIN32)
		ELSE(ENABLE_STATIC_FTGL)
			TARGET_LINK_LIBRARIES(pyGLUtils2 ${FTGL_LIBRARY})
		ENDIF(ENABLE_STATIC_FTGL)
	ENDIF(ENABLE_FTGL)
ENDIF(ENABLE_OPENGL)

SET(DBG $ENV{DEBUG})

FILE(GLOB empythonlibs "${CMAKE_CURRENT_SOURCE_DIR}/*.py")

# INSTALL(FILES ${empythonlibs} DESTINATION lib)

FOREACH(f ${empythonlibs})
	INSTALL(FILES ${f} DESTINATION ${EMAN_PY_INSTALL_PREFIX})
	IF(DBG MATCHES "y")
		MESSAGE("Copied file ${f} to ${EMAN_PY_INSTALL_PREFIX}.")
	ENDIF(DBG MATCHES "y")
ENDFOREACH(f)

# MESSAGE("empy list: ${empythonlibs}")

ADD_SUBDIRECTORY(qtgui)
