OPTION(BUILD_SHARED_LIBS "Build FreeGLUT shared library." ON)
OPTION(BUILD_STATIC_LIBS "Build FreeGLUT static library." ON)
+# option to also copy .pdb files to install directory when executing
+# INSTALL target
+IF(MSVC)
+ OPTION(INSTALL_PDB "Also install .pdb files" ON)
+ELSE()
+ SET(INSTALL_PDB OFF)
+ENDIF()
+
# OpenGL ES support
OPTION(FREEGLUT_GLES1 "Use OpenGL ES 1.x (requires EGL)" OFF)
OPTION(FREEGLUT_GLES2 "Use OpenGL ES 2.x (requires EGL) (overrides BUILD_GLES1)" OFF)
+
SET(FREEGLUT_HEADERS
include/GL/freeglut.h
include/GL/freeglut_ext.h
LIST(APPEND LIBS ${X11_Xxf86vm_LIB})
ENDIF()
IF(X11_Xinput_FOUND)
+ # Needed for multi-touch:
CHECK_INCLUDE_FILES("${X11_Xinput_INCLUDE_PATH}/X11/extensions/XInput2.h" HAVE_X11_EXTENSIONS_XINPUT2_H)
LIST(APPEND LIBS ${X11_Xinput_LIB})
ENDIF()
TARGET_LINK_LIBRARIES(freeglut_static ${LIBS})
ENDIF()
+
IF(BUILD_SHARED_LIBS)
INSTALL(TARGETS freeglut DESTINATION lib)
+ IF(INSTALL_PDB)
+ INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/freeglut${CMAKE_DEBUG_POSTFIX}.pdb
+ DESTINATION lib
+ CONFIGURATIONS Debug)
+ ENDIF()
ENDIF()
IF(BUILD_STATIC_LIBS)
INSTALL(TARGETS freeglut_static DESTINATION lib)
+ IF(INSTALL_PDB)
+ INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/freeglut_static${CMAKE_DEBUG_POSTFIX}.pdb
+ DESTINATION lib
+ CONFIGURATIONS Debug)
+ ENDIF()
ENDIF()
INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL)
IF(BUILD_SHARED_LIBS)
ADD_EXECUTABLE(${name} ${ARGN})
TARGET_LINK_LIBRARIES(${name} ${DEMO_LIBS} freeglut)
+ IF(WIN32 AND MSVC)
+ SET_TARGET_PROPERTIES(${name} PROPERTIES DEBUG_POSTFIX d)
+ ENDIF()
ENDIF()
IF(BUILD_STATIC_LIBS)
ADD_EXECUTABLE(${name}_static ${ARGN})
TARGET_LINK_LIBRARIES(${name}_static ${DEMO_LIBS} freeglut_static)
SET_TARGET_PROPERTIES(${name}_static PROPERTIES COMPILE_FLAGS -DFREEGLUT_STATIC)
+ IF(WIN32 AND MSVC)
+ SET_TARGET_PROPERTIES(${name}_static PROPERTIES DEBUG_POSTFIX d)
+ ENDIF()
ENDIF()
ENDIF()
ENDMACRO()
ADD_DEMO(One progs/demos/One/one.c)
ADD_DEMO(Resizer progs/demos/Resizer/Resizer.cpp)
ADD_DEMO(multi-touch progs/demos/multi-touch/multi-touch.c)
-ADD_DEMO(shapes progs/demos/shapes/shapes.c)
+ADD_DEMO(shapes progs/demos/shapes/shapes.c
+ progs/demos/shapes/glmatrix.h
+ progs/demos/shapes/glmatrix.c)
ADD_DEMO(smooth_opengl3 progs/demos/smooth_opengl3/smooth_opengl3.c)
IF(UNIX)
ADD_DEMO(spaceball progs/demos/spaceball/spaceball.c