Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

answered 2011-07-10 13:40:18 -0600

sam gravatar image

I can share you one example:glut

CMakeLists.txt

 cmake_minimum_required(VERSION 2.4.6)

 include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)



 # Set the build type.  Options are:

 #  Coverage       : w/ debug symbols, w/o optimization, w/ code-coverage

 #  Debug          : w/ debug symbols, w/o optimization

 #  Release        : w/o debug symbols, w/ optimization

 #  RelWithDebInfo : w/ debug symbols, w/ optimization

 #  MinSizeRel     : w/o debug symbols, w/ optimization, stripped binaries

 #set(ROS_BUILD_TYPE RelWithDebInfo)



 rosbuild_init()



 #set the default path for built executables to the "bin" directory

 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

 #set the default path for built libraries to the "lib" directory

 set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)



 #uncomment if you have defined messages

 #rosbuild_genmsg()

 #uncomment if you have defined services

 #rosbuild_gensrv()



 #common commands for building c++ executables and libraries

 #rosbuild_add_library(${PROJECT_NAME} src/example.cpp)

 #target_link_libraries(${PROJECT_NAME} another_library)

 #rosbuild_add_boost_directories()

 #rosbuild_link_boost(${PROJECT_NAME} thread)

 #rosbuild_add_executable(example examples/example.cpp)

 #target_link_libraries(example ${PROJECT_NAME})

 rosbuild_add_executable(glut_test src/glut_test.cpp)

 target_link_libraries(glut_test /usr/lib/libglut.a)

 target_link_libraries(glut_test /usr/lib/libglut.so)

glut_test.cpp

 #include <GL/glut.h>



 void renderScene(void) {    

     glClear(GL_COLOR_BUFFER_BIT);

     glBegin(GL_TRIANGLES);

     glVertex3f(-0.5,-0.5,0.0);

     glVertex3f(0.5,0.0,0.0);

     glVertex3f(0.0,0.5,0.0);

     glEnd();

     glFlush();

 }



 int main(int argc, char **argv) {

     glutInit(&argc, argv);

     glutInitDisplayMode(GLUT_DEPTH | GLUT_SINGLE | GLUT_RGBA);

     glutInitWindowPosition(100,100);

     glutInitWindowSize(320,320);

     glutCreateWindow("3D Tech- GLUT Tutorial");

     glutDisplayFunc(renderScene);

     glutMainLoop();

     return 0;

 }