Skip to content

Commit

Permalink
Merge branch 'boost-config-required' into 'master'
Browse files Browse the repository at this point in the history
Modernise Boost CMake stuff

Closes #8100

See merge request OpenMW/openmw!4307
  • Loading branch information
psi29a committed Sep 4, 2024
2 parents b3677d0 + 387b639 commit e1875d4
Show file tree
Hide file tree
Showing 12 changed files with 16 additions and 69 deletions.
22 changes: 3 additions & 19 deletions CI/before_script.msvc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ function unixPathAsWindows {
fi
}

APPVEYOR=${APPVEYOR:-}
CI=${CI:-}
STEP=${STEP:-}

Expand Down Expand Up @@ -206,16 +205,8 @@ if [ -z $VERBOSE ]; then
STRIP="> /dev/null 2>&1"
fi

if [ -z $APPVEYOR ]; then
echo "Running prebuild outside of Appveyor."

DIR=$(windowsPathAsUnix "${BASH_SOURCE[0]}")
cd $(dirname "$DIR")/..
else
echo "Running prebuild in Appveyor."

cd "$APPVEYOR_BUILD_FOLDER"
fi
DIR=$(windowsPathAsUnix "${BASH_SOURCE[0]}")
cd $(dirname "$DIR")/..

run_cmd() {
CMD="$1"
Expand All @@ -226,13 +217,7 @@ run_cmd() {
eval $CMD $@ > output.log 2>&1 || RET=$?

if [ $RET -ne 0 ]; then
if [ -z $APPVEYOR ]; then
echo "Command $CMD failed, output can be found in $(real_pwd)/output.log"
else
echo
echo "Command $CMD failed;"
cat output.log
fi
echo "Command $CMD failed, output can be found in $(real_pwd)/output.log"
else
rm output.log
fi
Expand Down Expand Up @@ -559,7 +544,6 @@ echo "Starting prebuild on MSVC${MSVC_DISPLAY_YEAR} WIN${BITS}"
echo "==================================="
echo

# cd OpenMW/AppVeyor-test
mkdir -p deps
cd deps

Expand Down
27 changes: 2 additions & 25 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,6 @@ include(WholeArchive)

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(OPENMW_USE_SYSTEM_BULLET "Use system provided bullet physics library" ON)
Expand Down Expand Up @@ -369,11 +368,6 @@ endif()

# Platform specific
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
add_definitions(-DSDL_MAIN_HANDLED)

Expand Down Expand Up @@ -457,23 +451,8 @@ if(HAVE_MULTIVIEW)
endif(HAVE_MULTIVIEW)

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)
find_package(MyGUI 3.4.3 REQUIRED)
Expand Down Expand Up @@ -502,7 +481,6 @@ set(SOL_CONFIG_DIR ${OpenMW_SOURCE_DIR}/extern/sol_config)
include_directories(
BEFORE SYSTEM
"."
${Boost_INCLUDE_DIR}
${MyGUI_INCLUDE_DIRS}
${OPENAL_INCLUDE_DIR}
${OPENGL_INCLUDE_DIR}
Expand All @@ -513,7 +491,7 @@ include_directories(
${ICU_INCLUDE_DIRS}
)

link_directories(${Boost_LIBRARY_DIRS} ${COLLADA_DOM_LIBRARY_DIRS})
link_directories(${COLLADA_DOM_LIBRARY_DIRS})

if(MYGUI_STATIC)
add_definitions(-DMYGUI_STATIC)
Expand Down Expand Up @@ -601,7 +579,6 @@ endif()

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}")
add_definitions( -DBOOST_NO_CXX11_SCOPED_ENUMS=ON )

if (APPLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
Expand Down
2 changes: 1 addition & 1 deletion apps/bsatool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ openmw_add_executable(bsatool
)

target_link_libraries(bsatool
${Boost_PROGRAM_OPTIONS_LIBRARY}
Boost::program_options
components
)

Expand Down
2 changes: 1 addition & 1 deletion apps/bulletobjecttool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ source_group(apps\\bulletobjecttool FILES ${BULLETMESHTOOL})
openmw_add_executable(openmw-bulletobjecttool ${BULLETMESHTOOL})

target_link_libraries(openmw-bulletobjecttool
${Boost_PROGRAM_OPTIONS_LIBRARY}
Boost::program_options
components
)

Expand Down
2 changes: 1 addition & 1 deletion apps/esmtool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ openmw_add_executable(esmtool
)

target_link_libraries(esmtool
${Boost_PROGRAM_OPTIONS_LIBRARY}
Boost::program_options
components
)

Expand Down
2 changes: 1 addition & 1 deletion apps/essimporter/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ openmw_add_executable(openmw-essimporter
)

target_link_libraries(openmw-essimporter
${Boost_PROGRAM_OPTIONS_LIBRARY}
Boost::program_options
components
)

Expand Down
4 changes: 1 addition & 3 deletions apps/mwiniimporter/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,11 @@ openmw_add_executable(openmw-iniimporter
)

target_link_libraries(openmw-iniimporter
${Boost_PROGRAM_OPTIONS_LIBRARY}
Boost::program_options
components
)

if (WIN32)
target_link_libraries(openmw-iniimporter
${Boost_LOCALE_LIBRARY})
INSTALL(TARGETS openmw-iniimporter RUNTIME DESTINATION ".")
endif(WIN32)

Expand Down
2 changes: 1 addition & 1 deletion apps/navmeshtool/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ source_group(apps\\navmeshtool FILES ${NAVMESHTOOL})
openmw_add_executable(openmw-navmeshtool ${NAVMESHTOOL})

target_link_libraries(openmw-navmeshtool
${Boost_PROGRAM_OPTIONS_LIBRARY}
Boost::program_options
components
)

Expand Down
3 changes: 1 addition & 2 deletions apps/opencs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -244,7 +244,7 @@ target_link_libraries(openmw-cs-lib
${OSGTEXT_LIBRARIES}
${OSG_LIBRARIES}
${EXTERN_OSGQT_LIBRARY}
${Boost_PROGRAM_OPTIONS_LIBRARY}
Boost::program_options
components_qt
)

Expand All @@ -255,7 +255,6 @@ else()
endif()

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)
endif()

Expand Down
2 changes: 1 addition & 1 deletion apps/openmw/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ target_link_libraries(openmw-lib
${OSGDB_LIBRARIES}
${OSGUTIL_LIBRARIES}
${OSG_LIBRARIES}
${Boost_PROGRAM_OPTIONS_LIBRARY}
Boost::program_options
${OPENAL_LIBRARY}
${FFmpeg_LIBRARIES}
${MyGUI_LIBRARIES}
Expand Down
16 changes: 3 additions & 13 deletions components/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -586,9 +586,9 @@ target_link_libraries(components
${OSG_LIBRARIES}
${OPENTHREADS_LIBRARIES}

${Boost_SYSTEM_LIBRARY}
${Boost_PROGRAM_OPTIONS_LIBRARY}
${Boost_IOSTREAMS_LIBRARY}
Boost::system
Boost::program_options
Boost::iostreams

SDL2::SDL2
${OPENGL_gl_LIBRARY}
Expand All @@ -612,18 +612,8 @@ else()
target_link_libraries(components yaml-cpp)
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})

if (WIN32)
target_link_libraries(components
${Boost_LOCALE_LIBRARY}
${Boost_ZLIB_LIBRARY})
endif()

if (USE_QT)
add_library(components_qt STATIC ${COMPONENT_QT_FILES} ${ESM_UI_HDR})
target_link_libraries(components_qt components Qt::Widgets Qt::Core)
Expand Down
1 change: 0 additions & 1 deletion components/platform/file.win32.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#include "file.hpp"

#include <boost/locale.hpp>
#include <cassert>
#include <components/misc/windows.hpp>
#include <stdexcept>
Expand Down

0 comments on commit e1875d4

Please sign in to comment.