Почему CMake устанавливает сторонние заголовки вместе с моим исполняемым файлом?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему CMake устанавливает сторонние заголовки вместе с моим исполняемым файлом?

Сообщение Anonymous »

Я использую CMake FetchContent_MakeAvailable для создания ряда сторонних зависимостей из github, например в файле PDFHummus.cmake

Код: Выделить всё

if(NOT PDFHummus_POPULATED)

Include(FetchContent)
FetchContent_Declare(
PDFHummus
GIT_REPOSITORY ${REPO}
GIT_TAG v4.6.8
DOWNLOAD_EXTRACT_TIMESTAMP FALSE
FIND_PACKAGE_ARGS
)
FetchContent_MakeAvailable(PDFHummus)

endif()
Позже я использую это через:

Код: Выделить всё

add_executable(${PROJECT_NAME} ${HEADERS} ${SOURCES})

target_include_directories(${PROJECT_NAME} PRIVATE include)
target_link_libraries(${PROJECT_NAME} PRIVATE PDFHummus::PDFWriter)
link_current_target_statically(${PROJECT_NAME})

install(TARGETS ${PROJECT_NAME}
RUNTIME DESTINATION bin)
Когда я собираю с помощью cmake --build --preset Debug-Windows --target=Install мой исполняемый файл правильно копируется в install/windows/bin каталог, НО все файлы заголовков и файлы CMake для PDFHummus также копируются в каталог install/windows. Это также произошло с другими сторонними библиотеками, которые я создаю.
Я предполагаю, что цели install() из сторонних библиотек вызывают проблему и добавляют дополнительные цели установки в файл build/ windows/install_manifest.txt.
Как я могу предотвратить это, чтобы копировались только те цели, которые я специально называю?
Я используя CMake 3.30.5 с MSVC и генератор MSbuild с помощью следующей команды сборки:

Код: Выделить всё

make --build --preset Debug-Windows --target=install


Подробнее здесь: https://stackoverflow.com/questions/793 ... executable
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»