我是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)
。
答案 0 :(得分:1)
您不需要包含.cmake文件。
在游戏可执行文件的add_executable
之后,假设您的游戏引擎目标名称为游戏,请添加以下内容:
target_link_libraries(Game Engine)
cmake将在幕后做所有魔术,确保引擎在游戏开始之前构建,然后将游戏链接到引擎。