diff options
-rw-r--r-- | dep/boost/CMakeLists.txt | 30 | ||||
-rw-r--r-- | src/common/CMakeLists.txt | 6 | ||||
-rw-r--r-- | src/server/database/CMakeLists.txt | 6 | ||||
-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 |
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 |