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