CMake在安装特定文件后创建符号链接

时间:2019-07-31 08:34:26

标签: cmake install

当前存在的问题是某些特定的配置文件应位于文件夹中,并且其中一些配置文件需要具有指向其他位置的符号链接。 (旧版代码,不允许更改目录结构或逻辑)

我的想法是以下代码:

set(SRC_LIST 
    ex1.cfg
)

set(TARGET_LIST 
    ex1_with_fancy_name.cfg
)

while(${SRC_LIST} AND ${TARGET_LIST})
    list(GET ${SRC_LIST} 0 SRC)
    list(GET ${TARGET_LIST} 0 TARGET)

    ADD_CUSTOM_COMMAND( 
        OUTPUT ${TARGET}
        COMMAND ln -s ${SRC} ${TARGET}
        DEPENDS ${TARGET} 
        WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/some_folder
    )

    ADD_CUSTOM_TARGET(
        link_${TARGET} 
        DEPENDS ${TARGET} 
    )

    list(REMOVE_AT ${SRC_LIST} 0)
    list(REMOVE_AT ${TARGET_LIST} 0)
endwhile(${SRC_LIST} AND ${TARGET_LIST})

问题是,如果我启动make install,将不会执行这些自定义目标或命令。

奖金问题:make install -j是否像make一样加快了安装过程?

有想法可以从这里尝试:Create a custom symbolic link to a library at install time with CMake

0 个答案:

没有答案