mirror of
https://github.com/rwengine/openrw.git
synced 2024-11-07 03:12:36 +01:00
Merge pull request #678 from madebr/conan_cmake
Various conan/cmake updates 'n fixes
This commit is contained in:
commit
21da262a64
@ -23,7 +23,7 @@ if(USE_CONAN)
|
||||
message(STATUS "Using conan 'cmake' generator")
|
||||
include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake")
|
||||
endif()
|
||||
conan_basic_setup(TARGETS)
|
||||
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
|
||||
|
||||
rwdep_wrap_conan_targets()
|
||||
else()
|
||||
@ -40,7 +40,7 @@ else()
|
||||
endif()
|
||||
|
||||
# Do not link to SDL2main library
|
||||
set(SDL2_BUILDING_LIBRARY True)
|
||||
set(SDL2_BUILDING_LIBRARY TRUE)
|
||||
|
||||
find_package(OpenAL REQUIRED)
|
||||
find_package(Bullet REQUIRED)
|
||||
|
@ -12,7 +12,7 @@ this it will not be possible to play.
|
||||
|
||||
Windows | Linux | macOS | coverage
|
||||
---| --- | --- | ---
|
||||
[![Build status](https://ci.appveyor.com/api/projects/status/k33qf9ssrja6ckx8/branch/master?svg=true)](https://ci.appveyor.com/project/rwengine/openrw/branch/master) | [![Build Status](https://travis-ci.org/rwengine/openrw.svg?branch=master)](https://travis-ci.org/rwengine/openrw) | [![Build Status](https://travis-ci.org/rwengine/openrw.svg?branch=master)](https://travis-ci.org/rwengine/openrw) | [![codecov](https://codecov.io/gh/rwengine/openrw/branch/master/graph/badge.svg)](https://codecov.io/gh/rwengine/openrw)
|
||||
[![Build status](https://ci.appveyor.com/api/projects/status/k33qf9ssrja6ckx8/branch/master?svg=true)](https://ci.appveyor.com/project/rwengine/openrw/branch/master) | [![Build Status](https://travis-ci.com/rwengine/openrw.svg?branch=master)](https://travis-ci.com/rwengine/openrw) | [![Build Status](https://travis-ci.com/rwengine/openrw.svg?branch=master)](https://travis-ci.com/rwengine/openrw) | [![codecov](https://codecov.io/gh/rwengine/openrw/branch/master/graph/badge.svg)](https://codecov.io/gh/rwengine/openrw)
|
||||
|
||||
|
||||
## Links
|
||||
|
@ -7,6 +7,7 @@
|
||||
# FFMPEG_LIBAVCODEC
|
||||
# FFMPEG_LIBAVFORMAT
|
||||
# FFMPEG_LIBAVUTIL
|
||||
# FFMPEG_SWRESAMPLE
|
||||
#
|
||||
# Copyright (c) 2008 Andreas Schneider <mail@cynapses.org>
|
||||
# Modified for other libraries by Lasse Kärkkäinen <tronic>
|
||||
@ -19,68 +20,74 @@
|
||||
# use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
find_package(PkgConfig QUIET)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(_FFMPEG_AVCODEC libavcodec QUIET)
|
||||
pkg_check_modules(_FFMPEG_AVFORMAT libavformat QUIET)
|
||||
pkg_check_modules(_FFMPEG_AVUTIL libavutil QUIET)
|
||||
pkg_check_modules(_FFMPEG_SWRESAMPLE libswresample QUIET)
|
||||
endif (PKG_CONFIG_FOUND)
|
||||
|
||||
find_path(FFMPEG_AVCODEC_INCLUDE_DIR
|
||||
NAMES libavcodec/avcodec.h
|
||||
PATHS ${_FFMPEG_AVCODEC_INCLUDE_DIRS} /usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES ffmpeg libav
|
||||
)
|
||||
|
||||
find_library(FFMPEG_LIBAVCODEC
|
||||
NAMES avcodec
|
||||
PATHS ${_FFMPEG_AVCODEC_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
)
|
||||
|
||||
find_library(FFMPEG_LIBAVFORMAT
|
||||
NAMES avformat
|
||||
PATHS ${_FFMPEG_AVFORMAT_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
)
|
||||
|
||||
find_library(FFMPEG_LIBAVUTIL
|
||||
NAMES avutil
|
||||
PATHS ${_FFMPEG_AVUTIL_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
)
|
||||
|
||||
if (FFMPEG_LIBAVCODEC AND FFMPEG_LIBAVFORMAT)
|
||||
set(FFMPEG_FOUND TRUE)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(_FFMPEG_AVCODEC libavcodec QUIET)
|
||||
pkg_check_modules(_FFMPEG_AVFORMAT libavformat QUIET)
|
||||
pkg_check_modules(_FFMPEG_AVUTIL libavutil QUIET)
|
||||
pkg_check_modules(_FFMPEG_SWRESAMPLE libswresample QUIET)
|
||||
endif()
|
||||
|
||||
find_path(FFMPEG_AVCODEC_INCLUDE_DIR
|
||||
NAMES libavcodec/avcodec.h
|
||||
PATHS ${_FFMPEG_AVCODEC_INCLUDE_DIRS} /usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES ffmpeg libav
|
||||
)
|
||||
|
||||
find_library(FFMPEG_LIBAVCODEC
|
||||
NAMES avcodec
|
||||
PATHS ${_FFMPEG_AVCODEC_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
)
|
||||
|
||||
find_library(FFMPEG_LIBAVFORMAT
|
||||
NAMES avformat
|
||||
PATHS ${_FFMPEG_AVFORMAT_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
)
|
||||
|
||||
find_library(FFMPEG_LIBAVUTIL
|
||||
NAMES avutil
|
||||
PATHS ${_FFMPEG_AVUTIL_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
)
|
||||
|
||||
find_library(FFMPEG_SWRESAMPLE
|
||||
NAMES swresample
|
||||
PATHS ${_FFMPEG_SWRESAMPLE_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
)
|
||||
NAMES swresample
|
||||
PATHS ${_FFMPEG_SWRESAMPLE_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
)
|
||||
|
||||
set(FFMPEG_INCLUDE_DIR ${FFMPEG_AVCODEC_INCLUDE_DIR})
|
||||
|
||||
set(FFMPEG_LIBRARIES
|
||||
${FFMPEG_LIBAVCODEC}
|
||||
${FFMPEG_LIBAVFORMAT}
|
||||
${FFMPEG_LIBAVUTIL}
|
||||
${FFMPEG_SWRESAMPLE}
|
||||
)
|
||||
${FFMPEG_LIBAVCODEC}
|
||||
${FFMPEG_LIBAVFORMAT}
|
||||
${FFMPEG_LIBAVUTIL}
|
||||
${FFMPEG_SWRESAMPLE}
|
||||
)
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
|
||||
list(APPEND FFMPEG_LIBRARIES "${FFMPEG_SWRESAMPLE}" secur32.lib Ws2_32.lib)
|
||||
list(APPEND FFMPEG_LIBRARIES secur32.lib Ws2_32.lib)
|
||||
endif()
|
||||
|
||||
if(FFMPEG_INCLUDE_DIR)
|
||||
file(READ "${FFMPEG_INCLUDE_DIR}/libavutil/ffversion.h" __FFVERSION_H)
|
||||
string(REGEX MATCH "#define[ ]+FFMPEG_VERSION[ ]+\"([0-9a-zA-Z\\.\\-]+)\"" _FFMPEG_VERSION "${__FFVERSION_H}")
|
||||
if(NOT _FFMPEG_VERSION)
|
||||
message(AUTHOR_WARNING "Cannot detect ffmpeg version: regex does not match")
|
||||
endif()
|
||||
set(FFMPEG_VERSION "${CMAKE_MATCH_1}")
|
||||
endif()
|
||||
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(FFmpeg DEFAULT_MSG FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIR)
|
||||
find_package_handle_standard_args(FFmpeg
|
||||
FOUND_VAR FFMPEG_FOUND
|
||||
REQUIRED_VARS FFMPEG_LIBAVCODEC FFMPEG_LIBAVFORMAT FFMPEG_LIBAVUTIL FFMPEG_SWRESAMPLE FFMPEG_INCLUDE_DIR
|
||||
VERSION_VAR FFMPEG_VERSION
|
||||
)
|
||||
set(FFMPEG_FOUND "${FFmpeg_FOUND}")
|
||||
|
||||
if(FFMPEG_FOUND)
|
||||
add_library(ffmpeg INTERFACE)
|
||||
target_link_libraries(ffmpeg
|
||||
INTERFACE
|
||||
${FFMPEG_LIBRARIES}
|
||||
)
|
||||
target_include_directories(ffmpeg SYSTEM
|
||||
INTERFACE
|
||||
"${FFMPEG_INCLUDE_DIR}"
|
||||
)
|
||||
add_library(ffmpeg::ffmpeg ALIAS ffmpeg)
|
||||
if(FFmpeg_FOUND)
|
||||
add_library(ffmpeg::ffmpeg INTERFACE IMPORTED)
|
||||
set_property(TARGET ffmpeg::ffmpeg
|
||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${FFMPEG_INCLUDE_DIR})
|
||||
set_property(TARGET ffmpeg::ffmpeg
|
||||
PROPERTY INTERFACE_LINK_LIBRARIES ${FFMPEG_LIBRARIES})
|
||||
endif()
|
||||
|
@ -1,8 +1,10 @@
|
||||
# Locate SDL2 library
|
||||
# This module defines
|
||||
# SDL2_LIBRARY, the name of the library to link against
|
||||
# SDL2_FOUND, if false, do not try to link to SDL2
|
||||
# SDL2_INCLUDE_DIR, where to find SDL.h
|
||||
# This module defines:
|
||||
# - SDL2_LIBRARY, the name of the library to link against
|
||||
# - SDL2_FOUND, if false, do not try to link to SDL2
|
||||
# - SDL2_INCLUDE_DIR, where to find SDL.h
|
||||
# and creates:
|
||||
# - SDL2::SDL2 imported target
|
||||
#
|
||||
# This module responds to the the flag:
|
||||
# SDL2_BUILDING_LIBRARY
|
||||
@ -12,21 +14,15 @@
|
||||
# module will attempt to locate and set the the proper link flags
|
||||
# as part of the returned SDL2_LIBRARY variable.
|
||||
#
|
||||
# SDL2_STATIC
|
||||
# If this is defined, this module will search for static libraries.
|
||||
# On Windows, it is uncertain whether a .lib belongs to a dynamic or static SDL2 build.
|
||||
#
|
||||
# Don't forget to include SDL2main.h and SDL2main.m your project for the
|
||||
# OS X framework based version. (Other versions link to -lSDL2main which
|
||||
# this module will try to find on your behalf.) Also for OS X, this
|
||||
# module will automatically add the -framework Cocoa on your behalf.
|
||||
#
|
||||
#
|
||||
# Additional Note: If you see an empty SDL2_LIBRARY_TEMP in your configuration
|
||||
# and no SDL2_LIBRARY, it means CMake did not find your SDL2 library
|
||||
# (SDL2.dll, libsdl2.so, SDL2.framework, etc).
|
||||
# Set SDL2_LIBRARY_TEMP to point to your SDL2 library, and configure again.
|
||||
# Similarly, if you see an empty SDL2MAIN_LIBRARY, you should set this value
|
||||
# as appropriate. These values are used to generate the final SDL2_LIBRARY
|
||||
# variable, but when these values are unset, SDL2_LIBRARY does not get created.
|
||||
#
|
||||
#
|
||||
# $SDL2DIR is an environment variable that would
|
||||
# correspond to the ./configure --prefix=$SDL2DIR
|
||||
# used in building SDL2.
|
||||
@ -70,140 +66,151 @@
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
|
||||
FIND_PATH(SDL2_INCLUDE_DIR SDL.h
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES include/SDL2 include
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local/include/SDL2
|
||||
/usr/include/SDL2
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
)
|
||||
#MESSAGE("SDL2_INCLUDE_DIR is ${SDL2_INCLUDE_DIR}")
|
||||
|
||||
FIND_LIBRARY(SDL2_LIBRARY_PATH
|
||||
NAMES SDL2
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
/sw
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
)
|
||||
|
||||
set(SDL2_LIBRARY_ONLY ${SDL2_LIBRARY_PATH} CACHE STRING "The SDL2 library, with no other libraries.")
|
||||
set(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_PATH})
|
||||
|
||||
#MESSAGE("SDL2_LIBRARY_TEMP is ${SDL2_LIBRARY_TEMP}")
|
||||
|
||||
IF(NOT SDL2_BUILDING_LIBRARY)
|
||||
IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
|
||||
# Non-OS X framework versions expect you to also dynamically link to
|
||||
# SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
|
||||
# seem to provide SDL2main for compatibility even though they don't
|
||||
# necessarily need it.
|
||||
FIND_LIBRARY(SDL2MAIN_LIBRARY
|
||||
NAMES SDL2main
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES lib64 lib
|
||||
PATHS
|
||||
/sw
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
find_path(SDL2_INCLUDE_DIR SDL.h
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES
|
||||
include/SDL2 include
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local/include/SDL2
|
||||
/usr/include/SDL2
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
)
|
||||
ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
|
||||
ENDIF(NOT SDL2_BUILDING_LIBRARY)
|
||||
|
||||
find_library(SDL2_SHARED_LIBRARY_PATH
|
||||
NAMES SDL2
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
PATHS
|
||||
/sw
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
)
|
||||
|
||||
find_library(SDL2_STATIC_LIBRARY_PATH
|
||||
NAMES libSDL2.lib libSDL2.a SDL2.lib SDL2.a
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
PATHS
|
||||
/sw
|
||||
/opt/local
|
||||
/opt/csw
|
||||
/opt
|
||||
)
|
||||
|
||||
if(SDL2_STATIC)
|
||||
set(SDL2_LIBRARY_PATH ${SDL2_STATIC_LIBRARY_PATH})
|
||||
else()
|
||||
set(SDL2_LIBRARY_PATH ${SDL2_SHARED_LIBRARY_PATH})
|
||||
endif()
|
||||
|
||||
find_library(SDL2_SDL2MAIN_LIBRARY_PATH
|
||||
NAMES libSDL2main.lib libSDL2main.a SDL2main.lib SDL2main.a
|
||||
HINTS
|
||||
$ENV{SDL2DIR}
|
||||
PATH_SUFFIXES
|
||||
lib64 lib
|
||||
PATHS
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local/include/SDL2
|
||||
/usr/include/SDL2
|
||||
/sw # Fink
|
||||
/opt/local # DarwinPorts
|
||||
/opt/csw # Blastwave
|
||||
/opt
|
||||
)
|
||||
|
||||
if(SDL2_INCLUDE_DIR)
|
||||
file(READ "${SDL2_INCLUDE_DIR}/SDL_version.h" _SDL_VERSION_H)
|
||||
set(SDL2_REGEXES
|
||||
"SDL_MAJOR_VERSION[ ]+([0-9]+)"
|
||||
"SDL_MINOR_VERSION[ ]+([0-9]+)"
|
||||
"SDL_PATCHLEVEL[ ]+([0-9]+)"
|
||||
)
|
||||
set(_SDL2_VERSION)
|
||||
foreach(_SDL2_REGEX ${SDL2_REGEXES})
|
||||
string(REGEX MATCH "${_SDL2_REGEX}" _SDL2_NUMBER "${_SDL_VERSION_H}")
|
||||
if(NOT _SDL2_NUMBER)
|
||||
message(AUTHOR_WARNING "Cannot detect SDL2 version: regex \"${_SDL2_REGEX}\" does not match")
|
||||
endif()
|
||||
list(APPEND _SDL2_VERSION "${CMAKE_MATCH_1}")
|
||||
endforeach()
|
||||
string(REPLACE ";" "." SDL2_VERSION "${_SDL2_VERSION}")
|
||||
endif()
|
||||
|
||||
set(SDL2_DEPENDENCIES)
|
||||
|
||||
# For SDLmain
|
||||
if(SDL2_STATIC)
|
||||
list(APPEND SDL2_DEPENDENCIES ${CMAKE_DL_LIBS})
|
||||
endif()
|
||||
|
||||
if(SDL2_STATIC AND NOT SDL2_BUILDING_LIBRARY)
|
||||
list(APPEND SDL2_DEPENDENCIES ${SDL2_SDL2MAIN_LIBRARY_PATH})
|
||||
endif()
|
||||
|
||||
# For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
|
||||
# CMake doesn't display the -framework Cocoa string in the UI even
|
||||
# though it actually is there if I modify a pre-used variable.
|
||||
# I think it has something to do with the CACHE STRING.
|
||||
# So I use a temporary variable until the end so I can set the
|
||||
# "real" variable in one-shot.
|
||||
if(APPLE)
|
||||
list(APPEND SDL2_DEPENDENCIES "-framework Cocoa")
|
||||
endif()
|
||||
|
||||
# SDL2 may require threads on your system.
|
||||
# The Apple build may not need an explicit flag because one of the
|
||||
# frameworks may already provide it.
|
||||
# But for non-OSX systems, I will use the CMake Threads package.
|
||||
IF(NOT APPLE)
|
||||
FIND_PACKAGE(Threads)
|
||||
ENDIF(NOT APPLE)
|
||||
# In fact, there seems to be a problem if I used the Threads package
|
||||
# and try using this line, so I'm just skipping it entirely for OS X.
|
||||
if(NOT APPLE)
|
||||
find_package(Threads REQUIRED)
|
||||
list(APPEND SDL2_DEPENDENCIES Threads::Threads)
|
||||
endif()
|
||||
|
||||
# MinGW needs an additional library, mwindows
|
||||
# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -lmwindows
|
||||
# (Actually on second look, I think it only needs one of the m* libraries.)
|
||||
IF(MINGW)
|
||||
SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
|
||||
ENDIF(MINGW)
|
||||
|
||||
SET(SDL2_FOUND "NO")
|
||||
IF(SDL2_LIBRARY_TEMP)
|
||||
# For SDL2main
|
||||
IF(NOT SDL2_BUILDING_LIBRARY)
|
||||
IF(SDL2MAIN_LIBRARY)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(SDL2MAIN_LIBRARY)
|
||||
ENDIF(NOT SDL2_BUILDING_LIBRARY)
|
||||
|
||||
# For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
|
||||
# CMake doesn't display the -framework Cocoa string in the UI even
|
||||
# though it actually is there if I modify a pre-used variable.
|
||||
# I think it has something to do with the CACHE STRING.
|
||||
# So I use a temporary variable until the end so I can set the
|
||||
# "real" variable in one-shot.
|
||||
IF(APPLE)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
|
||||
ENDIF(APPLE)
|
||||
|
||||
# For threads, as mentioned Apple doesn't need this.
|
||||
# In fact, there seems to be a problem if I used the Threads package
|
||||
# and try using this line, so I'm just skipping it entirely for OS X.
|
||||
IF(NOT APPLE)
|
||||
SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
|
||||
ENDIF(NOT APPLE)
|
||||
|
||||
# For MinGW library
|
||||
IF(MINGW)
|
||||
SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(MINGW)
|
||||
|
||||
IF(WIN32)
|
||||
SET(SDL2_LIBRARY_TEMP winmm imm32 version msimg32 ${SDL2_LIBRARY_TEMP})
|
||||
ENDIF(WIN32)
|
||||
|
||||
# Set the final string here so the GUI reflects the final state.
|
||||
SET(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
|
||||
# Set the temp variable to INTERNAL so it is not seen in the CMake GUI
|
||||
SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
|
||||
|
||||
SET(SDL2_FOUND "YES")
|
||||
ENDIF(SDL2_LIBRARY_TEMP)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2
|
||||
REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
|
||||
|
||||
IF(SDL2_STATIC)
|
||||
if (UNIX AND NOT APPLE)
|
||||
EXECUTE_PROCESS(COMMAND sdl2-config --static-libs OUTPUT_VARIABLE SDL2_LINK_FLAGS)
|
||||
STRING(REGEX REPLACE "(\r?\n)+$" "" SDL2_LINK_FLAGS "${SDL2_LINK_FLAGS}")
|
||||
SET(SDL2_LIBRARY ${SDL2_LINK_FLAGS})
|
||||
ENDIF()
|
||||
ENDIF(SDL2_STATIC)
|
||||
|
||||
if(SDL2_FOUND AND NOT TARGET SDL2::SDL2)
|
||||
add_library(SDL2 INTERFACE)
|
||||
target_link_libraries(SDL2
|
||||
INTERFACE
|
||||
${SDL2_LIBRARY}
|
||||
)
|
||||
target_include_directories(SDL2 SYSTEM
|
||||
INTERFACE
|
||||
"${SDL2_INCLUDE_DIR}"
|
||||
)
|
||||
add_library(SDL2::SDL2 ALIAS SDL2)
|
||||
if(MINGW)
|
||||
set(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
|
||||
list(APPEND SDL2_DEPENDENCIES ${MINGW32_LIBRARY})
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
list(APPEND SDL2_DEPENDENCIES winmm imm32 version msimg32)
|
||||
endif()
|
||||
|
||||
set(SDL2_LIBRARY ${SDL2_LIBRARY_PATH} ${SDL2_DEPENDENCIES})
|
||||
|
||||
set(SDL2_REQUIRED_LIBS SDL2_LIBRARY_PATH)
|
||||
if(NOT SDL2_BUILDING_LIBRARY)
|
||||
list(APPEND SDL2_REQUIRED_LIBS SDL2_SDL2MAIN_LIBRARY_PATH)
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(SDL2
|
||||
FOUND_VAR SDL2_FOUND
|
||||
REQUIRED_VARS ${SDL2_REQUIRED_LIBS} SDL2_INCLUDE_DIR
|
||||
VERSION_VAR SDL2_VERSION
|
||||
)
|
||||
|
||||
if(SDL2_FOUND)
|
||||
add_library(SDL2::SDL2 INTERFACE IMPORTED)
|
||||
set_property(TARGET SDL2::SDL2
|
||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SDL2_INCLUDE_DIR})
|
||||
set_property(TARGET SDL2::SDL2
|
||||
PROPERTY INTERFACE_LINK_LIBRARIES ${SDL2_LIBRARY})
|
||||
endif()
|
||||
|
@ -1,42 +1,30 @@
|
||||
function(rwdep_wrap_find_packages)
|
||||
if(BULLET_FOUND AND NOT TARGET bullet::bullet)
|
||||
add_library(bullet INTERFACE)
|
||||
target_link_libraries(bullet
|
||||
INTERFACE
|
||||
${BULLET_LIBRARIES}
|
||||
)
|
||||
target_include_directories(bullet SYSTEM
|
||||
INTERFACE
|
||||
"${BULLET_INCLUDE_DIR}"
|
||||
)
|
||||
add_library(bullet::bullet ALIAS bullet)
|
||||
add_library(bullet::bullet INTERFACE IMPORTED)
|
||||
set_property(TARGET bullet::bullet
|
||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${BULLET_INCLUDE_DIR})
|
||||
set_property(TARGET bullet::bullet
|
||||
PROPERTY INTERFACE_LINK_LIBRARIES ${BULLET_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(OPENAL_FOUND AND NOT TARGET OpenAL::OpenAL)
|
||||
add_library(OpenAL INTERFACE)
|
||||
target_link_libraries(OpenAL
|
||||
INTERFACE
|
||||
"${OPENAL_LIBRARY}"
|
||||
)
|
||||
target_include_directories(OpenAL SYSTEM
|
||||
INTERFACE
|
||||
"${OPENAL_INCLUDE_DIR}"
|
||||
)
|
||||
add_library(OpenAL::OpenAL ALIAS OpenAL)
|
||||
add_library(OpenAL::OpenAL INTERFACE IMPORTED)
|
||||
set_property(TARGET OpenAL::OpenAL
|
||||
PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${OPENAL_INCLUDE_DIR})
|
||||
set_property(TARGET OpenAL::OpenAL
|
||||
PROPERTY INTERFACE_LINK_LIBRARIES ${OPENAL_LIBRARY})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(rwdep_wrap_conan_target TARGET CONAN_NAME)
|
||||
string(RANDOM RND)
|
||||
set(TGT "CONAN_${CONAN_NAME}_${RND}")
|
||||
add_library("${TGT}" INTERFACE)
|
||||
target_link_libraries("${TGT}" INTERFACE "CONAN_PKG::${CONAN_NAME}")
|
||||
add_library("${TARGET}" ALIAS "${TGT}")
|
||||
add_library("${TARGET}" INTERFACE IMPORTED)
|
||||
set_property(TARGET "${TARGET}"
|
||||
PROPERTY INTERFACE_LINK_LIBRARIES "CONAN_PKG::${CONAN_NAME}")
|
||||
endfunction()
|
||||
|
||||
function(rwdep_wrap_conan_targets)
|
||||
rwdep_wrap_conan_target(OpenAL::OpenAL openal)
|
||||
rwdep_wrap_conan_target(bullet::bullet bullet)
|
||||
rwdep_wrap_conan_target(bullet::bullet bullet3)
|
||||
rwdep_wrap_conan_target(glm::glm glm)
|
||||
rwdep_wrap_conan_target(ffmpeg::ffmpeg ffmpeg)
|
||||
rwdep_wrap_conan_target(SDL2::SDL2 sdl2)
|
||||
|
@ -4,12 +4,6 @@ add_library(openrw::interface ALIAS rw_interface)
|
||||
add_library(rw_checks INTERFACE)
|
||||
add_library(openrw::checks ALIAS rw_checks)
|
||||
target_link_libraries(rw_interface INTERFACE rw_checks)
|
||||
|
||||
# target_compile_features(rw_interface INTERFACE cxx_std_14) is not supported by CMake 3.2
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
target_compile_options(rw_interface
|
||||
INTERFACE
|
||||
@ -21,6 +15,20 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang
|
||||
"$<IF:$<COMPILE_LANGUAGE:CXX>,-Wold-style-cast,>"
|
||||
)
|
||||
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
if(MSVC_NO_DEBUG_RUNTIME)
|
||||
foreach(LANG C CXX)
|
||||
foreach(CONFIGURATION_TYPE ${CMAKE_CONFIGURATION_TYPES} "")
|
||||
string(TOUPPER "${CONFIGURATION_TYPE}" CONFIGURATION_TYPE)
|
||||
set(FLAGS_VAR "CMAKE_${LANG}_FLAGS")
|
||||
if(CONFIGURATION_TYPE)
|
||||
set(FLAGS_VAR "${FLAGS_VAR}_${CONFIGURATION_TYPE}")
|
||||
endif()
|
||||
string(REPLACE "/MDd" "/MD" "${FLAGS_VAR}" "${${FLAGS_VAR}}")
|
||||
string(REPLACE "/MTd" "/MT" "${FLAGS_VAR}" "${${FLAGS_VAR}}")
|
||||
set("${FLAGS_VAR}" "${${FLAGS_VAR}}" CACHE STRING "${LANG} flags for ${CONFIGURATION_TYPE} configuration type")
|
||||
endforeach()
|
||||
endforeach()
|
||||
endif()
|
||||
target_compile_definitions(rw_checks
|
||||
INTERFACE
|
||||
"_SCL_SECURE_NO_WARNINGS"
|
||||
@ -29,6 +37,7 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
target_compile_options(rw_interface
|
||||
INTERFACE
|
||||
"/MP"
|
||||
"/Zc:__cplusplus"
|
||||
)
|
||||
else()
|
||||
message(FATAL_ERROR "Unknown compiler ID: '${CMAKE_CXX_COMPILER_ID}'")
|
||||
@ -188,25 +197,36 @@ endforeach()
|
||||
|
||||
function(openrw_target_apply_options)
|
||||
set(IWYU_MAPPING "${PROJECT_SOURCE_DIR}/openrw_iwyu.imp")
|
||||
cmake_parse_arguments("ORW" "INSTALL;INSTALL_PDB;COVERAGE" "TARGET" "COVERAGE_EXCEPT" ${ARGN})
|
||||
if(CHECK_IWYU)
|
||||
iwyu_check(TARGET "${ORW_TARGET}"
|
||||
EXTRA_OPTS
|
||||
"--mapping_file=${IWYU_MAPPING}"
|
||||
)
|
||||
endif()
|
||||
cmake_parse_arguments("ORW" "CORE;INSTALL;INSTALL_PDB;COVERAGE" "TARGET" "COVERAGE_EXCEPT" ${ARGN})
|
||||
|
||||
if(TEST_COVERAGE AND ORW_COVERAGE)
|
||||
coverage_add_target("${ORW_TARGET}" EXCEPT ${ORW_COVERAGE_EXCEPT})
|
||||
endif()
|
||||
|
||||
if(CHECK_CLANGTIDY)
|
||||
clang_tidy_check_target(
|
||||
TARGET "${ORW_TARGET}"
|
||||
FORMAT_STYLE "file"
|
||||
FIX "${CHECK_CLANGTIDY_FIX}"
|
||||
CHECK_ALL
|
||||
)
|
||||
if(ORW_CORE)
|
||||
if(CHECK_IWYU)
|
||||
iwyu_check(TARGET "${ORW_TARGET}"
|
||||
EXTRA_OPTS
|
||||
"--mapping_file=${IWYU_MAPPING}"
|
||||
)
|
||||
endif()
|
||||
|
||||
set_target_properties("${ORW_TARGET}"
|
||||
PROPERTIES
|
||||
CXX_EXTENSIONS OFF
|
||||
CXX_STANDARD 17
|
||||
C_EXTENSIONS OFF
|
||||
C_STANDARD 11
|
||||
)
|
||||
|
||||
if(CHECK_CLANGTIDY)
|
||||
clang_tidy_check_target(
|
||||
TARGET "${ORW_TARGET}"
|
||||
FORMAT_STYLE "file"
|
||||
FIX "${CHECK_CLANGTIDY_FIX}"
|
||||
CHECK_ALL
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
|
@ -19,6 +19,9 @@ set(CMAKE_CONFIGURATION_TYPES "Release;Debug;RelWithDebInfo;MinSizeRel" CACHE IN
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: ${CMAKE_CONFIGURATION_TYPES}")
|
||||
endif()
|
||||
if(MSVC)
|
||||
option(MSVC_NO_DEBUG_RUNTIME "Don't use the debug runtime")
|
||||
endif()
|
||||
|
||||
option(CHECK_IWYU "Enable IncludeWhatYouUse (Analyze #includes in C and C++ source files)")
|
||||
option(CHECK_CLANGTIDY "Enable clang-tidy (A clang-based C++ linter tool)")
|
||||
|
37
conanfile.py
37
conanfile.py
@ -1,5 +1,4 @@
|
||||
from conans import ConanFile, CMake
|
||||
from conans.errors import ConanException
|
||||
|
||||
|
||||
class OpenrwConan(ConanFile):
|
||||
@ -13,31 +12,34 @@ class OpenrwConan(ConanFile):
|
||||
'test_data': [True, False],
|
||||
'viewer': [True, False],
|
||||
'tools': [True, False],
|
||||
'profiling': [True, False],
|
||||
}
|
||||
|
||||
default_options = (
|
||||
'test_data=False',
|
||||
'viewer=True',
|
||||
'tools=True',
|
||||
'bullet:shared=False',
|
||||
'sdl2:sdl2main=False',
|
||||
)
|
||||
default_options = {
|
||||
'test_data': False,
|
||||
'viewer': True,
|
||||
'tools': True,
|
||||
'profiling': True,
|
||||
'bullet3:shared': False,
|
||||
'sdl2:sdl2main': False,
|
||||
}
|
||||
|
||||
generators = 'cmake',
|
||||
exports_sources = 'CMakeLists.txt', 'cmake_configure.cmake', 'cmake_options.cmake', 'COPYING', \
|
||||
'cmake/modules/*', 'benchmarks', 'rwlib/*', 'rwengine/*', 'rwgame/*', 'rwviewer/*', 'tests/*'
|
||||
exports_sources = 'CMakeLists.txt', 'cmake_configure.cmake', 'cmake_options.cmake', 'CMakeCPack.cmake', 'COPYING', \
|
||||
'cmake/modules/*', 'benchmarks', 'rwcore/*', 'rwengine/*', 'rwgame/*', 'rwviewer/*', \
|
||||
'rwtools/*', 'tests/*', 'external/*'
|
||||
|
||||
_rw_dependencies = {
|
||||
'game': (
|
||||
'openal/1.18.2@bincrafters/stable',
|
||||
'bullet/2.87@bincrafters/stable',
|
||||
'openal/1.19.0@bincrafters/stable',
|
||||
'bullet3/2.87@bincrafters/stable',
|
||||
'glm/0.9.9.1@g-truc/stable',
|
||||
'ffmpeg/4.0@bincrafters/stable',
|
||||
'sdl2/2.0.8@bincrafters/stable',
|
||||
'boost/1.67.0@conan/stable',
|
||||
'ffmpeg/4.0.2@bincrafters/stable',
|
||||
'sdl2/2.0.9@bincrafters/stable',
|
||||
'boost/1.68.0@conan/stable',
|
||||
),
|
||||
'viewer': (
|
||||
'Qt/5.11.1@bincrafters/stable',
|
||||
'qt/5.12.0@bincrafters/stable',
|
||||
),
|
||||
'tools': (
|
||||
'freetype/2.9.0@bincrafters/stable',
|
||||
@ -46,7 +48,7 @@ class OpenrwConan(ConanFile):
|
||||
|
||||
def configure(self):
|
||||
if self.options.viewer:
|
||||
self.options['Qt'].opengl = 'desktop'
|
||||
self.options['qt'].opengl = 'desktop'
|
||||
|
||||
def requirements(self):
|
||||
for dep in self._rw_dependencies['game']:
|
||||
@ -67,6 +69,7 @@ class OpenrwConan(ConanFile):
|
||||
'BUILD_VIEWER': self.options.viewer,
|
||||
'BUILD_TOOLS': self.options.tools,
|
||||
'TESTS_NODATA': not self.options.test_data,
|
||||
'ENABLE_PROFILING': self.options.profiling,
|
||||
'USE_CONAN': True,
|
||||
'BOOST_STATIC': not self.options['boost'].shared,
|
||||
}
|
||||
|
6
external/microprofile/CMakeLists.txt
vendored
6
external/microprofile/CMakeLists.txt
vendored
@ -25,4 +25,10 @@ openrw_target_apply_options(
|
||||
TARGET microprofile
|
||||
)
|
||||
|
||||
set_target_properties(microprofile
|
||||
PROPERTIES
|
||||
CXX_EXTENSIONS OFF
|
||||
CXX_STANDARD 11
|
||||
)
|
||||
|
||||
add_library(microprofile::microprofile ALIAS microprofile)
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
add_library(rwcore
|
||||
# GL stuff is only here temporarily, hoping to move it back to rwengine
|
||||
gl/gl_core_3_3.c
|
||||
@ -67,6 +66,7 @@ target_link_libraries(rwcore
|
||||
)
|
||||
|
||||
openrw_target_apply_options(TARGET rwcore
|
||||
CORE
|
||||
COVERAGE
|
||||
COVERAGE_EXCEPT gl/gl_core_3_3.c gl/gl_core_3_3.h
|
||||
)
|
||||
|
@ -169,6 +169,7 @@ target_include_directories(rwengine
|
||||
)
|
||||
|
||||
openrw_target_apply_options(TARGET rwengine
|
||||
CORE
|
||||
COVERAGE
|
||||
)
|
||||
|
||||
|
@ -5,12 +5,12 @@
|
||||
#include <utility>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <BulletDynamics/Character/btKinematicCharacterController.h>
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/gtc/constants.hpp>
|
||||
|
@ -5,11 +5,11 @@
|
||||
#include <limits>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/glm.hpp>
|
||||
|
@ -2,11 +2,11 @@
|
||||
#define _RWENGINE_RAYCASTCALLBACKS_HPP_
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
@ -1,12 +1,12 @@
|
||||
#include "engine/GameWorld.hpp"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <BulletCollision/CollisionDispatch/btGhostObject.h>
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/gtx/norm.hpp>
|
||||
|
@ -10,11 +10,11 @@
|
||||
#include <vector>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <LinearMath/btScalar.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/glm.hpp>
|
||||
|
@ -1,11 +1,11 @@
|
||||
#include "Garage.hpp"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/gtx/quaternion.hpp>
|
||||
|
@ -6,13 +6,13 @@
|
||||
#include <memory>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <BulletCollision/CollisionDispatch/btGhostObject.h>
|
||||
#include <BulletDynamics/Character/btKinematicCharacterController.h>
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <rw/debug.hpp>
|
||||
|
@ -4,12 +4,12 @@
|
||||
#include <string>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#include <glm/gtc/quaternion.hpp>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <rw/types.hpp>
|
||||
|
@ -3,12 +3,12 @@
|
||||
#include <cmath>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <BulletCollision/CollisionDispatch/btGhostObject.h>
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/gtc/quaternion.hpp>
|
||||
|
@ -1,12 +1,12 @@
|
||||
#include "objects/ProjectileObject.hpp"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <BulletCollision/CollisionDispatch/btGhostObject.h>
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/gtc/quaternion.hpp>
|
||||
|
@ -6,12 +6,12 @@
|
||||
#include <limits>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <BulletDynamics/Vehicle/btRaycastVehicle.h>
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/gtx/quaternion.hpp>
|
||||
|
@ -8,12 +8,12 @@
|
||||
#include <unordered_map>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#include <LinearMath/btScalar.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <glm/glm.hpp>
|
||||
|
@ -5,11 +5,11 @@
|
||||
#include <glm/glm.hpp>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <LinearMath/btVector3.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <data/Clump.hpp>
|
||||
|
@ -5,12 +5,12 @@
|
||||
#include <vector>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <LinearMath/btIDebugDraw.h>
|
||||
#include <LinearMath/btScalar.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <data/Clump.hpp>
|
||||
|
@ -2,13 +2,7 @@
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 5033)
|
||||
#endif
|
||||
#include <BulletDynamics/Vehicle/btRaycastVehicle.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 5033)
|
||||
#endif
|
||||
#include <glm/gtc/type_ptr.hpp>
|
||||
|
||||
#include <data/Clump.hpp>
|
||||
|
@ -46,6 +46,7 @@ add_library(librwgame STATIC
|
||||
|
||||
openrw_target_apply_options(
|
||||
TARGET librwgame
|
||||
CORE
|
||||
COVERAGE
|
||||
)
|
||||
|
||||
@ -78,6 +79,7 @@ target_link_libraries(rwgame
|
||||
|
||||
openrw_target_apply_options(
|
||||
TARGET rwgame
|
||||
CORE
|
||||
COVERAGE
|
||||
INSTALL INSTALL_PDB
|
||||
)
|
||||
|
@ -8,12 +8,12 @@
|
||||
#include "StateManager.hpp"
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
// FIXME: should be in rwengine, deeply hidden
|
||||
#include <BulletDynamics/Dynamics/btDiscreteDynamicsWorld.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <engine/GameData.hpp>
|
||||
|
@ -22,11 +22,11 @@
|
||||
#include <glm/gtx/norm.hpp>
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <BulletCollision/CollisionDispatch/btGhostObject.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -13,6 +13,7 @@ target_link_libraries(rwfontmap
|
||||
|
||||
openrw_target_apply_options(
|
||||
TARGET rwfontmap
|
||||
CORE
|
||||
COVERAGE
|
||||
INSTALL INSTALL_PDB
|
||||
)
|
||||
|
@ -56,6 +56,7 @@ target_link_libraries(rwviewer
|
||||
|
||||
openrw_target_apply_options(
|
||||
TARGET rwviewer
|
||||
CORE
|
||||
COVERAGE
|
||||
INSTALL INSTALL_PDB
|
||||
)
|
||||
|
@ -11,7 +11,6 @@ from conans.client import conan_api
|
||||
|
||||
openrw_path = Path(__file__).resolve().parents[2]
|
||||
cmake_generator_lookup = {
|
||||
2015: 'Visual Studio 14 2015',
|
||||
2017: 'Visual Studio 15 2017',
|
||||
}
|
||||
architectures = ['x64', 'x86']
|
||||
@ -33,14 +32,13 @@ def create_solution(path, vs_version, arch):
|
||||
conan, _, _ = conan_api.ConanAPIV1.factory()
|
||||
conan.remote_add('bincrafters', 'https://api.bintray.com/conan/bincrafters/public-conan', force=True)
|
||||
conan_arch = conan_arch_map[arch]
|
||||
conan.install(path=openrw_path, generators=('cmake_multi',), build=['missing', ],
|
||||
settings=('build_type=Debug', 'arch={}'.format(conan_arch), ), install_folder=path)
|
||||
conan.install(path=openrw_path, generators=('cmake_multi',), build=['missing', ],
|
||||
settings=('build_type=Release', 'arch={}'.format(conan_arch), ), install_folder=path)
|
||||
conan.install(path=openrw_path, generators=('cmake',), build=['missing', ],
|
||||
settings=('build_type=Release', 'arch={}'.format(conan_arch), 'compiler.runtime=MD', ),
|
||||
install_folder=path)
|
||||
cmake_generator = to_cmake_generator(vs_version=vs_version, arch=arch)
|
||||
subprocess.run([
|
||||
'cmake', '-DUSE_CONAN=TRUE', '-DBOOST_STATIC=TRUE',
|
||||
'-DBUILD_TESTS=TRUE', '-DBUILD_VIEWER=TRUE', '-DBUILD_TOOLS=TRUE',
|
||||
'cmake', '-DUSE_CONAN=ON', '-DBOOST_STATIC=ON', '-DMSVC_NO_DEBUG_RUNTIME=ON',
|
||||
'-DBUILD_TESTS=ON', '-DBUILD_VIEWER=ON', '-DBUILD_TOOLS=ON',
|
||||
'-G{}'.format(cmake_generator), str(openrw_path),
|
||||
], cwd=path, check=True)
|
||||
|
||||
|
@ -72,6 +72,7 @@ target_link_libraries(rwtests
|
||||
|
||||
openrw_target_apply_options(
|
||||
TARGET rwtests
|
||||
CORE
|
||||
COVERAGE
|
||||
INSTALL INSTALL_PDB
|
||||
)
|
||||
|
@ -2,11 +2,11 @@
|
||||
#define _TESTGLOBALS_HPP_
|
||||
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4305 5033)
|
||||
#pragma warning(disable : 4305)
|
||||
#endif
|
||||
#include <btBulletDynamicsCommon.h>
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(default : 4305 5033)
|
||||
#pragma warning(default : 4305)
|
||||
#endif
|
||||
|
||||
#include <SDL.h>
|
||||
|
Loading…
Reference in New Issue
Block a user