как использовать подстановочный знак в cmake install - PullRequest
0 голосов
/ 02 июля 2019

Я могу установить один конкретный файл. При использовании подстановочного знака в той же команде он жалуется, что файл не существует.

Это тот, который работает

install(FILES  ${CMAKE_CURRENT_BINARY_DIR}/libproduction_rdict.pcm DESTINATION ${LIBRARY_OUTPUT_PATH})

Это тот, который не работает

install(FILES  ${CMAKE_CURRENT_BINARY_DIR}/*_rdict.pcm DESTINATION ${LIBRARY_OUTPUT_PATH})

Сообщение об ошибке:

-- Install configuration: ""
CMake Error at Source/cmake_install.cmake:49 (file):
  file INSTALL cannot find
  "/home/wxie/AI/CUDA/cuda_exmaple/example_2/Build/Source/*_rdict.pcm".
Call Stack (most recent call first):
  cmake_install.cmake:42 (include)

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

OK.Вот что я в итоге делаю:

add_custom_target(move_pcmfile
COMMAND mv ${BUILD_DIR}/Source/*.pcm  ${LIBRARY_OUTPUT_PATH})

После «make» я просто делаю «make move_pcmfile».Это, кажется, самый удобный способ решения моей проблемы.

0 голосов
/ 02 июля 2019

Командный поток install(FILES) требует, чтобы все файлы были указаны явно.

Для установки нескольких файлов по шаблону используйте install(DIRECTORY) и его PATTERN параметр:

install(DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR} DESTINATION ${LIBRARY_OUTPUT_PATH}
    FILES_MATCHING PATTERN "*_rdict.pcm")

Более подробную информацию о install(DIRECTORY) и шаблонах можно найти в документации .

...