как остановить cmake для восстановления статических библиотек, если они уже присутствуют - PullRequest
0 голосов
/ 10 ноября 2019

У меня следующая структура проекта

CmakeLists.txt
    src/main.cpp
      A/CMakeLists.txt
      A/test.cpp
      B/CMakeLists.txt
      B/other.cpp
   libs/

Конфигурация сборки написана таким образом, что подкаталоги компилируются как статические библиотеки (хранятся в библиотеках), а затем используются для создания окончательного двоичного файла.

Теперь предположим, что я перенесу этот проект в свой каталог, только с библиотеками CMakeLists.txt, исходными файлами и статическими библиотеками.

При компиляции проекта он / она должен заново перекомпилировать все исходные файлы, несмотря на то, что библиотеки уже есть.

Есть ли способ сказать cmake повторно использовать предварительную сборкустатические библиотеки ??

Выдержка из верхнего cmakelist.txt.

add_subdirectory (${PROJECT_SOURCE_DIR}/src/A)
add_subdirectory (${PROJECT_SOURCE_DIR}/src/B)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/libs)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/libs)

add_executable(myBinary ${PROJECT_SOURCE_DIR}/src/main.cpp )
add_dependencies(myBinary A B)
target_link_libraries (myBinary A B)

Подкаталог cmakelist.txt.

project (A)
file(GLOB SOURCES "*.cpp")
add_library (A STATIC ${SOURCES})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...