diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-07-15 15:24:35 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-07-15 15:24:35 +0200 |
commit | 77fe2745febab9e4362b09750093d831325e6091 (patch) | |
tree | 5ba9fa4dfe061dc304cedd80c5632d5460966ab7 /src | |
parent | d4998bd04a27237aba635401d5aff0d7aafa12e5 (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.txt | 15 | ||||
-rw-r--r-- | src/server/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/server/database/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/server/game/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/server/proto/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/server/shared/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/server/worldserver/CMakeLists.txt | 6 |
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 |