OPTION(IVP_BUILD_@LIBNAME@ "Build Python wrapper library @LIBNAME@" @IVP_BUILD_BY_DEFAULT@)

IF("${IVP_BUILD_@LIBNAME@}" STREQUAL "ON")
   INCLUDE(FindSWIG)
   INCLUDE(FindPythonLibs)
   
   IF(NOT ${SWIG_FOUND})
      MESSAGE(STATUS "Won't be able to build the @LIBNAME@ library, because "
         "CMake can't find the 'swig' program that's used to my Python wrappers "
         "for C++ libraries.")
   ENDIF(NOT ${SWIG_FOUND})
   
   IF("${PYTHON_INCLUDE_PATH}" STREQUAL "")
      SET(PYTHON_INCLUDE_PATH_FOUND 0)
      MESSAGE(STATUS "Won't be able to build the @LIBNAME@ library, because "
         "CMake can't find the Python.h.  If you know where it is, you should be "
         "able to fix this by setting the CMake variable PYTHON_INCLUDE_PATH "
         "to the directory containing the right version of Python.h")
   ELSE("${PYTHON_INCLUDE_PATH}" STREQUAL "")
      SET(PYTHON_INCLUDE_PATH_FOUND 1)
   ENDIF("${PYTHON_INCLUDE_PATH}" STREQUAL "")
   
   IF(${SWIG_FOUND} AND ${PYTHON_INCLUDE_PATH_FOUND})
      INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})

      GET_FILENAME_COMPONENT(INTERFACE_FILE_BASENAME "@INTERFACE_FILENAME@" NAME_WE)
      SET(WRAPPER_CXX_FILANEME ${INTERFACE_FILE_BASENAME}_wrap.cxx)
      
      ADD_CUSTOM_COMMAND(
         OUTPUT ${WRAPPER_CXX_FILANEME}
         COMMAND ${SWIG_EXECUTABLE} -python -c++ -shadow -dirprot @INTERFACE_FILENAME@
         DEPENDS @INTERFACE_FILENAME@
         )
      
      ADD_LIBRARY(@LIBNAME@ SHARED
         ${WRAPPER_CXX_FILANEME}
         )

      IF("${IVP_PACKAGE_VERSION}" STREQUAL "")
         MESSAGE(STATUS "@LIBNAME@: IVP_PACKAGE_VERSION not set, so not creating install component.")
      ELSE("${IVP_PACKAGE_VERSION}" STREQUAL "")
         INSTALL(
            TARGETS @LIBNAME@
            DESTINATION lib/ivp-${IVP_PACKAGE_VERSION}
            COMPONENT @IVP_INSTALL_COMPONENT@)
   
         FILE(GLOB IVP_PUBLIC_HEADERS *.h)
   
         INSTALL(
            FILES ${IVP_PUBLIC_HEADERS}
            DESTINATION include/ivp-${IVP_PACKAGE_VERSION}/@IVP_SUBDIR_NAME@
            COMPONENT @IVP_INSTALL_COMPONENT@
            )
      ENDIF("${IVP_PACKAGE_VERSION}" STREQUAL "")
   ENDIF(${SWIG_FOUND} AND ${PYTHON_INCLUDE_PATH_FOUND})
ENDIF("${IVP_BUILD_@LIBNAME@}" STREQUAL "ON")