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
This commit is contained in:
Shauren
2024-07-15 15:24:35 +02:00
parent d4998bd04a
commit 77fe2745fe
24 changed files with 110 additions and 108 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ target_include_directories(casc
PRIVATE
${CMAKE_SOURCE_DIR}/dep)
target_compile_definitions(casc PUBLIC -D__SYS_ZLIB -DCASCLIB_NO_AUTO_LINK_LIBRARY -DCASCLIB_NODEBUG)
target_compile_definitions(casc PUBLIC __SYS_ZLIB CASCLIB_NO_AUTO_LINK_LIBRARY CASCLIB_NODEBUG)
target_link_libraries(casc
PRIVATE
+3 -3
View File
@@ -36,7 +36,7 @@ target_include_directories(sfmt
${CMAKE_CURRENT_SOURCE_DIR})
# using the standard Mersenne exponent 19937
target_compile_definitions(sfmt PUBLIC -DSFMT_MEXP=19937)
target_compile_definitions(sfmt PUBLIC SFMT_MEXP=19937)
# enable SIMD instructions if available
include(CheckCXXCompilerFlag)
@@ -67,11 +67,11 @@ else ()
endif ()
if (HAVE_NEON)
target_compile_definitions(sfmt PUBLIC -DHAVE_NEON)
target_compile_definitions(sfmt PUBLIC HAVE_NEON)
endif ()
if (HAVE_SSE2)
target_compile_definitions(sfmt PUBLIC -DHAVE_SSE2)
target_compile_definitions(sfmt PUBLIC HAVE_SSE2)
endif ()
set_target_properties(sfmt PROPERTIES LINKER_LANGUAGE CXX)
+1 -1
View File
@@ -23,7 +23,7 @@ add_library(argon2 STATIC
target_compile_definitions(argon2
PRIVATE
-DARGON2_NO_THREADS)
ARGON2_NO_THREADS)
set_target_properties(argon2 PROPERTIES LINKER_LANGUAGE CXX)
+14 -11
View File
@@ -20,8 +20,6 @@ endif()
set(Boost_NO_WARN_NEW_VERSIONS ON)
include (CheckCXXSourceCompiles)
if (WIN32)
# On windows the requirements are higher according to the wiki.
set(BOOST_REQUIRED_VERSION 1.78)
@@ -49,19 +47,24 @@ target_include_directories(boost
target_compile_definitions(boost
INTERFACE
-DBOOST_ALL_NO_LIB
-DBOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE
-DBOOST_ASIO_NO_DEPRECATED
-DBOOST_BIND_NO_PLACEHOLDERS
-DBOOST_SYSTEM_USE_UTF8)
BOOST_ALL_NO_LIB
BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE
BOOST_ASIO_NO_DEPRECATED
BOOST_BIND_NO_PLACEHOLDERS
BOOST_SYSTEM_USE_UTF8)
if (WITH_BOOST_STACKTRACE AND NOT WIN32)
message("*** libbacktrace will be linked")
message(STATUS "libbacktrace will be linked")
include(CheckIncludeFile)
if (BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE)
CHECK_INCLUDE_FILE(${BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE} HAS_BACKTRACE)
check_include_file("${BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE}" HAS_BACKTRACE)
target_compile_definitions(boost
INTERFACE
BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE=${BOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE})
else()
CHECK_INCLUDE_FILE("backtrace.h" HAS_BACKTRACE)
check_include_file("backtrace.h" HAS_BACKTRACE)
endif()
if (NOT HAS_BACKTRACE)
@@ -70,7 +73,7 @@ if (WITH_BOOST_STACKTRACE AND NOT WIN32)
target_compile_definitions(boost
INTERFACE
-DBOOST_STACKTRACE_USE_BACKTRACE)
BOOST_STACKTRACE_USE_BACKTRACE)
target_link_libraries(boost
INTERFACE
+6
View File
@@ -60,6 +60,12 @@ target_include_directories(g3dlib
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include)
if((CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT NOJEM) OR TSAN)
target_compile_definitions(g3dlib
PRIVATE
NO_BUFFERPOOL)
endif()
target_link_libraries(g3dlib
PRIVATE
trinity-dependency-interface
+2 -2
View File
@@ -20,7 +20,7 @@ target_include_directories(gsoap
target_compile_definitions(gsoap
PUBLIC
-DWITH_OPENSSL)
WITH_OPENSSL)
target_link_libraries(gsoap
PRIVATE
@@ -37,5 +37,5 @@ if (MSVC)
# Little fix for MSVC / Windows platforms
target_compile_definitions(gsoap
PRIVATE
-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=0)
_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=0)
endif()
+2 -4
View File
@@ -91,11 +91,9 @@ if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT NOJEM)
${CMAKE_CURRENT_SOURCE_DIR}/include)
target_compile_definitions(jemalloc
PUBLIC
-DNO_BUFFERPOOL
PRIVATE
-D_GNU_SOURCE
-D_REENTRAN)
_GNU_SOURCE
_REENTRAN)
target_link_libraries(jemalloc
PRIVATE
+1 -1
View File
@@ -25,7 +25,7 @@ target_include_directories(openssl_ed25519
target_compile_definitions(openssl_ed25519
PRIVATE
-DOPENSSL_ED25519_EXPORT
OPENSSL_ED25519_EXPORT
)
target_link_libraries(openssl_ed25519
+4 -4
View File
@@ -74,10 +74,10 @@ target_link_libraries(protobuf
if (BUILD_SHARED_LIBS)
target_compile_definitions(protobuf
PRIVATE
-DLIBPROTOBUF_EXPORTS
-DLIBPROTOC_EXPORTS
LIBPROTOBUF_EXPORTS
LIBPROTOC_EXPORTS
PUBLIC
-DPROTOBUF_USE_DLLS)
PROTOBUF_USE_DLLS)
endif()
if (MSVC)
@@ -87,7 +87,7 @@ if (MSVC)
target_compile_definitions(protobuf
PRIVATE
-D_SCL_SECURE_NO_WARNINGS)
_SCL_SECURE_NO_WARNINGS)
endif()
set_target_properties(protobuf
+3 -3
View File
@@ -16,9 +16,9 @@ target_include_directories(rapidjson
target_compile_definitions(rapidjson
INTERFACE
-DRAPIDJSON_HAS_STDSTRING
-DRAPIDJSON_48BITPOINTER_OPTIMIZATION=0
-DRAPIDJSON_ASSERT=WPAssert)
RAPIDJSON_HAS_STDSTRING
RAPIDJSON_48BITPOINTER_OPTIMIZATION=0
RAPIDJSON_ASSERT=WPAssert)
if(TRINITY_SYSTEM_PROCESSOR MATCHES "x86|amd64")
target_compile_definitions(rapidjson INTERFACE -DRAPIDJSON_SSE2)