message (STATUS "Preparing Python extensions")

    add_subdirectory(wrapper)

    set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
    set(SETUP_PY    "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
    set(OUTPUT      "${CMAKE_CURRENT_BINARY_DIR}/build/timestamp")

    FILE(GLOB DEPS "${CMAKE_CURRENT_SOURCE_DIR}/hammer")
    SEPARATE_ARGUMENTS(DEPS)

    file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/hammer DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

    configure_file(${SETUP_PY_IN} ${SETUP_PY} ESCAPE_QUOTES @ONLY)

    add_custom_command(OUTPUT ${OUTPUT}
                       COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} build
                       COMMAND ${CMAKE_COMMAND} -E touch ${OUTPUT}
                       DEPENDS ${DEPS} hammerlib)

    add_custom_target(PythonPackages ALL DEPENDS ${OUTPUT})

  install( CODE "execute_process(
    COMMAND ${PYTHON_EXECUTABLE} ${SETUP_PY} install -f --prefix=${CMAKE_INSTALL_PREFIX} --single-version-externally-managed --record=${CMAKE_CURRENT_BINARY_DIR}/build/filelist.txt
    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})" )
