2015-06-12 88 views
1

我试图用CMake的配置assimp的样品CMake的错误assimp_simpletexturedogl“给没有运行时的目的地可执行目标安装目标。‘’。”

但也有一些错误,同时配置

我试过的方法很多的,但没有一个人的作品。

CMake Error at CMakeLists.txt:41 (INSTALL): 
     install TARGETS given no RUNTIME DESTINATION for executable target 
     "assimp_simpletexturedogl". 


    CMake Warning (dev) in CMakeLists.txt: 
     No cmake_minimum_required command is present. A line of code such as 

     cmake_minimum_required(VERSION 3.2) 

     should be added at the top of the file. The version specified may be lower 
     if you wish to support older CMake versions for this project. For more 
     information run "cmake --help-policy CMP0000". 
    This warning is for project developers. Use -Wno-dev to suppress it. 

    Configuring incomplete, errors occurred! 
    See also "D:/OpenGL/assimp-3.1.1-win-binaries/samples/SimpleTexturedOpenGL/made/CMakeFiles/CMakeOutput.log". 

这是我的CMakeLists.txt,任何想法将不胜感激。

我使用MSVC2013编译。

FIND_PACKAGE(OpenGL) 
FIND_PACKAGE(GLUT) 

IF (NOT GLUT_FOUND) 
    IF (MSVC) 
     SET (GLUT_FOUND 1) 
     SET (GLUT_INCLUDE_DIR ${Assimp_SOURCE_DIR}/samples/glut/) 
     SET (GLUT_LIBRARIES ${Assimp_SOURCE_DIR}/samples/glut/glut32.lib) 
    ELSE (MSVC) 
     MESSAGE(WARNING "Please install glut.") 
    ENDIF (MSVC) 
ENDIF (NOT GLUT_FOUND) 

INCLUDE_DIRECTORIES(
    ${Assimp_SOURCE_DIR}/include 
    ${Assimp_SOURCE_DIR}/code 
    ${OPENGL_INCLUDE_DIR} 
    ${GLUT_INCLUDE_DIR} 
    ${Assimp_SOURCE_DIR}/samples/DevIL/include/ 
) 

LINK_DIRECTORIES( 
    ${Assimp_BINARY_DIR} 
    ${Assimp_BINARY_DIR}/lib/ 
    ${Assimp_SOURCE_DIR}/samples/DevIL/lib/ 
) 

ADD_EXECUTABLE(assimp_simpletexturedogl WIN32 
    SimpleTexturedOpenGL/include/boost_includes.h 
    SimpleTexturedOpenGL/src/model_loading.cpp 
) 

SET_PROPERTY(TARGET assimp_simpletexturedogl PROPERTY DEBUG_POSTFIX ${ASSIMP_DEBUG_POSTFIX}) 

TARGET_LINK_LIBRARIES(assimp_simpletexturedogl assimp ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} DevIL.lib) 

SET_TARGET_PROPERTIES(assimp_simpletexturedogl PROPERTIES 
    OUTPUT_NAME assimp_simpletexturedogl 
) 

INSTALL(TARGETS assimp_simpletexturedogl 
    DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev 
) 

回答

1

您忘记指出可执行文件的文件夹。试试这个:

INSTALL( 

    TARGETS assimp_simpletexturedogl 
    RUNTIME DESTINATION bin 
    DESTINATION "${ASSIMP_BIN_INSTALL_DIR}" COMPONENT assimp-dev 
) 

我不知道为什么在CMake的是具有可执行投递文件夹(在我的例子仓)的要求,但在这里,这就是问题所在。

3

我跑进今晚和cmake的速成班后,我试过的cmake --trace-扩大这表明了一堆的变量是空白,包括$ {} ASSIMP_BIN_INSTALL_DIR。

在这一点我只装有vs2015社区.sln文件,让它升级,再由专人设置所需的东西。

大厦assimp 3.2来源是必要和cmake的这个工作得很好。我还选择编辑输出文件名以排除-mtd-130,即将它们设置为从项目默认值继承。

它为我,希望帮助别人,直到试样cmakelist文件被更新。

1

我这做以下简单的工作:

mkdir build 
cd build 
cmake .. -DASSIMP_BIN_INSTALL_DIR=`pwd` 
相关问题