+CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
PROJECT(freeglut)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
# NOTE: On Windows and Cygwin, the dll's are placed in the
# CMAKE_RUNTIME_OUTPUT_DIRECTORY, while their corresponding import
# Static libraries end up in CMAKE_ARCHIVE_OUTPUT_DIRECTORY on all
# platforms.
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
+SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
# setup version numbers
OPTION(BUILD_SHARED_LIBS "Build FreeGLUT shared library." ON)
OPTION(BUILD_STATIC_LIBS "Build FreeGLUT static library." ON)
+# option for whether warnings and errors should be printed
+OPTION(FREEGLUT_ERRORS "Lib prints errors to stderr" ON)
+#MARK_AS_ADVANCED(FREEGLUT_ERRORS)
+OPTION(FREEGLUT_WARNINGS "Lib prints warnings to stderr" ON)
+#MARK_AS_ADVANCED(FREEGLUT_WARNINGS)
+
# option to also copy .pdb files to install directory when executing
# INSTALL target
IF(MSVC)
src/fg_input_devices.c
src/fg_joystick.c
src/fg_main.c
- src/fg_main.h
src/fg_misc.c
src/fg_overlay.c
src/fg_spaceball.c
TARGET_LINK_LIBRARIES(freeglut_static ${LIBS})
ENDIF()
-
IF(BUILD_SHARED_LIBS)
- INSTALL(TARGETS freeglut DESTINATION lib)
+ INSTALL(TARGETS freeglut
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ )
IF(INSTALL_PDB)
- INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/freeglut${CMAKE_DEBUG_POSTFIX}.pdb
- DESTINATION lib
+ INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/Debug/freeglut${CMAKE_DEBUG_POSTFIX}.pdb
+ DESTINATION bin
CONFIGURATIONS Debug)
ENDIF()
ENDIF()
IF(BUILD_STATIC_LIBS)
- INSTALL(TARGETS freeglut_static DESTINATION lib)
+ INSTALL(TARGETS freeglut_static
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ )
IF(INSTALL_PDB)
- INSTALL(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/freeglut_static${CMAKE_DEBUG_POSTFIX}.pdb
+ INSTALL(FILES ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/Debug/freeglut_static${CMAKE_DEBUG_POSTFIX}.pdb
DESTINATION lib
CONFIGURATIONS Debug)
ENDIF()
ADD_DEMO(Fractals progs/demos/Fractals/fractals.c)
ADD_DEMO(Fractals_random progs/demos/Fractals_random/fractals_random.c)
ADD_DEMO(Lorenz progs/demos/Lorenz/lorenz.c)
-ADD_DEMO(One progs/demos/One/one.c)
+IF (NOT WIN32)
+ ADD_DEMO(One progs/demos/One/one.c)
+ELSE()
+ ADD_DEMO(One progs/demos/One/one.c
+ progs/demos/One/one.rc)
+ENDIF()
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