IF (WIN32)
  IF (MSVC)
    ADD_DEFINITIONS("-DPYTHON_EXPORT=__declspec(dllexport)")
  ELSE (MSVC)
    ADD_DEFINITIONS("\"-DPYTHON_EXPORT=__declspec(dllexport)\"")
  ENDIF (MSVC)
ELSE (WIN32)
  # other compilers don't use that MSVC construct
  ADD_DEFINITIONS(-DPYTHON_EXPORT=)
ENDIF (WIN32)

SET(QGISPYTHON_SRCS qgispython.cpp qgspythonutilsimpl.cpp)

INCLUDE_DIRECTORIES(
  ../core
  ../core/raster
  ../gui
  ${PYTHON_INCLUDE_PATH}
)

ADD_LIBRARY (qgispython SHARED ${QGISPYTHON_SRCS})

SET_TARGET_PROPERTIES(qgispython PROPERTIES
  CLEAN_DIRECT_OUTPUT 1)

#generate unversioned libs for android
IF (NOT ANDROID)
  SET_TARGET_PROPERTIES(qgispython PROPERTIES
    VERSION ${COMPLETE_VERSION}
    SOVERSION ${COMPLETE_VERSION}
    )
ENDIF (NOT ANDROID)

TARGET_LINK_LIBRARIES(qgispython
  qgis_core
  ${PYTHON_LIBRARY}
  ${OPENPTY_LIBRARY}
)

IF (APPLE)
  SET_TARGET_PROPERTIES(qgispython PROPERTIES BUILD_WITH_INSTALL_RPATH TRUE)
ENDIF (APPLE)

INSTALL(TARGETS qgispython
  RUNTIME DESTINATION ${QGIS_BIN_DIR}
  LIBRARY DESTINATION ${QGIS_LIB_DIR})
