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,它将起作用。 ,进行安装 但是,如果我尝试从基础版本或从构建版本开始,它将重复