# Copyright (C) 2007-2009 LuaDist. # Created by Peter Kapec # Redistribution and use of this file is allowed according to the terms of the MIT license. # For details see the COPYRIGHT file distributed with LuaDist. # Please note that the package source code is licensed under its own license. PROJECT(luaglut C) # Where to install module parts: SET (INSTALL_LMOD share/lua/lmod CACHE PATH "Directory to install Lua modules.") SET (INSTALL_CMOD share/lua/cmod CACHE PATH "Directory to install Lua binary modules.") SET (INSTALL_BIN bin CACHE PATH "Directory for binaries.") SET (INSTALL_DATA . CACHE PATH "Directory the package can store documentation, tests or other data in.") SET (INSTALL_TEST ${INSTALL_DATA}/test CACHE PATH "Recommended directory to install tests into.") # CMake configuration: CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET (CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) # We need OpenGL FIND_PACKAGE (OpenGL REQUIRED) INCLUDE_DIRECTORIES (${OPENGL_INCLUDE_DIR}) # We need Lua FIND_PACKAGE (Lua51 REQUIRED) INCLUDE_DIRECTORIES( ${LUA_INCLUDE_DIR}) # Find OpenGLUT, FreeGLUT, GLUT INCLUDE(FindOpenGLUT.cmake) INCLUDE(FindFreeGLUT.cmake) FIND_PACKAGE(GLUT) # Create luagl module ADD_LIBRARY(luagl MODULE luagl.c) TARGET_LINK_LIBRARIES(luagl ${LUA_LIBRARY} ${OPENGL_LIBRARIES}) SET_TARGET_PROPERTIES(luagl PROPERTIES PREFIX "") INSTALL(TARGETS luagl DESTINATION ${INSTALL_CMOD}) # Create memarray module ADD_LIBRARY(memarray MODULE memarray.c) SET_SOURCE_FILES_PROPERTIES(${SRC_MEMARRAY} PROPERTIES COMPILE_FLAGS "-DMEMARRAY_USE_OPENGL" ) TARGET_LINK_LIBRARIES(memarray ${LUA_LIBRARY} ) SET_TARGET_PROPERTIES(memarray PROPERTIES PREFIX "") INSTALL(TARGETS memarray DESTINATION ${INSTALL_CMOD}) # Try OpenGLUT, then FreeGLUT and finaly GLUT IF(OPENGLUT_FOUND) INCLUDE_DIRECTORIES (${OPENGLUT_INCLUDE_DIRS}) ADD_DEFINITIONS(-DUSE_OPENGLUT) SET(GLUT_LIB ${OPENGLUT_LIBRARIES}) ELSEIF(FREEGLUT_FOUND) INCLUDE_DIRECTORIES (${FREEGLUT_INCLUDE_DIR}) ADD_DEFINITIONS(-DUSE_FREEGLUT) SET(GLUT_LIB ${FREEGLUT_LIBRARIES}) ELSEIF(GLUT_FOUND) INCLUDE_DIRECTORIES (${GLUT_INCLUDE_DIR}) SET(GLUT_LIB ${GLUT_LIBRARY}) ENDIF () ADD_LIBRARY(luaglut MODULE luaglut.c) TARGET_LINK_LIBRARIES(luaglut ${LUA_LIBRARY} ${GLUT_LIB} ${OPENGL_LIBRARIES}) SET_TARGET_PROPERTIES(luaglut PROPERTIES PREFIX "") INSTALL(TARGETS luaglut DESTINATION ${INSTALL_CMOD}) # LuaGLUT Documentation INSTALL(FILES LICENSE README DESTINATION ${INSTALL_DATA}) # LuaGLUT Tests INSTALL(FILES glut_test1.lua glut_test2.lua lua.ppm DESTINATION ${INSTALL_TEST})