aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-07-15 15:24:35 +0200
committerShauren <shauren.trinity@gmail.com>2024-07-15 15:24:35 +0200
commit77fe2745febab9e4362b09750093d831325e6091 (patch)
tree5ba9fa4dfe061dc304cedd80c5632d5460966ab7 /src
parentd4998bd04a27237aba635401d5aff0d7aafa12e5 (diff)
Build: CMake cleanup
* Migrate all add_definitions to target_compile_definitions * Remove -D from preprocessor definitions added by target_compile_definitions (unneccessary, cmake strips it anyway) * Fixed NO_BUFFERPOOL not being set on g3d if jemalloc is used * Moved library/compiler specific compile flag settings spread all over various CMakeLists to their related library/compiler file * Remove ancient manual link flag settings for worldserver
Diffstat (limited to 'src')
-rw-r--r--src/common/CMakeLists.txt15
-rw-r--r--src/server/CMakeLists.txt8
-rw-r--r--src/server/database/CMakeLists.txt13
-rw-r--r--src/server/game/CMakeLists.txt6
-rw-r--r--src/server/proto/CMakeLists.txt6
-rw-r--r--src/server/shared/CMakeLists.txt6
-rw-r--r--src/server/worldserver/CMakeLists.txt6
7 files changed, 19 insertions, 41 deletions
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index 66caf6c4e10..ba27ddee3e2 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -29,21 +29,10 @@ endif(USE_COREPCH)
GroupSources(${CMAKE_CURRENT_SOURCE_DIR})
-add_definitions(-DTRINITY_API_EXPORT_COMMON)
-
add_library(common
${PRIVATE_SOURCES}
)
-# Do NOT add any extra include directory here, as we don't want the common
-# library to depend on anything else than TC deps, and itself.
-# This way we ensure that if either a PR does that without modifying this file,
-# a compile error will be generated, either this file will be modified so it
-# is detected more easily.
-# While it is OK to include files from other libs as long as they don't require
-# linkage (enums, defines...) it is discouraged to do so unless necessary, as it will pullute
-# include_directories leading to further unnoticed dependency aditions
-# Linker Depencency requirements: none
CollectIncludeDirectories(
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC_INCLUDES
@@ -58,6 +47,10 @@ target_include_directories(common
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
+target_compile_definitions(common
+ PRIVATE
+ TRINITY_API_EXPORT_COMMON)
+
target_link_libraries(common
PRIVATE
trinity-core-interface
diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt
index bc1d6c2d233..235ad973a40 100644
--- a/src/server/CMakeLists.txt
+++ b/src/server/CMakeLists.txt
@@ -8,14 +8,6 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# Enforce compileparameters for corebuilds under GCC
-# This to stop a few silly crashes that could have been avoided IF people
-# weren't doing some -O3 psychooptimizations etc.
-
-if(CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW)
- add_definitions(-fno-delete-null-pointer-checks)
-endif()
-
if(WIN32)
list(APPEND sources_windows
${CMAKE_SOURCE_DIR}/src/common/Platform/ServiceWin32.cpp
diff --git a/src/server/database/CMakeLists.txt b/src/server/database/CMakeLists.txt
index b652e7f3ffc..8c9788c34cd 100644
--- a/src/server/database/CMakeLists.txt
+++ b/src/server/database/CMakeLists.txt
@@ -24,15 +24,6 @@ add_library(database
${PRIVATE_SOURCES}
)
-# Do NOT add any extra include directory unless it does not create unneeded extra dependencies,
-# and specially, not add any dependency to neither of these: shared, game, scripts
-# This way we ensure that if either a PR does that without modifying this file,
-# a compile error will be generated, either this file will be modified so it
-# is detected more easily.
-# While it is OK to include files from other libs as long as they don't require
-# linkage (enums, defines...) it is discouraged to do so unless necessary, as it will pullute
-# include_directories leading to further unnoticed dependency aditions
-# Linker Depencency requirements: common
CollectIncludeDirectories(
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC_INCLUDES
@@ -45,7 +36,9 @@ target_include_directories(database
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-add_definitions(-DTRINITY_API_EXPORT_DATABASE)
+target_compile_definitions(database
+ PRIVATE
+ TRINITY_API_EXPORT_DATABASE)
target_link_libraries(database
PRIVATE
diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt
index 53971feebfe..db6e4fc5caf 100644
--- a/src/server/game/CMakeLists.txt
+++ b/src/server/game/CMakeLists.txt
@@ -20,8 +20,6 @@ endif()
GroupSources(${CMAKE_CURRENT_SOURCE_DIR})
-add_definitions(-DTRINITY_API_EXPORT_GAME)
-
CollectIncludeDirectories(
${CMAKE_CURRENT_SOURCE_DIR}
PUBLIC_INCLUDES
@@ -48,6 +46,10 @@ target_include_directories(game
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
+target_compile_definitions(game
+ PRIVATE
+ TRINITY_API_EXPORT_GAME)
+
target_link_libraries(game
PRIVATE
trinity-core-interface
diff --git a/src/server/proto/CMakeLists.txt b/src/server/proto/CMakeLists.txt
index 7d9172a1abc..97844c7fb43 100644
--- a/src/server/proto/CMakeLists.txt
+++ b/src/server/proto/CMakeLists.txt
@@ -20,8 +20,6 @@ endif()
GroupSources(${CMAKE_CURRENT_SOURCE_DIR})
-add_definitions(-DTRINITY_API_EXPORT_PROTO)
-
add_library(proto
${PRIVATE_SOURCES}
)
@@ -40,6 +38,10 @@ target_include_directories(proto
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
+target_compile_definitions(proto
+ PRIVATE
+ TRINITY_API_EXPORT_PROTO)
+
target_link_libraries(proto
PRIVATE
trinity-default-interface
diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt
index 040381b946f..7b6a54fe0ae 100644
--- a/src/server/shared/CMakeLists.txt
+++ b/src/server/shared/CMakeLists.txt
@@ -20,8 +20,6 @@ endif()
GroupSources(${CMAKE_CURRENT_SOURCE_DIR})
-add_definitions(-DTRINITY_API_EXPORT_SHARED)
-
add_library(shared
${PRIVATE_SOURCES}
)
@@ -38,6 +36,10 @@ target_include_directories(shared
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
+target_compile_definitions(shared
+ PRIVATE
+ TRINITY_API_EXPORT_SHARED)
+
target_link_libraries(shared
PRIVATE
trinity-core-interface
diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt
index 0820b3b020f..1b85fefd128 100644
--- a/src/server/worldserver/CMakeLists.txt
+++ b/src/server/worldserver/CMakeLists.txt
@@ -39,12 +39,6 @@ if(NOT WIN32)
)
endif()
-if(UNIX AND NOT NOJEM AND NOT APPLE)
- set(worldserver_LINK_FLAGS "-pthread -lncurses ${worldserver_LINK_FLAGS}")
-endif()
-
-set_target_properties(worldserver PROPERTIES LINK_FLAGS "${worldserver_LINK_FLAGS}")
-
target_link_libraries(worldserver
PRIVATE
trinity-core-interface