Libs in CMake einbinden



  • Hi,
    ich versuche gerade ein Glut/OpenGL-Projekt mit CMake zu erstellen.
    Mit g++ main.cpp -lglut -lGL klappt alles wunderbar, aber ich hätte das gerne als CMake-Projekt, da KDevelop damit arbeitet.
    Hier mein CMake:

    cmake_minimum_required(VERSION 2.6)
    project(test)
    
    #########################################################
    # FIND GLUT
    #########################################################
    find_package(GLUT REQUIRED)
    include_directories(${GLUT_INCLUDE_DIRS})
    link_directories(${GLUT_LIBRARY_DIRS})
    add_definitions(${GLUT_DEFINITIONS})
    if(NOT GLUT_FOUND)
        message(ERROR " GLUT not found!")
    endif(NOT GLUT_FOUND)
    
    #########################################################
    # FIND OPENGL
    #########################################################
    find_package(OpenGL REQUIRED)
    include_directories(${OpenGL_INCLUDE_DIRS})
    link_directories(${OpenGL_LIBRARY_DIRS})
    add_definitions(${OpenGL_DEFINITIONS})
    if(NOT OPENGL_FOUND)
        message(ERROR " OPENGL not found!")
    endif(NOT OPENGL_FOUND)
    
    ###############
    add_executable(test main.cpp)
    
    ########################################################
    # Linking & stuff
    #########################################################
    
    # create the program "test"
    target_link_libraries(test ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} )
    

    Folgenden Fehler erhalte ich beim Bauen:

    CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
    Please set them or make sure they are set and tested correctly in the CMake files:
    GLUT_Xi_LIBRARY (ADVANCED)
        linked by target "test" in directory /home/ibv/projects/test
    GLUT_Xmu_LIBRARY (ADVANCED)
        linked by target "test" in directory /home/ibv/projects/test
    

    Hat jemand eine Idee?

    L. G.,
    IBV



  • Ok, es lag daran, dass libxi-devel und libxmu-devel nicht installiert waren. Komisch aber, dass das mit dem gcc-Befehl kompilierfähig war. Vll., weil CMake mit find_package(GLUT REQUIRED) alles anfordert, was mit Glut zu tun hat.

    L. G.,
    IBV


Log in to reply