Merge branch 'boost-config-required' into 'master'

Modernise Boost CMake stuff

Closes #8100

See merge request OpenMW/openmw!4307
pull/3236/head
psi29a 4 months ago
commit e1875d459a

@ -44,7 +44,6 @@ function unixPathAsWindows {
fi fi
} }
APPVEYOR=${APPVEYOR:-}
CI=${CI:-} CI=${CI:-}
STEP=${STEP:-} STEP=${STEP:-}
@ -206,16 +205,8 @@ if [ -z $VERBOSE ]; then
STRIP="> /dev/null 2>&1" STRIP="> /dev/null 2>&1"
fi fi
if [ -z $APPVEYOR ]; then DIR=$(windowsPathAsUnix "${BASH_SOURCE[0]}")
echo "Running prebuild outside of Appveyor." cd $(dirname "$DIR")/..
DIR=$(windowsPathAsUnix "${BASH_SOURCE[0]}")
cd $(dirname "$DIR")/..
else
echo "Running prebuild in Appveyor."
cd "$APPVEYOR_BUILD_FOLDER"
fi
run_cmd() { run_cmd() {
CMD="$1" CMD="$1"
@ -226,13 +217,7 @@ run_cmd() {
eval $CMD $@ > output.log 2>&1 || RET=$? eval $CMD $@ > output.log 2>&1 || RET=$?
if [ $RET -ne 0 ]; then if [ $RET -ne 0 ]; then
if [ -z $APPVEYOR ]; then echo "Command $CMD failed, output can be found in $(real_pwd)/output.log"
echo "Command $CMD failed, output can be found in $(real_pwd)/output.log"
else
echo
echo "Command $CMD failed;"
cat output.log
fi
else else
rm output.log rm output.log
fi fi
@ -559,7 +544,6 @@ echo "Starting prebuild on MSVC${MSVC_DISPLAY_YEAR} WIN${BITS}"
echo "===================================" echo "==================================="
echo echo
# cd OpenMW/AppVeyor-test
mkdir -p deps mkdir -p deps
cd deps cd deps

@ -124,7 +124,6 @@ include(WholeArchive)
configure_file ("${OpenMW_SOURCE_DIR}/docs/mainpage.hpp.cmake" "${OpenMW_BINARY_DIR}/docs/mainpage.hpp") configure_file ("${OpenMW_SOURCE_DIR}/docs/mainpage.hpp.cmake" "${OpenMW_BINARY_DIR}/docs/mainpage.hpp")
option(BOOST_STATIC "Link static build of Boost into the binaries" FALSE)
option(QT_STATIC "Link static build of Qt into the binaries" FALSE) option(QT_STATIC "Link static build of Qt into the binaries" FALSE)
option(OPENMW_USE_SYSTEM_BULLET "Use system provided bullet physics library" ON) option(OPENMW_USE_SYSTEM_BULLET "Use system provided bullet physics library" ON)
@ -369,11 +368,6 @@ endif()
# Platform specific # Platform specific
if (WIN32) if (WIN32)
if(NOT MINGW)
set(Boost_USE_STATIC_LIBS ON)
add_definitions(-DBOOST_ALL_NO_LIB)
endif(NOT MINGW)
# Suppress WinMain(), provided by SDL # Suppress WinMain(), provided by SDL
add_definitions(-DSDL_MAIN_HANDLED) add_definitions(-DSDL_MAIN_HANDLED)
@ -457,23 +451,8 @@ if(HAVE_MULTIVIEW)
endif(HAVE_MULTIVIEW) endif(HAVE_MULTIVIEW)
set(BOOST_COMPONENTS iostreams program_options system) set(BOOST_COMPONENTS iostreams program_options system)
if(WIN32)
set(BOOST_COMPONENTS ${BOOST_COMPONENTS} locale)
if(MSVC)
# boost-zlib is not present (nor needed) in vcpkg version of boost.
# there, it is part of boost-iostreams instead.
set(BOOST_OPTIONAL_COMPONENTS zlib)
endif(MSVC)
endif(WIN32)
IF(BOOST_STATIC)
set(Boost_USE_STATIC_LIBS ON)
endif()
set(Boost_NO_BOOST_CMAKE ON)
set(Boost_NO_WARN_NEW_VERSIONS ON) # ignore warnings about new releases of boost
find_package(Boost 1.6.2 REQUIRED COMPONENTS ${BOOST_COMPONENTS} OPTIONAL_COMPONENTS ${BOOST_OPTIONAL_COMPONENTS}) find_package(Boost 1.70.0 CONFIG REQUIRED COMPONENTS ${BOOST_COMPONENTS} OPTIONAL_COMPONENTS ${BOOST_OPTIONAL_COMPONENTS})
if(OPENMW_USE_SYSTEM_MYGUI) if(OPENMW_USE_SYSTEM_MYGUI)
find_package(MyGUI 3.4.3 REQUIRED) find_package(MyGUI 3.4.3 REQUIRED)
@ -502,7 +481,6 @@ set(SOL_CONFIG_DIR ${OpenMW_SOURCE_DIR}/extern/sol_config)
include_directories( include_directories(
BEFORE SYSTEM BEFORE SYSTEM
"." "."
${Boost_INCLUDE_DIR}
${MyGUI_INCLUDE_DIRS} ${MyGUI_INCLUDE_DIRS}
${OPENAL_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR}
${OPENGL_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}
@ -513,7 +491,7 @@ include_directories(
${ICU_INCLUDE_DIRS} ${ICU_INCLUDE_DIRS}
) )
link_directories(${Boost_LIBRARY_DIRS} ${COLLADA_DOM_LIBRARY_DIRS}) link_directories(${COLLADA_DOM_LIBRARY_DIRS})
if(MYGUI_STATIC) if(MYGUI_STATIC)
add_definitions(-DMYGUI_STATIC) add_definitions(-DMYGUI_STATIC)
@ -601,7 +579,6 @@ endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_CXX_COMPILER_ID STREQUAL Clang) if (CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_CXX_COMPILER_ID STREQUAL Clang)
set(OPENMW_CXX_FLAGS "-Wall -Wextra -Wundef -Wextra-semi -Wno-unused-parameter -pedantic -Wno-long-long -Wnon-virtual-dtor -Wunused ${OPENMW_CXX_FLAGS}") set(OPENMW_CXX_FLAGS "-Wall -Wextra -Wundef -Wextra-semi -Wno-unused-parameter -pedantic -Wno-long-long -Wnon-virtual-dtor -Wunused ${OPENMW_CXX_FLAGS}")
add_definitions( -DBOOST_NO_CXX11_SCOPED_ENUMS=ON )
if (APPLE) if (APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")

@ -9,7 +9,7 @@ openmw_add_executable(bsatool
) )
target_link_libraries(bsatool target_link_libraries(bsatool
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
components components
) )

@ -6,7 +6,7 @@ source_group(apps\\bulletobjecttool FILES ${BULLETMESHTOOL})
openmw_add_executable(openmw-bulletobjecttool ${BULLETMESHTOOL}) openmw_add_executable(openmw-bulletobjecttool ${BULLETMESHTOOL})
target_link_libraries(openmw-bulletobjecttool target_link_libraries(openmw-bulletobjecttool
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
components components
) )

@ -16,7 +16,7 @@ openmw_add_executable(esmtool
) )
target_link_libraries(esmtool target_link_libraries(esmtool
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
components components
) )

@ -34,7 +34,7 @@ openmw_add_executable(openmw-essimporter
) )
target_link_libraries(openmw-essimporter target_link_libraries(openmw-essimporter
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
components components
) )

@ -14,13 +14,11 @@ openmw_add_executable(openmw-iniimporter
) )
target_link_libraries(openmw-iniimporter target_link_libraries(openmw-iniimporter
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
components components
) )
if (WIN32) if (WIN32)
target_link_libraries(openmw-iniimporter
${Boost_LOCALE_LIBRARY})
INSTALL(TARGETS openmw-iniimporter RUNTIME DESTINATION ".") INSTALL(TARGETS openmw-iniimporter RUNTIME DESTINATION ".")
endif(WIN32) endif(WIN32)

@ -8,7 +8,7 @@ source_group(apps\\navmeshtool FILES ${NAVMESHTOOL})
openmw_add_executable(openmw-navmeshtool ${NAVMESHTOOL}) openmw_add_executable(openmw-navmeshtool ${NAVMESHTOOL})
target_link_libraries(openmw-navmeshtool target_link_libraries(openmw-navmeshtool
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
components components
) )

@ -244,7 +244,7 @@ target_link_libraries(openmw-cs-lib
${OSGTEXT_LIBRARIES} ${OSGTEXT_LIBRARIES}
${OSG_LIBRARIES} ${OSG_LIBRARIES}
${EXTERN_OSGQT_LIBRARY} ${EXTERN_OSGQT_LIBRARY}
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
components_qt components_qt
) )
@ -255,7 +255,6 @@ else()
endif() endif()
if (WIN32) if (WIN32)
target_link_libraries(openmw-cs-lib ${Boost_LOCALE_LIBRARY})
target_sources(openmw-cs PRIVATE ${CMAKE_SOURCE_DIR}/files/windows/openmw-cs.exe.manifest) target_sources(openmw-cs PRIVATE ${CMAKE_SOURCE_DIR}/files/windows/openmw-cs.exe.manifest)
endif() endif()

@ -159,7 +159,7 @@ target_link_libraries(openmw-lib
${OSGDB_LIBRARIES} ${OSGDB_LIBRARIES}
${OSGUTIL_LIBRARIES} ${OSGUTIL_LIBRARIES}
${OSG_LIBRARIES} ${OSG_LIBRARIES}
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
${OPENAL_LIBRARY} ${OPENAL_LIBRARY}
${FFmpeg_LIBRARIES} ${FFmpeg_LIBRARIES}
${MyGUI_LIBRARIES} ${MyGUI_LIBRARIES}

@ -586,9 +586,9 @@ target_link_libraries(components
${OSG_LIBRARIES} ${OSG_LIBRARIES}
${OPENTHREADS_LIBRARIES} ${OPENTHREADS_LIBRARIES}
${Boost_SYSTEM_LIBRARY} Boost::system
${Boost_PROGRAM_OPTIONS_LIBRARY} Boost::program_options
${Boost_IOSTREAMS_LIBRARY} Boost::iostreams
SDL2::SDL2 SDL2::SDL2
${OPENGL_gl_LIBRARY} ${OPENGL_gl_LIBRARY}
@ -612,18 +612,8 @@ else()
target_link_libraries(components yaml-cpp) target_link_libraries(components yaml-cpp)
endif() endif()
if(Boost_VERSION_STRING VERSION_GREATER_EQUAL 1.77.0)
target_link_libraries(components ${Boost_ATOMIC_LIBRARY})
endif()
target_link_libraries(components ${BULLET_LIBRARIES}) target_link_libraries(components ${BULLET_LIBRARIES})
if (WIN32)
target_link_libraries(components
${Boost_LOCALE_LIBRARY}
${Boost_ZLIB_LIBRARY})
endif()
if (USE_QT) if (USE_QT)
add_library(components_qt STATIC ${COMPONENT_QT_FILES} ${ESM_UI_HDR}) add_library(components_qt STATIC ${COMPONENT_QT_FILES} ${ESM_UI_HDR})
target_link_libraries(components_qt components Qt::Widgets Qt::Core) target_link_libraries(components_qt components Qt::Widgets Qt::Core)

@ -1,6 +1,5 @@
#include "file.hpp" #include "file.hpp"
#include <boost/locale.hpp>
#include <cassert> #include <cassert>
#include <components/misc/windows.hpp> #include <components/misc/windows.hpp>
#include <stdexcept> #include <stdexcept>

Loading…
Cancel
Save