2013-10-07 4 views
1

Я новичок в CMake и пытаюсь структурировать свой проект, чтобы создать общую библиотеку (игровой движок), которая затем может быть связана с одним или несколькими исполняемыми файлами (играми). Моя структура каталогов выглядит следующим образом:CMake link установленная общая библиотека

- build 
- engine 
- - include 
- - source 
- game 
- - include 
- - source 
- resources 
- scripts 

мне удалось установить общую библиотеку с помощью команды:

install(TARGETS Engine 
    EXPORT Engine 
    RUNTIME DESTINATION bin 
    LIBRARY DESTINATION lib 
    ARCHIVE DESTINATION lib) 
install(EXPORT Engine DESTINATION lib) 

Это создает следующий файл: строить/двигатель/CMakeFiles/Экспорт/Библиотека/Двигатель .cmake

Как я могу включить этот файл, чтобы связать свою библиотеку Engine с моей исполняемой игрой? Я надеялся, что это всего лишь случай использования find_package(Engine REQUIRED).

ответ

1

Вам не нужно включать файл .cmake.

После вашего add_executable для игры исполняемого файла, добавьте следующие предполагается, что ваши движки цели название игра:

target_link_libraries(Game Engine) 

CMake будет делать все волшебство за кулисами, убедившись, что двигатель построен перед игрой а затем связать игру с движком для вас.

Смежные вопросы