cmake重复CMAKE_INSTALL_PREFIX直到出现错误

时间:2019-03-21 16:06:45

标签: c++ cmake install swig

cmake -DCMAKE_INSTALL_PREFIX="/home/usr/bin" ..
make install 

给予

-- Installing: /home/wsmith/bin/include/cms_xl/include/cms_xl/build/bin/include/cms_xl/build/bin.. 

重复直到...

ld/bin/include/cms_xl/build/bin/include/cms_xl/build/bin/include/cms_xl/build/bin/include/cms_xl/build/bin/include/cms_xl/build/bin/include/cms_xl/build/bin/include/cms_xl":
  File name too long
Call Stack (most recent call first):
  cmake_install.cmake:58 (include)

base-    s    -src

基于以下内容的文件内容CMakeLists.txt:

cmake_minimum_required(VERSION 2.8)

add_subdirectory(/home/wsmith/cmake/src/cms_xl/src)
add_subdirectory(/home/wsmith/cmake/src/cms_xl//swig)

install (TARGETS zoo  RUNTIME DESTINATION bin LIBRARY DESTINATION lib)

swig目录CMakeLists.txt看起来像

project(zoo)

include(log4cpp)
include(mysql)
include(boost)
include(perl)
include(swig)
include(setup)

set(PATH_TO_CMS_SOURCE /home/wsmith/cmake/src/cms_xl/src/)
if (NOT DEFINED CMAKE_INSTALL_PREFIX)
  set(install_override ON)
else (NOT DEFINED CMAKE_INSTALL_PREFIX)
  set(install_override OFF)
endif (NOT DEFINED CMAKE_INSTALL_PREFIX)

include_directories(${PATH_TO_PERL} ${PATH_TO_CMS} ${PATH_TO_CMS_SOURCE})

swig_create(zoo)

set_target_properties( zoo  PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
install (TARGETS zoo  RUNTIME DESTINATION bin LIBRARY DESTINATION lib)

swig.cmake(包括):

function(swig_create arg)
        FIND_PACKAGE(SWIG REQUIRED)
        INCLUDE(${SWIG_USE_FILE})
        #swig_link_libraries(${PERL_LIBRARIES})

        SET(CMAKE_SWIG_FLAGS "-Wall" "-c++")
        set_source_files_properties(${arg}.i PROPERTIES CPLUSPLUS ON)
        set_source_files_properties(${arg}.i PROPERTIES SWIG_FLAGS "-c++;-shadow")
        set_property(SOURCE ../swig/${arg}.i PROPERTY CPLUSPLUS ON)
        swig_add_library( ${arg} LANGUAGE perl SOURCES ../swig/${arg}.i )
        target_include_directories(${arg} PRIVATE ${PATH_TO_CMS_SOUCE})
endfunction()

如果我进入swig目录并执行cmake,它将起作用。 ,进行安装 但是,如果我尝试从基础版本或从构建版本开始,它将重复

0 个答案:

没有答案