aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dep/boost/CMakeLists.txt30
-rw-r--r--src/common/CMakeLists.txt6
-rw-r--r--src/server/database/CMakeLists.txt6
-rw-r--r--src/server/game/CMakeLists.txt6
-rw-r--r--src/server/proto/CMakeLists.txt6
-rw-r--r--src/server/shared/CMakeLists.txt6
6 files changed, 42 insertions, 18 deletions
diff --git a/dep/boost/CMakeLists.txt b/dep/boost/CMakeLists.txt
index b374a88989e..47e3d5faa62 100644
--- a/dep/boost/CMakeLists.txt
+++ b/dep/boost/CMakeLists.txt
@@ -8,18 +8,31 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+set(BOOST_SEARCH_HINTS)
if(WIN32)
if(DEFINED ENV{BOOST_ROOT})
set(BOOST_ROOT $ENV{BOOST_ROOT})
endif()
+ if(DEFINED BOOST_ROOT AND MSVC)
+ # insert a dot (.) character before last digit of MSVC_TOOLSET_VERSION
+ # turn 143 into 14.3
+ string(LENGTH "${MSVC_TOOLSET_VERSION}" _BOOST_MSVC_TOOLSET_VERSION_LENGTH)
+ math(EXPR _BOOST_MSVC_TOOLSET_VERSION_LENGTH "${_BOOST_MSVC_TOOLSET_VERSION_LENGTH} - 1" OUTPUT_FORMAT DECIMAL)
+ string(SUBSTRING "${MSVC_TOOLSET_VERSION}" 0 ${_BOOST_MSVC_TOOLSET_VERSION_LENGTH} _BOOST_MSVC_TOOLSET_VERSION_MAJOR)
+ string(SUBSTRING "${MSVC_TOOLSET_VERSION}" ${_BOOST_MSVC_TOOLSET_VERSION_LENGTH} -1 _BOOST_MSVC_TOOLSET_VERSION_MINOR)
+
+ set(BOOST_SEARCH_HINTS "${BOOST_ROOT}/lib${PLATFORM}-msvc-${_BOOST_MSVC_TOOLSET_VERSION_MAJOR}.${_BOOST_MSVC_TOOLSET_VERSION_MINOR}/cmake")
+
+ unset(_BOOST_MSVC_TOOLSET_VERSION_LENGTH)
+ unset(_BOOST_MSVC_TOOLSET_VERSION_MAJOR)
+ unset(_BOOST_MSVC_TOOLSET_VERSION_MINOR)
+ endif()
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
endif()
-set(Boost_NO_WARN_NEW_VERSIONS ON)
-
if (WIN32)
# On windows the requirements are higher according to the wiki.
set(BOOST_REQUIRED_VERSION 1.78)
@@ -27,7 +40,18 @@ else()
set(BOOST_REQUIRED_VERSION 1.74)
endif()
-find_package(Boost ${BOOST_REQUIRED_VERSION} REQUIRED system filesystem program_options iostreams regex locale)
+find_package(Boost ${BOOST_REQUIRED_VERSION}
+ REQUIRED
+ COMPONENTS
+ system
+ filesystem
+ program_options
+ iostreams
+ regex
+ locale
+ CONFIG
+ HINTS
+ ${BOOST_SEARCH_HINTS})
if(NOT Boost_FOUND)
if(NOT DEFINED ENV{BOOST_ROOT} AND NOT DEFINED Boost_DIR AND NOT DEFINED BOOST_ROOT AND NOT DEFINED BOOSTROOT)
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
index ba27ddee3e2..7b72bf845ca 100644
--- a/src/common/CMakeLists.txt
+++ b/src/common/CMakeLists.txt
@@ -47,9 +47,9 @@ target_include_directories(common
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-target_compile_definitions(common
- PRIVATE
- TRINITY_API_EXPORT_COMMON)
+set_target_properties(common
+ PROPERTIES
+ DEFINE_SYMBOL TRINITY_API_EXPORT_COMMON)
target_link_libraries(common
PRIVATE
diff --git a/src/server/database/CMakeLists.txt b/src/server/database/CMakeLists.txt
index 8c9788c34cd..6d1dd4daa91 100644
--- a/src/server/database/CMakeLists.txt
+++ b/src/server/database/CMakeLists.txt
@@ -36,9 +36,9 @@ target_include_directories(database
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-target_compile_definitions(database
- PRIVATE
- TRINITY_API_EXPORT_DATABASE)
+set_target_properties(database
+ PROPERTIES
+ DEFINE_SYMBOL TRINITY_API_EXPORT_DATABASE)
target_link_libraries(database
PRIVATE
diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt
index db6e4fc5caf..c1e275809b5 100644
--- a/src/server/game/CMakeLists.txt
+++ b/src/server/game/CMakeLists.txt
@@ -46,9 +46,9 @@ target_include_directories(game
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-target_compile_definitions(game
- PRIVATE
- TRINITY_API_EXPORT_GAME)
+set_target_properties(game
+ PROPERTIES
+ DEFINE_SYMBOL TRINITY_API_EXPORT_GAME)
target_link_libraries(game
PRIVATE
diff --git a/src/server/proto/CMakeLists.txt b/src/server/proto/CMakeLists.txt
index 97844c7fb43..84fd3c7f27f 100644
--- a/src/server/proto/CMakeLists.txt
+++ b/src/server/proto/CMakeLists.txt
@@ -38,9 +38,9 @@ target_include_directories(proto
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-target_compile_definitions(proto
- PRIVATE
- TRINITY_API_EXPORT_PROTO)
+set_target_properties(proto
+ PROPERTIES
+ DEFINE_SYMBOL TRINITY_API_EXPORT_PROTO)
target_link_libraries(proto
PRIVATE
diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt
index 7b6a54fe0ae..0398e8c43c2 100644
--- a/src/server/shared/CMakeLists.txt
+++ b/src/server/shared/CMakeLists.txt
@@ -36,9 +36,9 @@ target_include_directories(shared
PRIVATE
${CMAKE_CURRENT_BINARY_DIR})
-target_compile_definitions(shared
- PRIVATE
- TRINITY_API_EXPORT_SHARED)
+set_target_properties(shared
+ PROPERTIES
+ DEFINE_SYMBOL TRINITY_API_EXPORT_SHARED)
target_link_libraries(shared
PRIVATE