首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不使用'make install‘的情况下在cmake中添加符号链接

在不使用'make install‘的情况下在cmake中添加符号链接
EN

Stack Overflow用户
提问于 2013-04-27 01:44:59
回答 1查看 7K关注 0票数 1

我有一大堆的库需要构建。我为每个库创建了3个sym-link。我使用以下命令创建了两个符号链接:

代码语言:javascript
复制
add_library(${PROJECT_NAME} ${SRC})
set_target_properties(${PROJECT_NAME} PROPERTIES SOVERSION ${perception_kit_VERSION})
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} ${Boost_LIBS})

但剩下的两个是使用以下命令创建的:

代码语言:javascript
复制
#code for generating symlink. will work with make install
if (CMAKE_HOST_UNIX)
  set (libname_major_minor_patch "lib${PROJECT_NAME}.so.${perception_kit_VERSION_MAJOR}.${perception_kit_VERSION_MINOR}.${perception_kit_VERSION_PATCH}")
  set (libname_major_minor "lib${PROJECT_NAME}.so.${perception_kit_VERSION_MAJOR}.${perception_kit_VERSION_MINOR}")
  set (libname_major "lib${PROJECT_NAME}.so.${perception_kit_VERSION_MAJOR}")
  set (libname "lib${PROJECT_NAME}.so")

  install(CODE "
          EXECUTE_PROCESS (COMMAND ln -sf ${libname_major_minor_patch} ${libname_major_minor}  WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} )
")
  install(CODE "
          EXECUTE_PROCESS (COMMAND ln -sf ${libname_major_minor_patch} ${libname_major}  WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH} )
")

endif(CMAKE_HOST_UNIX)

后两个仅在使用make install时创建。有没有办法在不使用make install的情况下创建所有sym链接。?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-27 09:00:16

要执行生成后命令,可以使用add_custom_command(TARGET ...)

所以在这种情况下,我猜你会想要这样的东西

代码语言:javascript
复制
add_custom_command(
    TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND ln -sf ${libname_major_minor_patch} ${libname_major_minor}
    COMMAND ln -sf ${libname_major_minor_patch} ${libname_major}
)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16242276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档