Как использовать несколько каталогов переменной для PATTERN при установке? - PullRequest
0 голосов
/ 26 марта 2020

Я создал свойство GLOBAL с помощью команды:

set_property(GLOBAL PROPERTY ADDON_CPYTHON_SOURCES "")

С помощью этого свойства я добавляю неопределенное количество каталогов с помощью команды:

set_property(GLOBAL APPEND_STRING PROPERTY ADDON_CPYTHON_SOURCES "${_exclude_dir};")

Мое намерение EXCLUDE все эти каталоги в команде install:

  get_property(_exclude_dirs GLOBAL PROPERTY ADDON_CPYTHON_SOURCES)

  install(
    DIRECTORY ${CMAKE_SOURCE_DIR}
    DESTINATION ${TARGETDIR_VER}
    PATTERN ${_exclude_dirs} EXCLUDE
  )

Но это не работает. Например, если я добавлю эти два каталога:

"addons/example/src; addons/example1/src"

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

install DIRECTORY given unknown argument "addons/example1/src".

Как обойти эту проблему?

1 Ответ

1 голос
/ 27 марта 2020

Я обнаружил, что вы можете добавлять аргументы прямо в список:

set(PATTERN_SOURCES_EXCLUDE)

foreach(subdir ${subdir_list})
  list(APPEND PATTERN_SOURCES_EXCLUDE PATTERN "${subdir}" EXCLUDE)
endforeach()

install(
  DIRECTORY ${CMAKE_SOURCE_DIR}
  DESTINATION ${TARGETDIR_VER}
  ${PATTERN_SOURCES_EXCLUDE}
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...