diff --git a/CMakeLists.txt b/CMakeLists.txt
index ba76919c02cd6e14e8105fcb6b3a99dfde3f021e..a00682c105561ce9f4c491d320b6a0d1d2d2057d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -102,15 +102,19 @@ endif(ENABLE_PNG)
 
 include_directories(${EXTERNAL_INCLUDES})
 
-add_library(lib STATIC gl2ps.c gl2ps.h)
-set_target_properties(lib PROPERTIES OUTPUT_NAME gl2ps)
+if(OPENGL_FOUND)
+  add_library(lib STATIC gl2ps.c gl2ps.h)
+  set_target_properties(lib PROPERTIES OUTPUT_NAME gl2ps)
+
+  add_library(shared SHARED gl2ps.c gl2ps.h)
+  target_link_libraries(shared ${EXTERNAL_LIBRARIES})
+  set_target_properties(shared PROPERTIES OUTPUT_NAME gl2ps)
+  if(MSVC)
+    set_target_properties(shared PROPERTIES COMPILE_FLAGS "-DGL2PSDLL -DGL2PSDLL_EXPORTS")
+  endif(MSVC)
 
-add_library(shared SHARED gl2ps.c gl2ps.h)
-target_link_libraries(shared ${EXTERNAL_LIBRARIES})
-set_target_properties(shared PROPERTIES OUTPUT_NAME gl2ps)
-if(MSVC)
-  set_target_properties(shared PROPERTIES COMPILE_FLAGS "-DGL2PSDLL -DGL2PSDLL_EXPORTS")
-endif(MSVC)
+  install(TARGETS lib shared DESTINATION lib)
+endif(OPENGL_FOUND)
 
 if(WIN32)
   set(GL2PS_DOC .)
@@ -118,7 +122,6 @@ else(WIN32)
   set(GL2PS_DOC share/doc/gl2ps)
 endif(WIN32)
 
-install(TARGETS lib shared DESTINATION lib)
 install(FILES gl2ps.h DESTINATION include)
 install(FILES ${CMAKE_SOURCE_DIR}/README.txt DESTINATION ${GL2PS_DOC})
 install(FILES ${CMAKE_SOURCE_DIR}/COPYING.LGPL DESTINATION ${GL2PS_DOC})