X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=CMakeLists.txt;h=6f6130e5aa247745e42e7b530c0d2f6e3897e017;hb=56cc35535901ef071bf8acab59ba176355ee3e0e;hp=a3217a24be71243b3b1983836babd82e49920227;hpb=d3731342100824e56908e7014f9fbceb3be78358;p=freeglut diff --git a/CMakeLists.txt b/CMakeLists.txt index a3217a2..6f6130e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ +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 @@ -9,6 +9,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6) # 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 @@ -24,11 +25,26 @@ set(VERSION_PATCH 0) 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) + 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 @@ -51,7 +67,6 @@ SET(FREEGLUT_SRCS 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 @@ -357,10 +372,28 @@ IF(BUILD_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}/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_ARCHIVE_OUTPUT_DIRECTORY}/Debug/freeglut_static${CMAKE_DEBUG_POSTFIX}.pdb + DESTINATION lib + CONFIGURATIONS Debug) + ENDIF() ENDIF() INSTALL(FILES ${FREEGLUT_HEADERS} DESTINATION include/GL) @@ -399,7 +432,12 @@ ADD_DEMO(CallbackMaker progs/demos/CallbackMaker/CallbackMaker.c) 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