mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-11-10 01:09:50 +00:00
Merge with develop
--HG-- branch : compatibility-develop
This commit is contained in:
commit
86a903c96e
8 changed files with 107 additions and 52 deletions
|
@ -220,41 +220,15 @@ IF(WITH_QT5)
|
||||||
FIND_PACKAGE(Qt5LinguistTools)
|
FIND_PACKAGE(Qt5LinguistTools)
|
||||||
FIND_PACKAGE(Qt5Network)
|
FIND_PACKAGE(Qt5Network)
|
||||||
|
|
||||||
SET(QT_LIBRARIES Qt5::Widgets Qt5::Core Qt5::Gui Qt5::Network Qt5::OpenGL Qt5::Xml)
|
|
||||||
|
|
||||||
IF(QT_STATIC)
|
IF(QT_STATIC)
|
||||||
ADD_DEFINITIONS(-DQT_STATICPLUGIN)
|
ADD_DEFINITIONS(-DQT_STATICPLUGIN)
|
||||||
|
|
||||||
# Core
|
SET(QT_LIBRARIES Qt5::Widgets)
|
||||||
IF(APPLE)
|
|
||||||
FIND_LIBRARY(PCRE_LIBRARY pcre16 pcre)
|
|
||||||
|
|
||||||
FIND_LIBRARY(FOUNDATION_FRAMEWORK Foundation)
|
|
||||||
FIND_LIBRARY(CARBON_FRAMEWORK Carbon)
|
|
||||||
FIND_LIBRARY(SECURITY_FRAMEWORK Security)
|
|
||||||
|
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES}
|
|
||||||
${PCRE_LIBRARY}
|
|
||||||
${FOUNDATION_FRAMEWORK}
|
|
||||||
${CARBON_FRAMEWORK}
|
|
||||||
${SECURITY_FRAMEWORK})
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
# Network
|
|
||||||
FIND_PACKAGE(OpenSSL REQUIRED)
|
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES} ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARIES})
|
|
||||||
|
|
||||||
IF(WIN32)
|
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES}
|
|
||||||
${WINSDK_LIBRARY_DIR}/Crypt32.lib
|
|
||||||
${WINSDK_LIBRARY_DIR}/WS2_32.Lib)
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARY})
|
|
||||||
|
|
||||||
# Gui
|
# Gui
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} Qt5::Gui Qt5::OpenGL)
|
||||||
|
|
||||||
ADD_QT_LIBRARY(PrintSupport)
|
ADD_QT_LIBRARY(PrintSupport)
|
||||||
ADD_QT_LIBRARY(PlatformSupport)
|
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES}
|
SET(QT_LIBRARIES ${QT_LIBRARIES}
|
||||||
|
@ -284,17 +258,21 @@ IF(WITH_QT5)
|
||||||
ADD_QT_PLUGIN(printsupport cocoaprintersupport)
|
ADD_QT_PLUGIN(printsupport cocoaprintersupport)
|
||||||
ADD_QT_PLUGIN(platforms qcocoa)
|
ADD_QT_PLUGIN(platforms qcocoa)
|
||||||
ELSE()
|
ELSE()
|
||||||
FIND_LIBRARY(OPENGL_LIBRARY GL)
|
ADD_QT_PLUGIN(platforms qxcb)
|
||||||
|
ADD_QT_PLUGIN(xcbglintegrations qxcb-glx-integration)
|
||||||
|
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES} ${OPENGL_LIBRARY})
|
ADD_QT_LIBRARY(XcbQpa)
|
||||||
|
ADD_QT_LIBRARY(PlatformSupport)
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} -lX11-xcb -lXi -lSM -lICE -lxcb)
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} "${QT_LIBRARY_DIR}/libxcb-static.a")
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} -lfontconfig)
|
||||||
|
ADD_QT_LIBRARY(DBus)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
ADD_QT_PLUGIN(imageformats qgif)
|
ADD_QT_PLUGIN(imageformats qgif)
|
||||||
ADD_QT_PLUGIN(imageformats qicns)
|
ADD_QT_PLUGIN(imageformats qicns)
|
||||||
ADD_QT_PLUGIN(imageformats qico)
|
ADD_QT_PLUGIN(imageformats qico)
|
||||||
ADD_QT_PLUGIN(imageformats qjpeg)
|
ADD_QT_PLUGIN(imageformats qjpeg)
|
||||||
ADD_QT_PLUGIN(imageformats qmng)
|
|
||||||
ADD_QT_PLUGIN(imageformats qwebp)
|
|
||||||
|
|
||||||
# harfbuzz is needed since Qt 5.3
|
# harfbuzz is needed since Qt 5.3
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
@ -316,6 +294,25 @@ IF(WITH_QT5)
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES} ${FREETYPE_LIB})
|
SET(QT_LIBRARIES ${QT_LIBRARIES} ${FREETYPE_LIB})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
ADD_QT_PLUGIN(accessible qtaccessiblewidgets)
|
||||||
|
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARY})
|
||||||
|
|
||||||
|
# Network
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} Qt5::Network Qt5::Xml)
|
||||||
|
|
||||||
|
FIND_PACKAGE(OpenSSL REQUIRED)
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARIES})
|
||||||
|
|
||||||
|
IF(WIN32)
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES}
|
||||||
|
${WINSDK_LIBRARY_DIR}/Crypt32.lib
|
||||||
|
${WINSDK_LIBRARY_DIR}/WS2_32.Lib)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
# Core
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} Qt5::Core)
|
||||||
|
|
||||||
# pcre is needed since Qt 5.5
|
# pcre is needed since Qt 5.5
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
SET(PCRE_LIB "${QT_LIBRARY_DIR}/libqtpcre.a")
|
SET(PCRE_LIB "${QT_LIBRARY_DIR}/libqtpcre.a")
|
||||||
|
@ -326,7 +323,23 @@ IF(WITH_QT5)
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES} ${PCRE_LIB})
|
SET(QT_LIBRARIES ${QT_LIBRARIES} ${PCRE_LIB})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
ADD_QT_PLUGIN(accessible qtaccessiblewidgets)
|
IF(APPLE)
|
||||||
|
FIND_LIBRARY(PCRE_LIBRARY pcre16 pcre)
|
||||||
|
|
||||||
|
FIND_LIBRARY(FOUNDATION_FRAMEWORK Foundation)
|
||||||
|
FIND_LIBRARY(CARBON_FRAMEWORK Carbon)
|
||||||
|
FIND_LIBRARY(SECURITY_FRAMEWORK Security)
|
||||||
|
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES}
|
||||||
|
${PCRE_LIBRARY}
|
||||||
|
${FOUNDATION_FRAMEWORK}
|
||||||
|
${CARBON_FRAMEWORK}
|
||||||
|
${SECURITY_FRAMEWORK})
|
||||||
|
ELSEIF(UNIX)
|
||||||
|
SET(QT_LIBRARIES ${QT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} -ldl)
|
||||||
|
ENDIF()
|
||||||
|
ELSE()
|
||||||
|
SET(QT_LIBRARIES Qt5::Widgets Qt5::Network Qt5::Xml Qt5::Gui Qt5::OpenGL Qt5::Core)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(WARNING "Unable to find Qt 5")
|
MESSAGE(WARNING "Unable to find Qt 5")
|
||||||
|
|
|
@ -145,19 +145,22 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Hack to define missing QT_NO_DEBUG with Qt 5.2
|
# Special Qt 5 cases
|
||||||
IF(USE_QT5 AND _UPPER_BUILD STREQUAL "RELEASE")
|
IF(GLOBAL_DEFINITIONS MATCHES "QT_CORE_LIB")
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -DQT_NO_DEBUG")
|
# Hack to define missing QT_NO_DEBUG with Qt 5.2
|
||||||
ENDIF()
|
IF(_UPPER_BUILD STREQUAL "RELEASE")
|
||||||
|
LIST(APPEND GLOBAL_DEFINITIONS " -DQT_NO_DEBUG")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# Qt5_POSITION_INDEPENDENT_CODE should be true if Qt was compiled with PIE
|
# Qt5_POSITION_INDEPENDENT_CODE should be true if Qt was compiled with PIE
|
||||||
IF(Qt5_POSITION_INDEPENDENT_CODE AND GLOBAL_DEFINITIONS MATCHES "QT_CORE_LIB")
|
IF(Qt5_POSITION_INDEPENDENT_CODE)
|
||||||
SET(_USE_PIE ON)
|
SET(_USE_PIE ON)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(_USE_PIE)
|
IF(_USE_PIE)
|
||||||
LIST(APPEND _FLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_PIE}")
|
LIST(APPEND _FLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_PIE}")
|
||||||
LIST(APPEND _FLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_PIC}")
|
LIST(APPEND _FLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_PIC}")
|
||||||
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
LIST(APPEND _FLAGS " ${GLOBAL_DEFINITIONS}")
|
LIST(APPEND _FLAGS " ${GLOBAL_DEFINITIONS}")
|
||||||
|
|
|
@ -349,6 +349,9 @@ std::string formatThousands(const std::string& s);
|
||||||
/// The program will be launched in the current directory
|
/// The program will be launched in the current directory
|
||||||
bool launchProgram (const std::string &programName, const std::string &arguments, bool log = true);
|
bool launchProgram (const std::string &programName, const std::string &arguments, bool log = true);
|
||||||
|
|
||||||
|
/// This function executes a program and returns output as a string
|
||||||
|
std::string getCommandOutput(const std::string &command);
|
||||||
|
|
||||||
/// This function kills a program using his pid (on unix, it uses the kill() POSIX function)
|
/// This function kills a program using his pid (on unix, it uses the kill() POSIX function)
|
||||||
bool killProgram(uint32 pid);
|
bool killProgram(uint32 pid);
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,11 @@ IF(NOT WIN32)
|
||||||
FIND_LIBRARY(CARBON NAMES Carbon)
|
FIND_LIBRARY(CARBON NAMES Carbon)
|
||||||
FIND_LIBRARY(COCOA NAMES Cocoa)
|
FIND_LIBRARY(COCOA NAMES Cocoa)
|
||||||
ELSE()
|
ELSE()
|
||||||
|
SET(OLD_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||||
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES .so)
|
||||||
FIND_PACKAGE(X11)
|
FIND_PACKAGE(X11)
|
||||||
FIND_PACKAGE(XF86VidMode)
|
FIND_PACKAGE(XF86VidMode)
|
||||||
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES ${OLD_CMAKE_FIND_LIBRARY_SUFFIXES})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -71,12 +74,12 @@ IF(UNIX AND NOT APPLE)
|
||||||
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${X11_Xext_LIB})
|
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${X11_Xext_LIB})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
# libraries needed to be linked while linking to static X11 libraries
|
# libraries needed to be linked while linking to static X11 libraries
|
||||||
FIND_LIBRARY(XCB_LIBRARY
|
# FIND_LIBRARY(XCB_LIBRARY
|
||||||
NAMES xcb
|
# NAMES xcb
|
||||||
HINTS ${X11_LIB_SEARCH_PATH})
|
# HINTS ${X11_LIB_SEARCH_PATH})
|
||||||
IF(XCB_LIBRARY)
|
# IF(XCB_LIBRARY)
|
||||||
TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${XCB_LIBRARY})
|
# TARGET_LINK_LIBRARIES(${NLDRV_OGL_LIB} ${XCB_LIBRARY})
|
||||||
ENDIF()
|
# ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
|
|
|
@ -2058,6 +2058,12 @@ bool CDriverGL::getModes(std::vector<GfxMode> &modes)
|
||||||
|
|
||||||
#elif defined (NL_OS_UNIX)
|
#elif defined (NL_OS_UNIX)
|
||||||
|
|
||||||
|
if (!_dpy)
|
||||||
|
{
|
||||||
|
nlwarning("3D: Unable to list modes because Display is NULL, did you forget to call init() ?");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
bool found = false;
|
bool found = false;
|
||||||
int screen = DefaultScreen(_dpy);
|
int screen = DefaultScreen(_dpy);
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,10 @@
|
||||||
# include <ShellAPI.h>
|
# include <ShellAPI.h>
|
||||||
# include <io.h>
|
# include <io.h>
|
||||||
# include <tchar.h>
|
# include <tchar.h>
|
||||||
|
|
||||||
|
#define popen _popen
|
||||||
|
#define pclose _pclose
|
||||||
|
|
||||||
#elif defined NL_OS_MAC
|
#elif defined NL_OS_MAC
|
||||||
# include <ApplicationServices/ApplicationServices.h>
|
# include <ApplicationServices/ApplicationServices.h>
|
||||||
#elif defined NL_OS_UNIX
|
#elif defined NL_OS_UNIX
|
||||||
|
@ -32,6 +36,8 @@
|
||||||
# include <sched.h>
|
# include <sched.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define MAX_LINE_WIDTH 256
|
||||||
|
|
||||||
#include "nel/misc/command.h"
|
#include "nel/misc/command.h"
|
||||||
#include "nel/misc/path.h"
|
#include "nel/misc/path.h"
|
||||||
#include "nel/misc/i18n.h"
|
#include "nel/misc/i18n.h"
|
||||||
|
@ -840,6 +846,25 @@ bool launchProgram(const std::string &programName, const std::string &arguments,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string getCommandOutput(const std::string &command)
|
||||||
|
{
|
||||||
|
FILE *pipe = popen(command.c_str(), "r");
|
||||||
|
|
||||||
|
if (!pipe) return "";
|
||||||
|
|
||||||
|
char buffer[MAX_LINE_WIDTH];
|
||||||
|
std::string result;
|
||||||
|
|
||||||
|
while (!feof(pipe))
|
||||||
|
{
|
||||||
|
if (fgets(buffer, MAX_LINE_WIDTH, pipe) != NULL) result += buffer;
|
||||||
|
}
|
||||||
|
|
||||||
|
pclose(pipe);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Display the bits (with 0 and 1) composing a byte (from right to left)
|
* Display the bits (with 0 and 1) composing a byte (from right to left)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)
|
Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin)
|
||||||
#elif defined(Q_OS_UNIX)
|
#elif defined(Q_OS_UNIX)
|
||||||
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
|
Q_IMPORT_PLUGIN(QXcbIntegrationPlugin)
|
||||||
|
Q_IMPORT_PLUGIN(QXcbGlxIntegrationPlugin)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -145,6 +145,7 @@ void CSystem::GatherOpenGLInfo()
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
NL3D::IDriver *driver = NL3D::CDRU::createGlDriver();
|
NL3D::IDriver *driver = NL3D::CDRU::createGlDriver();
|
||||||
|
driver->init(0);
|
||||||
GetVideoModes( openglInfo.modes, driver );
|
GetVideoModes( openglInfo.modes, driver );
|
||||||
driver->release();
|
driver->release();
|
||||||
}
|
}
|
||||||
|
@ -161,7 +162,7 @@ void CSystem::GetVideoModes( std::vector< CVideoMode > &dst, NL3D::IDriver *driv
|
||||||
|
|
||||||
for( std::vector< NL3D::GfxMode >::iterator itr = modes.begin(); itr != modes.end(); ++itr )
|
for( std::vector< NL3D::GfxMode >::iterator itr = modes.begin(); itr != modes.end(); ++itr )
|
||||||
{
|
{
|
||||||
if( ( itr->Width >= 800 ) && ( itr->Height >= 600 ) && ( itr->Depth == 32 ) && ( itr->Frequency >= 60 ) )
|
if( ( itr->Width >= 800 ) && ( itr->Height >= 600 ) && ( itr->Depth >= 16 ) )
|
||||||
{
|
{
|
||||||
CVideoMode mode;
|
CVideoMode mode;
|
||||||
mode.depth = itr->Depth;
|
mode.depth = itr->Depth;
|
||||||
|
|
Loading…
Reference in a new issue