Fixing "cmake" with the new location of the "freeglut_xinput_x11.c" file
[freeglut] / CMakeLists.txt
index 12cc9ff..9583569 100644 (file)
@@ -1,46 +1,87 @@
 PROJECT(freeglut)\r
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)\r
 \r
+SET(FREEGLUT_HEADERS\r
+       include/GL/freeglut.h\r
+       include/GL/freeglut_ext.h\r
+       include/GL/freeglut_std.h\r
+       include/GL/glut.h\r
+)\r
 SET(FREEGLUT_SRCS\r
-       src/freeglut_callbacks.c\r
-       src/freeglut_cursor.c\r
-       src/freeglut_display.c\r
-       src/freeglut_ext.c\r
-       src/freeglut_font.c\r
-       src/freeglut_font_data.c\r
-       src/freeglut_gamemode.c\r
-       src/freeglut_geometry.c\r
-       src/freeglut_glutfont_definitions.c\r
-       src/freeglut_init.c\r
-       src/freeglut_input_devices.c\r
-       src/freeglut_joystick.c\r
-       src/freeglut_main.c\r
-       src/freeglut_menu.c\r
-       src/freeglut_misc.c\r
-       src/freeglut_overlay.c\r
-       src/freeglut_spaceball.c\r
-       src/freeglut_state.c\r
-       src/freeglut_stroke_mono_roman.c\r
-       src/freeglut_stroke_roman.c\r
-       src/freeglut_structure.c\r
-       src/freeglut_teapot.c\r
-       src/freeglut_videoresize.c\r
-       src/freeglut_window.c\r
-       src/freeglut_xinput.c\r
+       ${FREEGLUT_HEADERS}\r
+       src/Common/freeglut_callbacks.c\r
+       src/Common/freeglut_cursor.c\r
+       src/Common/freeglut_display.c\r
+       src/Common/freeglut_ext.c\r
+       src/Common/freeglut_font.c\r
+       src/Common/freeglut_font_data.c\r
+       src/Common/freeglut_gamemode.c\r
+       src/Common/freeglut_geometry.c\r
+       src/Common/freeglut_glutfont_definitions.c\r
+       src/Common/freeglut_init.c\r
+       src/Common/freeglut_internal.h\r
+       src/Common/freeglut_input_devices.c\r
+       src/Common/freeglut_joystick.c\r
+       src/Common/freeglut_main.c\r
+       src/Common/freeglut_menu.c\r
+       src/Common/freeglut_misc.c\r
+       src/Common/freeglut_overlay.c\r
+       src/Common/freeglut_spaceball.c\r
+       src/Common/freeglut_state.c\r
+       src/Common/freeglut_stroke_mono_roman.c\r
+       src/Common/freeglut_stroke_roman.c\r
+       src/Common/freeglut_structure.c\r
+       src/Common/freeglut_teapot.c\r
+       src/Common/freeglut_videoresize.c\r
+       src/Common/freeglut_window.c\r
 )\r
 \r
-#IF(WIN32)\r
-#      LIST(APPEND FREEGLUT_SRCS src/freeglut_windows.c)\r
-#ELSE()\r
-#      LIST(APPEND FREEGLUT_SRCS src/freeglut_x11.c)\r
-#ENDIF()\r
+IF(WIN32)\r
+       LIST(APPEND FREEGLUT_SRCS\r
+               src/mswin/freeglut_cursor_mswin.c\r
+               src/mswin/freeglut_display_mswin.c\r
+               src/mswin/freeglut_ext_mswin.c\r
+               src/mswin/freeglut_gamemode_mswin.c\r
+               src/mswin/freeglut_init_mswin.c\r
+               src/mswin/freeglut_internal_mswin.h\r
+               src/mswin/freeglut_input_devices_mswin.c\r
+               src/mswin/freeglut_joystick_mswin.c\r
+               src/mswin/freeglut_main_mswin.c\r
+               src/mswin/freeglut_menu_mswin.c\r
+               src/mswin/freeglut_spaceball_mswin.c\r
+               src/mswin/freeglut_state_mswin.c\r
+               src/mswin/freeglut_structure_mswin.c\r
+               src/mswin/freeglut_window_mswin.c\r
+)\r
+ELSE()\r
+       LIST(APPEND FREEGLUT_SRCS\r
+               src/x11/freeglut_cursor_x11.c\r
+               src/x11/freeglut_display_x11.c\r
+               src/x11/freeglut_ext_x11.c\r
+               src/x11/freeglut_gamemode_x11.c\r
+               src/x11/freeglut_glutfont_definitions_x11.c\r
+               src/x11/freeglut_init_x11.c\r
+               src/x11/freeglut_internal_x11.h\r
+               src/x11/freeglut_input_devices_x11.c\r
+               src/x11/freeglut_joystick_x11.c\r
+               src/x11/freeglut_main_x11.c\r
+               src/x11/freeglut_menu_x11.c\r
+               src/x11/freeglut_spaceball_x11.c\r
+               src/x11/freeglut_state_x11.c\r
+               src/x11/freeglut_structure_x11.c\r
+               src/x11/freeglut_window_x11.c\r
+               src/x11/freeglut_xinput_x11.c\r
+)\r
+\r
+\r
+ENDIF()\r
 \r
 # Neatly organize all of the output files in the build directory\r
 SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)\r
 SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)\r
 \r
 # BUILD_SHARED_LIBS is already a standard CMake variable, but we need to\r
-# re-delcare it here so it will show up in the GUI.\r
+# re-declare it here so it will show up in the GUI.\r
 OPTION(BUILD_SHARED_LIBS "Build FreeGLUT as a shared library." ON)\r
 \r
 FIND_PACKAGE(OpenGL REQUIRED)\r
@@ -75,7 +116,7 @@ ADD_DEFINITIONS(-DHAVE_CONFIG_H)
 \r
 IF(BUILD_SHARED_LIBS)\r
        IF(WIN32)\r
-               LIST(APPEND FREEGLUT_SRCS src/freeglutdll.def freeglut.rc)\r
+               LIST(APPEND FREEGLUT_SRCS src/Common/freeglutdll.def freeglut.rc)\r
        ENDIF()\r
        ADD_DEFINITIONS(-DFREEGLUT_EXPORTS)\r
 ELSE()\r
@@ -90,13 +131,17 @@ IF(NOT BUILD_SHARED_LIBS)
 ENDIF()\r
 \r
 INSTALL(TARGETS freeglut DESTINATION lib)\r
-INSTALL(DIRECTORY "${CMAKE_SOURCE_DIR}/include/GL" DESTINATION include\r
-               FILES_MATCHING PATTERN "*.h")\r
+INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL)\r
+\r
+# Optionally build demos, on by default.\r
+option( FREEGLUT_BUILD_DEMOS "Build FreeGLUT demos." ON )\r
 \r
 MACRO(ADD_DEMO name)\r
-       ADD_EXECUTABLE(${name} ${ARGN})\r
-       TARGET_LINK_LIBRARIES(${name} freeglut)\r
-       INSTALL(TARGETS ${name} DESTINATION bin)\r
+       if( FREEGLUT_BUILD_DEMOS )\r
+               ADD_EXECUTABLE(${name} ${ARGN})\r
+               TARGET_LINK_LIBRARIES(${name} freeglut)\r
+               INSTALL(TARGETS ${name} DESTINATION bin)\r
+       endif()\r
 ENDMACRO()\r
 \r
 ADD_DEMO(CallbackMaker   progs/demos/CallbackMaker/CallbackMaker.c)\r