Enable building all libs as static libs

if the correct switch is used
diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt
index 1fb20bb..a4873cf 100644
--- a/cpp/CMakeLists.txt
+++ b/cpp/CMakeLists.txt
@@ -22,7 +22,7 @@
   poppler-version.cpp
 )
 
-add_library(poppler-cpp SHARED ${poppler_cpp_SRCS})
+add_library(poppler-cpp ${poppler_cpp_SRCS})
 set_target_properties(poppler-cpp PROPERTIES VERSION 0.3.0 SOVERSION 0)
 if(MINGW)
     get_target_property(POPPLER_CPP_SOVERSION poppler-cpp SOVERSION)
diff --git a/glib/CMakeLists.txt b/glib/CMakeLists.txt
index 9a09d7a..33c6608 100644
--- a/glib/CMakeLists.txt
+++ b/glib/CMakeLists.txt
@@ -84,7 +84,7 @@
   ${CMAKE_SOURCE_DIR}/poppler/CairoOutputDev.cc
   ${CMAKE_SOURCE_DIR}/poppler/CairoRescaleBox.cc
 )
-add_library(poppler-glib SHARED ${poppler_glib_SRCS} ${poppler_glib_generated_SRCS})
+add_library(poppler-glib ${poppler_glib_SRCS} ${poppler_glib_generated_SRCS})
 set_target_properties(poppler-glib PROPERTIES VERSION 8.9.0 SOVERSION 8)
 if(MINGW)
     get_target_property(POPPLER_GLIB_SOVERSION poppler-glib SOVERSION)
@@ -115,7 +115,7 @@
 endmacro(_list_prefix)
 
 # GObject Introspection
-if (HAVE_INTROSPECTION)
+if (HAVE_INTROSPECTION AND BUILD_SHARED_LIBS)
   include(GObjectIntrospectionMacros)
   set(INTROSPECTION_GIRS)
   set(INTROSPECTION_SCANNER_ARGS "--add-include-path=${CMAKE_CURRENT_SOURCE_DIR} --warn-all")
diff --git a/qt5/src/CMakeLists.txt b/qt5/src/CMakeLists.txt
index b54b025..63757c6 100644
--- a/qt5/src/CMakeLists.txt
+++ b/qt5/src/CMakeLists.txt
@@ -29,7 +29,7 @@
   poppler-media.cc
   ArthurOutputDev.cc
 )
-add_library(poppler-qt5 SHARED ${poppler_qt5_SRCS})
+add_library(poppler-qt5 ${poppler_qt5_SRCS})
 set_target_properties(poppler-qt5 PROPERTIES VERSION 1.12.0 SOVERSION 1)
 if(MINGW)
     get_target_property(POPPLER_QT5_SOVERSION poppler-qt5 SOVERSION)