aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2016-04-13 14:35:04 +0200
committerNaios <naios-dev@live.de>2016-04-14 21:30:27 +0200
commitea4ac00ac7d900d78d57774e18b70cb62afb7f4c (patch)
tree2e0a6bbf12694c4fa7ecd1569c76e6a9a9ed38a2
parent6217cb4bf3c3bfd08119d3dfe152f624b9888c9e (diff)
Core/Build: Provide an interface target for game
* Increases the build time because dependent projects can build without waiting for the game project. (cherry picked from commit ff8a54ab928c00968266d0b1a574f81536152758)
-rw-r--r--src/server/game/CMakeLists.txt27
-rw-r--r--src/server/scripts/CMakeLists.txt2
-rw-r--r--src/server/worldserver/CMakeLists.txt1
3 files changed, 20 insertions, 10 deletions
diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt
index 60e86093f89..239e59d6dbb 100644
--- a/src/server/game/CMakeLists.txt
+++ b/src/server/game/CMakeLists.txt
@@ -23,27 +23,36 @@ GroupSources(${CMAKE_CURRENT_SOURCE_DIR})
add_definitions(-DTRINITY_API_EXPORT_GAME)
-add_library(game
- ${PRIVATE_PCH_SOURCE}
- ${PRIVATE_SOURCES}
-)
-
CollectIncludeDirectories(
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC_INCLUDES
# Exclude
${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders)
+# Provide an interface target for the game project to allow
+# dependent projects to build meanwhile.
+add_library(game-interface INTERFACE)
+
+target_include_directories(game-interface
+ INTERFACE
+ ${PUBLIC_INCLUDES})
+
+target_link_libraries(game-interface
+ INTERFACE
+ shared
+ Detour)
+
+add_library(game
+ ${PRIVATE_PCH_SOURCE}
+ ${PRIVATE_SOURCES})
+
target_include_directories(game
- PUBLIC
- ${PUBLIC_INCLUDES}
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(game
PUBLIC
- shared
- Detour
+ game-interface
PRIVATE
efsw)
diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt
index 83870fe5275..31ba073e77d 100644
--- a/src/server/scripts/CMakeLists.txt
+++ b/src/server/scripts/CMakeLists.txt
@@ -206,7 +206,7 @@ add_library(scripts STATIC
target_link_libraries(scripts
PUBLIC
- game)
+ game-interface)
target_include_directories(scripts
PUBLIC
diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt
index ff452dfaba8..125b12166b2 100644
--- a/src/server/worldserver/CMakeLists.txt
+++ b/src/server/worldserver/CMakeLists.txt
@@ -48,6 +48,7 @@ set_target_properties(worldserver PROPERTIES LINK_FLAGS "${worldserver_LINK_FLAG
target_link_libraries(worldserver
PUBLIC
scripts
+ game
readline)
CollectIncludeDirectories(