Here is my solution:
I transform the bounding vertices into the light-view space. Then project it. By using a normalized orthographic projection matrix I directly get the values I want.
Many thanks to @GClements for your help!
void adjustLight(glm::mat4 shadow_model_view)
{
glm::vec4 tmp;
float x_min = 0.f;
float x_max = 0.f;
float y_min = 0.f;
float y_max = 0.f;
for (glm::vec3 v : object.boundingVertices) // before bbPoints
{
tmp = shadow_model_view * glm::vec4(v, 1.f) ;
tmp = glm::ortho(-1.f, 1.f, -1.f, 1.f, -1.f, 1.f) * tmp;
if (tmp.x < x_min)
x_min = tmp.x;
if (tmp.x > x_max)
x_max = tmp.x;
if (tmp.y < y_min)
y_min = tmp.y;
if (tmp.y > y_max)
y_max = tmp.y;
}
// z_min und z_max are predefined
lightsource_projection = glm::ortho(x_min, x_max, y_min, y_max, z_min, z_max);
}
PS: @CarstenT you were richt as well. In the construction of A the location of the plane was missing. So in the end I had a 3x3 matrix but it still did not work.