FIND_PACKAGE (Boost COMPONENTS python REQUIRED)
FIND_PACKAGE (PythonLibs) #for Python bindings

MACRO (BUILD_PYTHON_BINDING TGTNAME)

  #With Cmake2.6.x and CMP003 NEW, if user sets BOOST_PYTHON_LIBRARY
  #to be the non-versioned file ("boost_python-vc90-mt.lib"), the compiler
  #will try to link with the versioned file ("boost_python-vc90-mt-1_35.lib")
  #so we need an additional search path to find it.
  LINK_DIRECTORIES (${Boost_LIBRARY_DIRS})

  ADD_LIBRARY ( ${TGTNAME} SHARED ${TARGET_SRC} ${TARGET_H} )
  INCLUDE_DIRECTORIES ( ${PYTHON_INCLUDE_PATH}
                        ${Boost_INCLUDE_DIR} )

  FOREACH (varname ${ARGN})
      TARGET_LINK_LIBRARIES ( ${TGTNAME} ${varname} )
  ENDFOREACH (varname)


  TARGET_LINK_LIBRARIES ( ${TGTNAME}
                          ${Boost_PYTHON_LIBRARY}
                        )

  #Use the debug python library, should it exist, otherwise, use the release version
  SET (PYTHON_DEBUG ${PYTHON_DEBUG_LIBRARY})

  IF (NOT PYTHON_DEBUG)
    SET (PYTHON_DEBUG ${PYTHON_LIBRARY})
  ENDIF (NOT PYTHON_DEBUG)

  TARGET_LINK_LIBRARIES ( ${TGTNAME}
                          optimized ${PYTHON_LIBRARY} debug ${PYTHON_DEBUG}
                        )

ENDMACRO (BUILD_PYTHON_BINDING)

SET (PYTHON_BINDINGS "blackbox2_python")

SET (TARGET_SRC
  python_response.cpp
  module.cpp
  module_accessors.cpp
  module_options.cpp
  module_responses.cpp
)

SET (TARGET_H
  python_response.h
)
execute_process ( COMMAND python -c "from distutils.sysconfig import get_python_version; print get_python_version()"
                  OUTPUT_VARIABLE PYTHON_VERSION
                  OUTPUT_STRIP_TRAILING_WHITESPACE)

BUILD_PYTHON_BINDING ( ${PYTHON_BINDINGS} blackbox2)

set_target_properties (blackbox2_python PROPERTIES PREFIX "")
set_target_properties (blackbox2_python PROPERTIES OUTPUT_NAME "blackbox2")

install (TARGETS blackbox2_python
         DESTINATION lib/python${PYTHON_VERSION}/dist-packages)