CMake链接安装了共享库

时间:2013-10-07 22:04:08

标签: cmake shared-libraries

我是CMake的新手并且一直在尝试构建我的项目,以便我构建一个共享库(游戏引擎),然后可以链接到一个或多个可执行文件(游戏)。我的目录结构如下:

- 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)

这将创建以下文件:build / engine / CMakeFiles / Export / lib / Engine.cmake

如何包含此文件以便我可以将我的引擎库与我的游戏可执行文件链接? 我曾希望这只是使用find_package(Engine REQUIRED)

的情况

1 个答案:

答案 0 :(得分:1)

您不需要包含.cmake文件。

在游戏可执行文件的add_executable之后,假设您的游戏引擎目标名称为游戏,请添加以下内容:

target_link_libraries(Game Engine)

cmake将在幕后做所有魔术,确保引擎在游戏开始之前构建,然后将游戏链接到引擎。