2013-10-07 81 views
1

我是CMake的新手,並一直試圖構建我的項目,以便構建一個可以鏈接到一個或多個可執行文件(遊戲)的共享庫(遊戲引擎)。我的目錄結構如下: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) 

這將創建下列文件:建立/發動機/ CMakeFiles /導出/ lib目錄/發動機.cmake

如何包含此文件,以便我可以將我的引擎庫與我的遊戲可執行文件鏈接起來? 我曾希望這只是使用find_package(Engine REQUIRED)的情況。

回答

1

您不需要包含.cmake文件。

add_executable的遊戲可執行文件後,添加以下假設你的遊戲引擎的目標名稱是遊戲:

target_link_libraries(Game Engine) 

的cmake將盡一切幕後的神奇確保發動機在比賽前建成然後將遊戲鏈接到引擎。