Fix .so dependencies: reference -lGL and -lm; only reference -lGLU for demos (Resizer)
[freeglut] / CMakeLists.txt
index 95eee54..bf77354 100644 (file)
@@ -85,8 +85,9 @@ OPTION(BUILD_SHARED_LIBS "Build FreeGLUT shared library." ON)
 OPTION(BUILD_STATIC_LIBS "Build FreeGLUT static library." ON)
 
 FIND_PACKAGE(OpenGL REQUIRED)
-
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${OPENGL_INCLUDE_DIR})
+LIST(APPEND LIBS ${OPENGL_gl_LIBRARY})
+LIST(APPEND LIBS m)
 
 IF(WIN32)
        MESSAGE(WARNING "Insecure CRT warnings hidden (might want to fix these)")
@@ -102,7 +103,11 @@ if(UNIX)
        ENDIF()
        IF(X11_xf86vmode_FOUND)
                SET(HAVE_X11_EXTENSIONS_XF86VMODE_H TRUE)
-               LIST(APPEND LIBS ${X11_xf86vmode_LIB})
+               # Work-around http://www.cmake.org/Bug/bug_view_page.php?bug_id=6976
+               IF(NOT "${X11_Xxf86vm_LIB}")
+                       SET(X11_Xxf86vm_LIB "Xxf86vm")
+               ENDIF()
+               LIST(APPEND LIBS ${X11_Xxf86vm_LIB})
        ENDIF()
 ENDIF()
 
@@ -168,7 +173,9 @@ INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL)
 # Optionally build demos, on by default.
 option( FREEGLUT_BUILD_DEMOS "Build FreeGLUT demos." ON )
 
-SET(DEMO_LIBS ${OPENGL_LIBRARY} ${LIBS})
+SET(DEMO_LIBS ${OPENGL_glu_LIBRARY} ${LIBS})
+LIST(APPEND DEMO_LIBS m)
+
 MACRO(ADD_DEMO name)
        if( FREEGLUT_BUILD_DEMOS )
                ADD_EXECUTABLE(${name} ${ARGN})