mirror of
https://port.numenaute.org/aleajactaest/khanat-code-old.git
synced 2024-12-26 10:30:54 +00:00
Merge branch 'feature/v3+CI' into 'develop'
Feature/v3+ci Toujours le merge de la v3... See merge request !28
This commit is contained in:
commit
a6339b7fd9
406 changed files with 63846 additions and 6303 deletions
|
@ -13,11 +13,13 @@ Linux client build:
|
||||||
- ryzomcore
|
- ryzomcore
|
||||||
tags:
|
tags:
|
||||||
- Docker
|
- Docker
|
||||||
image: ubuntu:14.04
|
image: debian:jessie
|
||||||
script:
|
script:
|
||||||
# Installation des dépendances
|
# Installation des dépendances
|
||||||
|
- echo "deb http://ftp.debian.org/debian/ jessie-backports non-free contrib main" >> /etc/apt/sources.list
|
||||||
- apt-get update
|
- apt-get update
|
||||||
- apt-get install -y g++ gcc cmake libgl1-mesa-dev libjpeg-dev libpng12-dev libopenal-dev libfreetype6-dev libxxf86vm-dev libxrandr-dev libxrender-dev libvorbis-dev libluabind-dev libboost-dev libmysqlclient-dev libssl-dev liblzma-dev libxml2-dev makeself
|
- apt-get -y upgrade
|
||||||
|
- apt-get -t jessie-backports install libxml2 -y g++ gcc cmake libcurl4-openssl-dev libgl1-mesa-dev libjpeg-dev libpng-dev libopenal-dev libfreetype6-dev libxxf86vm-dev libxrandr-dev libxrender-dev libvorbis-dev libluabind-dev libboost-dev libmysqlclient-dev libssl-dev liblzma-dev libxml2-dev makeself
|
||||||
# Installation des dépendances des dépendances statiques (à commenter si construction de Khanat en mode dynamique)
|
# Installation des dépendances des dépendances statiques (à commenter si construction de Khanat en mode dynamique)
|
||||||
# libxml2 : python-pyicu (support d'unicode), python-dev (support de... python)
|
# libxml2 : python-pyicu (support d'unicode), python-dev (support de... python)
|
||||||
- apt-get install -y wget python-pyicu python-dev
|
- apt-get install -y wget python-pyicu python-dev
|
||||||
|
@ -35,7 +37,7 @@ Linux client build:
|
||||||
- cd ..
|
- cd ..
|
||||||
## Compilation de Khanat
|
## Compilation de Khanat
|
||||||
# Configuration
|
# Configuration
|
||||||
- cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_UNIX_STRUCTURE=OFF -DWITH_INSTALL_LIBRARIES=OFF -DWITH_LUA52=ON -DCURL_LIBRARY=/usr/local/lib/libcurl.a ../../code
|
- cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/ -DCMAKE_BUILD_TYPE=Release -DWITH_RYZOM_SERVER=OFF -DWITH_RYZOM_TOOLS=OFF -DWITH_RYZOM_CLIENT=ON -DWITH_NEL_TESTS=OFF -DWITH_NEL_TOOLS=OFF -DWITH_NEL_SAMPLES=OFF -DWITH_STATIC=ON -DWITH_STATIC_DRIVERS=ON -DWITH_STATIC_EXTERNAL=ON -DWITH_UNIX_STRUCTURE=OFF -DWITH_INSTALL_LIBRARIES=OFF -DWITH_LUA52=ON ../../code
|
||||||
# Compilation et installation
|
# Compilation et installation
|
||||||
- make -j$(nproc) install DESTDIR=../../Linux/x86_64
|
- make -j$(nproc) install DESTDIR=../../Linux/x86_64
|
||||||
# Packaging
|
# Packaging
|
||||||
|
|
|
@ -36,7 +36,7 @@ IF(COMMAND cmake_policy)
|
||||||
IF(POLICY CMP0020)
|
IF(POLICY CMP0020)
|
||||||
CMAKE_POLICY(SET CMP0020 NEW)
|
CMAKE_POLICY(SET CMP0020 NEW)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(COMMAND cmake_policy)
|
ENDIF()
|
||||||
|
|
||||||
INCLUDE(nel)
|
INCLUDE(nel)
|
||||||
INCLUDE(ConfigureChecks)
|
INCLUDE(ConfigureChecks)
|
||||||
|
@ -76,15 +76,15 @@ SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||||
# DLL should be in the same directory as EXE under Windows
|
# DLL should be in the same directory as EXE under Windows
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
ELSE(WIN32)
|
ELSE()
|
||||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
IF(WITH_MFC)
|
IF(WITH_MFC)
|
||||||
FIND_PACKAGE(MFC QUIET)
|
FIND_PACKAGE(MFC QUIET)
|
||||||
ENDIF(WITH_MFC)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Set default config options
|
# Set default config options
|
||||||
|
@ -98,8 +98,6 @@ NL_SETUP_SNOWBALLS_DEFAULT_OPTIONS()
|
||||||
NL_SETUP_PREFIX_PATHS()
|
NL_SETUP_PREFIX_PATHS()
|
||||||
RYZOM_SETUP_PREFIX_PATHS()
|
RYZOM_SETUP_PREFIX_PATHS()
|
||||||
|
|
||||||
NL_CONFIGURE_CHECKS()
|
|
||||||
|
|
||||||
NL_SETUP_BUILD()
|
NL_SETUP_BUILD()
|
||||||
NL_SETUP_BUILD_FLAGS()
|
NL_SETUP_BUILD_FLAGS()
|
||||||
|
|
||||||
|
@ -113,8 +111,8 @@ IF(WIN32)
|
||||||
|
|
||||||
IF(WITH_MFC)
|
IF(WITH_MFC)
|
||||||
FIND_PACKAGE(CustomMFC REQUIRED)
|
FIND_PACKAGE(CustomMFC REQUIRED)
|
||||||
ENDIF(WITH_MFC)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PACKAGE(ZLIB REQUIRED)
|
FIND_PACKAGE(ZLIB REQUIRED)
|
||||||
FIND_PACKAGE(LibXml2 REQUIRED)
|
FIND_PACKAGE(LibXml2 REQUIRED)
|
||||||
|
@ -123,15 +121,25 @@ FIND_PACKAGE(OpenSSL REQUIRED)
|
||||||
FIND_PACKAGE(GIF)
|
FIND_PACKAGE(GIF)
|
||||||
FIND_PACKAGE(Jpeg)
|
FIND_PACKAGE(Jpeg)
|
||||||
|
|
||||||
|
IF(WITH_LIBOVR)
|
||||||
|
FIND_PACKAGE(LibOVR)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(WITH_LIBVR)
|
||||||
|
FIND_PACKAGE(LibVR)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
NL_CONFIGURE_CHECKS()
|
||||||
|
|
||||||
IF(WITH_STATIC_LIBXML2)
|
IF(WITH_STATIC_LIBXML2)
|
||||||
SET(LIBXML2_DEFINITIONS ${LIBXML2_DEFINITIONS} -DLIBXML_STATIC)
|
SET(LIBXML2_DEFINITIONS ${LIBXML2_DEFINITIONS} -DLIBXML_STATIC)
|
||||||
ENDIF(WITH_STATIC_LIBXML2)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_LIBXML2_ICONV)
|
IF(WITH_LIBXML2_ICONV)
|
||||||
FIND_PACKAGE(Iconv REQUIRED)
|
FIND_PACKAGE(Iconv REQUIRED)
|
||||||
INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${ICONV_INCLUDE_DIR})
|
||||||
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES})
|
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${ICONV_LIBRARIES})
|
||||||
ENDIF(WITH_LIBXML2_ICONV)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_STATIC)
|
IF(WITH_STATIC)
|
||||||
# libxml2 could need winsock2 library
|
# libxml2 could need winsock2 library
|
||||||
|
@ -146,20 +154,20 @@ IF(WITH_STATIC)
|
||||||
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBLZMA_LIBRARIES})
|
SET(LIBXML2_LIBRARIES ${LIBXML2_LIBRARIES} ${LIBLZMA_LIBRARIES})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(WITH_STATIC)
|
ENDIF()
|
||||||
|
|
||||||
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/PCHSupport.cmake)
|
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/PCHSupport.cmake)
|
||||||
|
|
||||||
IF(FINAL_VERSION)
|
IF(FINAL_VERSION)
|
||||||
ADD_DEFINITIONS(-DFINAL_VERSION=1)
|
ADD_DEFINITIONS(-DFINAL_VERSION=1)
|
||||||
ENDIF(FINAL_VERSION)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SSE2)
|
IF(WITH_SSE2)
|
||||||
ADD_DEFINITIONS(-DNL_HAS_SSE2)
|
ADD_DEFINITIONS(-DNL_HAS_SSE2)
|
||||||
IF(WITH_SSE3)
|
IF(WITH_SSE3)
|
||||||
ADD_DEFINITIONS(-DNL_HAS_SSE3)
|
ADD_DEFINITIONS(-DNL_HAS_SSE3)
|
||||||
ENDIF(WITH_SSE3)
|
ENDIF()
|
||||||
ENDIF(WITH_SSE2)
|
ENDIF()
|
||||||
|
|
||||||
IF(APPLE_CERTIFICATE)
|
IF(APPLE_CERTIFICATE)
|
||||||
# Find codesign_allocate
|
# Find codesign_allocate
|
||||||
|
@ -305,7 +313,7 @@ IF(WITH_QT5)
|
||||||
|
|
||||||
ADD_QT_LIBRARY(XcbQpa)
|
ADD_QT_LIBRARY(XcbQpa)
|
||||||
ADD_QT_LIBRARY(PlatformSupport)
|
ADD_QT_LIBRARY(PlatformSupport)
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES} -lX11-xcb -lXi -lSM -lICE -lxcb -lGL)
|
SET(QT_LIBRARIES ${QT_LIBRARIES} -lX11-xcb -lXi -lSM -lICE -lxcb -lGL -lxcb-glx)
|
||||||
IF(EXISTS "${QT_LIBRARY_DIR}/libxcb-static.a")
|
IF(EXISTS "${QT_LIBRARY_DIR}/libxcb-static.a")
|
||||||
SET(QT_LIBRARIES ${QT_LIBRARIES} "${QT_LIBRARY_DIR}/libxcb-static.a")
|
SET(QT_LIBRARIES ${QT_LIBRARIES} "${QT_LIBRARY_DIR}/libxcb-static.a")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -400,16 +408,16 @@ IF(WITH_QT)
|
||||||
|
|
||||||
# Use Qt 4
|
# Use Qt 4
|
||||||
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtXml QtOpenGL REQUIRED)
|
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtXml QtOpenGL REQUIRED)
|
||||||
ENDIF(WITH_QT)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_ASSIMP)
|
IF(WITH_ASSIMP)
|
||||||
FIND_PACKAGE(assimp REQUIRED)
|
FIND_PACKAGE(assimp REQUIRED)
|
||||||
ENDIF(WITH_ASSIMP)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NEL)
|
IF(WITH_NEL)
|
||||||
IF(WITH_NEL_TESTS)
|
IF(WITH_NEL_TESTS)
|
||||||
FIND_PACKAGE(CppTest)
|
FIND_PACKAGE(CppTest)
|
||||||
ENDIF(WITH_NEL_TESTS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_GUI)
|
IF(WITH_GUI)
|
||||||
FIND_PACKAGE(Luabind REQUIRED)
|
FIND_PACKAGE(Luabind REQUIRED)
|
||||||
|
@ -447,19 +455,19 @@ IF(WITH_NEL)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/nel/include)
|
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/nel/include)
|
||||||
ADD_SUBDIRECTORY(nel)
|
ADD_SUBDIRECTORY(nel)
|
||||||
ENDIF(WITH_NEL)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_RYZOM)
|
IF(WITH_RYZOM)
|
||||||
ADD_SUBDIRECTORY(ryzom)
|
ADD_SUBDIRECTORY(ryzom)
|
||||||
ENDIF(WITH_RYZOM)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NELNS)
|
IF(WITH_NELNS)
|
||||||
ADD_SUBDIRECTORY(nelns)
|
ADD_SUBDIRECTORY(nelns)
|
||||||
ENDIF(WITH_NELNS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SNOWBALLS)
|
IF(WITH_SNOWBALLS)
|
||||||
ADD_SUBDIRECTORY(snowballs2)
|
ADD_SUBDIRECTORY(snowballs2)
|
||||||
ENDIF(WITH_SNOWBALLS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_TOOLS)
|
IF(WITH_TOOLS)
|
||||||
ADD_SUBDIRECTORY(tool)
|
ADD_SUBDIRECTORY(tool)
|
||||||
|
@ -467,22 +475,22 @@ ENDIF()
|
||||||
|
|
||||||
IF(WITH_STUDIO)
|
IF(WITH_STUDIO)
|
||||||
ADD_SUBDIRECTORY(studio)
|
ADD_SUBDIRECTORY(studio)
|
||||||
ENDIF(WITH_STUDIO)
|
ENDIF()
|
||||||
|
|
||||||
# To build the documention, you will have to enable it
|
# To build the documention, you will have to enable it
|
||||||
# and then do the equivalent of "make DoxygenDoc".
|
# and then do the equivalent of "make DoxygenDoc".
|
||||||
IF(BUILD_DOCUMENTATION)
|
IF(BUILD_DOCUMENTATION)
|
||||||
IF(DOT)
|
IF(DOT)
|
||||||
SET(HAVE_DOT YES)
|
SET(HAVE_DOT YES)
|
||||||
ELSE(DOT)
|
ELSE()
|
||||||
SET(HAVE_DOT NO)
|
SET(HAVE_DOT NO)
|
||||||
ENDIF(DOT)
|
ENDIF()
|
||||||
# This processes our Doxyfile.in and substitutes paths to generate
|
# This processes our Doxyfile.in and substitutes paths to generate
|
||||||
# a final Doxyfile
|
# a final Doxyfile
|
||||||
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/doc/Doxyfile.cmake.in ${CMAKE_BINARY_DIR}/doc/Doxyfile)
|
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/doc/Doxyfile.cmake.in ${CMAKE_BINARY_DIR}/doc/Doxyfile)
|
||||||
|
|
||||||
ADD_CUSTOM_TARGET(DoxygenDoc ${DOXYGEN} ${CMAKE_BINARY_DIR}/doc/Doxyfile)
|
ADD_CUSTOM_TARGET(DoxygenDoc ${DOXYGEN} ${CMAKE_BINARY_DIR}/doc/Doxyfile)
|
||||||
ENDIF(BUILD_DOCUMENTATION)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NEL_TESTS)
|
IF(WITH_NEL_TESTS)
|
||||||
ENABLE_TESTING()
|
ENABLE_TESTING()
|
||||||
|
@ -492,8 +500,8 @@ IF(WITH_NEL_TESTS)
|
||||||
SET(SVNCOMMAND svn)
|
SET(SVNCOMMAND svn)
|
||||||
SET(SVNSOURCEDIR http://dev.ryzom.com/svn/trunk/nel)
|
SET(SVNSOURCEDIR http://dev.ryzom.com/svn/trunk/nel)
|
||||||
SET(GENERATELOGS svn2cl)
|
SET(GENERATELOGS svn2cl)
|
||||||
ENDIF(BUILD_DASHBOARD)
|
ENDIF()
|
||||||
ENDIF(WITH_NEL_TESTS)
|
ENDIF()
|
||||||
|
|
||||||
# packaging information
|
# packaging information
|
||||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Ryzom Core MMORPG Framework")
|
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Ryzom Core MMORPG Framework")
|
||||||
|
@ -525,10 +533,10 @@ IF(WIN32)
|
||||||
#SET(CPACK_GENERATOR "NSIS")
|
#SET(CPACK_GENERATOR "NSIS")
|
||||||
SET(CPACK_GENERATOR "NSIS;ZIP")
|
SET(CPACK_GENERATOR "NSIS;ZIP")
|
||||||
SET(CPACK_SOURCE_GENERATOR "ZIP")
|
SET(CPACK_SOURCE_GENERATOR "ZIP")
|
||||||
ELSE(WIN32)
|
ELSE()
|
||||||
SET(CPACK_GENERATOR "TGZ")
|
SET(CPACK_GENERATOR "TGZ")
|
||||||
SET(CPACK_SOURCE_GENERATOR "TGZ")
|
SET(CPACK_SOURCE_GENERATOR "TGZ")
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
set(CPACK_SOURCE_IGNORE_FILES
|
set(CPACK_SOURCE_IGNORE_FILES
|
||||||
"~$"
|
"~$"
|
||||||
"\\\\.cvsignore$"
|
"\\\\.cvsignore$"
|
||||||
|
@ -546,8 +554,8 @@ IF(WIN32)
|
||||||
"${QT_LIBRARY_DIR}/../bin/QtXmld4.dll"
|
"${QT_LIBRARY_DIR}/../bin/QtXmld4.dll"
|
||||||
"${QT_LIBRARY_DIR}/../bin/QtCored4.dll"
|
"${QT_LIBRARY_DIR}/../bin/QtCored4.dll"
|
||||||
DESTINATION ${NL_BIN_PREFIX})
|
DESTINATION ${NL_BIN_PREFIX})
|
||||||
ENDIF(WITH_QT)
|
ENDIF()
|
||||||
ELSE(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
|
ELSE()
|
||||||
IF(WITH_QT)
|
IF(WITH_QT)
|
||||||
INCLUDE(${QT_USE_FILE})
|
INCLUDE(${QT_USE_FILE})
|
||||||
INSTALL(FILES
|
INSTALL(FILES
|
||||||
|
@ -555,8 +563,8 @@ IF(WIN32)
|
||||||
"${QT_LIBRARY_DIR}/../bin/QtXml4.dll"
|
"${QT_LIBRARY_DIR}/../bin/QtXml4.dll"
|
||||||
"${QT_LIBRARY_DIR}/../bin/QtCore4.dll"
|
"${QT_LIBRARY_DIR}/../bin/QtCore4.dll"
|
||||||
DESTINATION ${NL_BIN_PREFIX})
|
DESTINATION ${NL_BIN_PREFIX})
|
||||||
ENDIF(WITH_QT)
|
ENDIF()
|
||||||
ENDIF(NOT CMAKE_BUILD_TYPE STREQUAL "Release")
|
ENDIF()
|
||||||
|
|
||||||
# Install CEGUI and its dependencies.
|
# Install CEGUI and its dependencies.
|
||||||
IF(WITH_NEL_CEGUI)
|
IF(WITH_NEL_CEGUI)
|
||||||
|
@ -566,14 +574,14 @@ IF(WIN32)
|
||||||
INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIFalagardWRBase.dll" DESTINATION ${NL_BIN_PREFIX})
|
INSTALL(FILES "${CEGUI_LIB_DIR}/CEGUIFalagardWRBase.dll" DESTINATION ${NL_BIN_PREFIX})
|
||||||
INSTALL(FILES "${CEGUI_LIB_DIR}/Devil.dll" DESTINATION ${NL_BIN_PREFIX})
|
INSTALL(FILES "${CEGUI_LIB_DIR}/Devil.dll" DESTINATION ${NL_BIN_PREFIX})
|
||||||
INSTALL(FILES "${CEGUI_LIB_DIR}/ILU.dll" DESTINATION ${NL_BIN_PREFIX})
|
INSTALL(FILES "${CEGUI_LIB_DIR}/ILU.dll" DESTINATION ${NL_BIN_PREFIX})
|
||||||
ENDIF(WITH_NEL_CEGUI)
|
ENDIF()
|
||||||
|
|
||||||
# Only the tools require MFC.
|
# Only the tools require MFC.
|
||||||
IF(WITH_TOOLS)
|
IF(WITH_TOOLS)
|
||||||
SET(CMAKE_INSTALL_MFC_LIBRARIES TRUE)
|
SET(CMAKE_INSTALL_MFC_LIBRARIES TRUE)
|
||||||
ENDIF(WITH_TOOLS)
|
ENDIF()
|
||||||
#INCLUDE(InstallRequiredSystemLibraries)
|
#INCLUDE(InstallRequiredSystemLibraries)
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
INCLUDE(CPack)
|
INCLUDE(CPack)
|
||||||
|
|
||||||
|
@ -583,4 +591,4 @@ INCLUDE(CMakePackaging.txt)
|
||||||
#INCLUDE(UseDebian)
|
#INCLUDE(UseDebian)
|
||||||
#IF(DEBIAN_FOUND)
|
#IF(DEBIAN_FOUND)
|
||||||
# ADD_DEBIAN_TARGETS(nel)
|
# ADD_DEBIAN_TARGETS(nel)
|
||||||
#ENDIF(DEBIAN_FOUND)
|
#ENDIF()
|
||||||
|
|
|
@ -24,8 +24,8 @@ MACRO(CHECK_UNDEFINED_SYMBOL MYLIBRARY SYMBOL SYMBOL_FOUND)
|
||||||
IF(NOT NM_SYMBOL MATCHES ${SYMBOL})
|
IF(NOT NM_SYMBOL MATCHES ${SYMBOL})
|
||||||
SET(${SYMBOL_FOUND} FALSE)
|
SET(${SYMBOL_FOUND} FALSE)
|
||||||
# MESSAGE(STATUS "Defined symbol ${SYMBOL} detected in ${${MYLIBRARY}}")
|
# MESSAGE(STATUS "Defined symbol ${SYMBOL} detected in ${${MYLIBRARY}}")
|
||||||
ENDIF(NOT NM_SYMBOL MATCHES ${SYMBOL})
|
ENDIF()
|
||||||
ENDIF(CMAKE_NM)
|
ENDIF()
|
||||||
ELSEIF(UNIX)
|
ELSEIF(UNIX)
|
||||||
SET(CMAKE_OBJDUMP objdump)
|
SET(CMAKE_OBJDUMP objdump)
|
||||||
IF(CMAKE_OBJDUMP)
|
IF(CMAKE_OBJDUMP)
|
||||||
|
@ -35,11 +35,11 @@ MACRO(CHECK_UNDEFINED_SYMBOL MYLIBRARY SYMBOL SYMBOL_FOUND)
|
||||||
IF(NOT OBJDUMP_SYMBOL MATCHES "UND")
|
IF(NOT OBJDUMP_SYMBOL MATCHES "UND")
|
||||||
#MESSAGE(STATUS "${${MYLIBRARY}} does not use symbol ${SYMBOL}")
|
#MESSAGE(STATUS "${${MYLIBRARY}} does not use symbol ${SYMBOL}")
|
||||||
SET(${SYMBOL_FOUND} FALSE)
|
SET(${SYMBOL_FOUND} FALSE)
|
||||||
ELSE(NOT OBJDUMP_SYMBOL MATCHES "UND")
|
ELSE()
|
||||||
#MESSAGE(STATUS "${${MYLIBRARY}} uses symbol ${SYMBOL}")
|
#MESSAGE(STATUS "${${MYLIBRARY}} uses symbol ${SYMBOL}")
|
||||||
ENDIF(NOT OBJDUMP_SYMBOL MATCHES "UND")
|
ENDIF()
|
||||||
ENDIF(CMAKE_OBJDUMP)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
ENDMACRO(CHECK_UNDEFINED_SYMBOL)
|
ENDMACRO(CHECK_UNDEFINED_SYMBOL)
|
||||||
|
|
||||||
# CHECK_LINKED_LIBRARY
|
# CHECK_LINKED_LIBRARY
|
||||||
|
@ -66,8 +66,8 @@ MACRO(CHECK_LINKED_LIBRARY MYLIBRARY OTHERLIBRARY LIBRARY_FOUND)
|
||||||
IF(OTOOL_LIBRARY MATCHES "${LIBNAME}")
|
IF(OTOOL_LIBRARY MATCHES "${LIBNAME}")
|
||||||
SET(${LIBRARY_FOUND} TRUE)
|
SET(${LIBRARY_FOUND} TRUE)
|
||||||
# MESSAGE(STATUS "Library ${LIBNAME} already linked to ${${MYLIBRARY}}")
|
# MESSAGE(STATUS "Library ${LIBNAME} already linked to ${${MYLIBRARY}}")
|
||||||
ENDIF(OTOOL_LIBRARY MATCHES "${LIBNAME}")
|
ENDIF()
|
||||||
ENDIF(CMAKE_OTOOL)
|
ENDIF()
|
||||||
ELSEIF(UNIX)
|
ELSEIF(UNIX)
|
||||||
SET(CMAKE_OBJDUMP objdump)
|
SET(CMAKE_OBJDUMP objdump)
|
||||||
IF(CMAKE_OBJDUMP)
|
IF(CMAKE_OBJDUMP)
|
||||||
|
@ -79,11 +79,11 @@ MACRO(CHECK_LINKED_LIBRARY MYLIBRARY OTHERLIBRARY LIBRARY_FOUND)
|
||||||
IF(OBJDUMP_LIBRARY MATCHES "NEEDED")
|
IF(OBJDUMP_LIBRARY MATCHES "NEEDED")
|
||||||
#MESSAGE(STATUS "${${MYLIBRARY}} references to ${LIBNAME}.")
|
#MESSAGE(STATUS "${${MYLIBRARY}} references to ${LIBNAME}.")
|
||||||
SET(${LIBRARY_FOUND} TRUE)
|
SET(${LIBRARY_FOUND} TRUE)
|
||||||
ELSE(OBJDUMP_LIBRARY MATCHES "NEEDED")
|
ELSE()
|
||||||
#MESSAGE(STATUS "${${MYLIBRARY}} does not reference to ${LIBNAME}!")
|
#MESSAGE(STATUS "${${MYLIBRARY}} does not reference to ${LIBNAME}!")
|
||||||
ENDIF(OBJDUMP_LIBRARY MATCHES "NEEDED")
|
ENDIF()
|
||||||
ENDIF(CMAKE_OBJDUMP)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
ENDMACRO(CHECK_LINKED_LIBRARY)
|
ENDMACRO(CHECK_LINKED_LIBRARY)
|
||||||
|
|
||||||
MACRO(CHECK_DEPENDS MYLIBRARY OTHERLIBRARY SYMBOL MUSTLINK)
|
MACRO(CHECK_DEPENDS MYLIBRARY OTHERLIBRARY SYMBOL MUSTLINK)
|
||||||
|
@ -91,13 +91,13 @@ MACRO(CHECK_DEPENDS MYLIBRARY OTHERLIBRARY SYMBOL MUSTLINK)
|
||||||
|
|
||||||
IF(SYMBOL_FOUND)
|
IF(SYMBOL_FOUND)
|
||||||
CHECK_LINKED_LIBRARY(MYLIBRARY OTHERLIBRARY LIBRARY_FOUND)
|
CHECK_LINKED_LIBRARY(MYLIBRARY OTHERLIBRARY LIBRARY_FOUND)
|
||||||
ENDIF(SYMBOL_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(SYMBOL_FOUND AND NOT LIBRARY_FOUND)
|
IF(SYMBOL_FOUND AND NOT LIBRARY_FOUND)
|
||||||
SET(${MUSTLINK} YES)
|
SET(${MUSTLINK} YES)
|
||||||
ELSE(SYMBOL_FOUND AND NOT LIBRARY_FOUND)
|
ELSE()
|
||||||
SET(${MUSTLINK} NO)
|
SET(${MUSTLINK} NO)
|
||||||
ENDIF(SYMBOL_FOUND AND NOT LIBRARY_FOUND)
|
ENDIF()
|
||||||
ENDMACRO(CHECK_DEPENDS)
|
ENDMACRO(CHECK_DEPENDS)
|
||||||
|
|
||||||
# LINK_DEPENDS
|
# LINK_DEPENDS
|
||||||
|
@ -116,23 +116,23 @@ MACRO(LINK_DEPENDS LIBRARIES MYLIBRARY OTHERLIBRARY SYMBOL)
|
||||||
IF(WIN32 OR WITH_STATIC)
|
IF(WIN32 OR WITH_STATIC)
|
||||||
# In static, we link all libraries because it will keep only used symbols
|
# In static, we link all libraries because it will keep only used symbols
|
||||||
SET(MUST_LINK TRUE)
|
SET(MUST_LINK TRUE)
|
||||||
ELSE(WIN32 OR WITH_STATIC)
|
ELSE()
|
||||||
CHECK_UNDEFINED_SYMBOL(${MYLIBRARY} ${SYMBOL} SYMBOL_FOUND)
|
CHECK_UNDEFINED_SYMBOL(${MYLIBRARY} ${SYMBOL} SYMBOL_FOUND)
|
||||||
|
|
||||||
IF(SYMBOL_FOUND)
|
IF(SYMBOL_FOUND)
|
||||||
CHECK_LINKED_LIBRARY(${MYLIBRARY} ${OTHERLIBRARY} LIBRARY_FOUND)
|
CHECK_LINKED_LIBRARY(${MYLIBRARY} ${OTHERLIBRARY} LIBRARY_FOUND)
|
||||||
ENDIF(SYMBOL_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(SYMBOL_FOUND AND NOT LIBRARY_FOUND)
|
IF(SYMBOL_FOUND AND NOT LIBRARY_FOUND)
|
||||||
MESSAGE(STATUS "Underlinking found: ${${MYLIBRARY}} needs ${${OTHERLIBRARY}} but is not linked to, manually linking...")
|
MESSAGE(STATUS "Underlinking found: ${${MYLIBRARY}} needs ${${OTHERLIBRARY}} but is not linked to, manually linking...")
|
||||||
SET(MUST_LINK TRUE)
|
SET(MUST_LINK TRUE)
|
||||||
ENDIF(SYMBOL_FOUND AND NOT LIBRARY_FOUND)
|
ENDIF()
|
||||||
ENDIF(WIN32 OR WITH_STATIC)
|
ENDIF()
|
||||||
ENDIF(${MYLIBRARY} AND ${OTHERLIBRARY} AND NOT ${OTHERLIBRARY}_LINKED)
|
ENDIF()
|
||||||
IF(MUST_LINK)
|
IF(MUST_LINK)
|
||||||
MESSAGE(STATUS "Linking with ${${OTHERLIBRARY}}")
|
MESSAGE(STATUS "Linking with ${${OTHERLIBRARY}}")
|
||||||
SET(${LIBRARIES} ${${LIBRARIES}} ${${OTHERLIBRARY}})
|
SET(${LIBRARIES} ${${LIBRARIES}} ${${OTHERLIBRARY}})
|
||||||
SET(${OTHERLIBRARY}_LINKED TRUE)
|
SET(${OTHERLIBRARY}_LINKED TRUE)
|
||||||
ENDIF(MUST_LINK)
|
ENDIF()
|
||||||
ENDMACRO(LINK_DEPENDS)
|
ENDMACRO(LINK_DEPENDS)
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,8 @@ MACRO(NL_CONFIGURE_CHECKS)
|
||||||
SET(NL_VERSION "${NL_VERSION_MAJOR}.${NL_VERSION_MINOR}.${NL_VERSION_PATCH}.${REVISION}")
|
SET(NL_VERSION "${NL_VERSION_MAJOR}.${NL_VERSION_MINOR}.${NL_VERSION_PATCH}.${REVISION}")
|
||||||
SET(NL_VERSION_RC "${NL_VERSION_MAJOR},${NL_VERSION_MINOR},${NL_VERSION_PATCH},${REVISION}")
|
SET(NL_VERSION_RC "${NL_VERSION_MAJOR},${NL_VERSION_MINOR},${NL_VERSION_PATCH},${REVISION}")
|
||||||
|
|
||||||
SET(RYZOM_VERSION "${RYZOM_VERSION_MAJOR}.${RYZOM_VERSION_MINOR}.${RYZOM_VERSION_PATCH}.${REVISION}")
|
SET(RYZOM_VERSION_SHORT "${RYZOM_VERSION_MAJOR}.${RYZOM_VERSION_MINOR}.${RYZOM_VERSION_PATCH}")
|
||||||
|
SET(RYZOM_VERSION "${RYZOM_VERSION_SHORT}.${REVISION}")
|
||||||
SET(RYZOM_VERSION_RC "${RYZOM_VERSION_MAJOR},${RYZOM_VERSION_MINOR},${RYZOM_VERSION_PATCH},${REVISION}")
|
SET(RYZOM_VERSION_RC "${RYZOM_VERSION_MAJOR},${RYZOM_VERSION_MINOR},${RYZOM_VERSION_PATCH},${REVISION}")
|
||||||
NOW(BUILD_DATE)
|
NOW(BUILD_DATE)
|
||||||
|
|
||||||
|
|
|
@ -75,8 +75,8 @@ if(MAXSDK_FOUND)
|
||||||
${MAXSDK_PARAMBLK2_LIBRARY}
|
${MAXSDK_PARAMBLK2_LIBRARY}
|
||||||
${MAXSDK_BMM_LIBRARY} )
|
${MAXSDK_BMM_LIBRARY} )
|
||||||
|
|
||||||
else(MAXSDK_FOUND)
|
ELSE()
|
||||||
set(MAXSDK_LIBRARIES)
|
set(MAXSDK_LIBRARIES)
|
||||||
endif(MAXSDK_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
mark_as_advanced(MAXSDK_INCLUDE_DIR MAXSDK_LIBRARY)
|
mark_as_advanced(MAXSDK_INCLUDE_DIR MAXSDK_LIBRARY)
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
IF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(CEGUI_FIND_QUIETLY TRUE)
|
SET(CEGUI_FIND_QUIETLY TRUE)
|
||||||
ENDIF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(CEGUI_INCLUDE_DIRS
|
FIND_PATH(CEGUI_INCLUDE_DIRS
|
||||||
|
@ -45,9 +45,9 @@ IF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
||||||
SET(CEGUI_INCLUDE_DIRS "${CEGUI_INCLUDE_DIRS}/CEGUI")
|
SET(CEGUI_INCLUDE_DIRS "${CEGUI_INCLUDE_DIRS}/CEGUI")
|
||||||
IF(NOT CEGUI_FIND_QUIETLY)
|
IF(NOT CEGUI_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found CEGUI: ${CEGUI_LIBRARY}")
|
MESSAGE(STATUS "Found CEGUI: ${CEGUI_LIBRARY}")
|
||||||
ENDIF(NOT CEGUI_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
ELSE()
|
||||||
IF(NOT CEGUI_FIND_QUIETLY)
|
IF(NOT CEGUI_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find CEGUI!")
|
MESSAGE(STATUS "Warning: Unable to find CEGUI!")
|
||||||
ENDIF(NOT CEGUI_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(CEGUI_LIBRARY AND CEGUI_INCLUDE_DIRS)
|
ENDIF()
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
IF(CPPTEST_LIBRARIES AND CPPTEST_INCLUDE_DIR)
|
IF(CPPTEST_LIBRARIES AND CPPTEST_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(CPPTEST_FIND_QUIETLY TRUE)
|
SET(CPPTEST_FIND_QUIETLY TRUE)
|
||||||
ENDIF(CPPTEST_LIBRARIES AND CPPTEST_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(CPPTEST_INCLUDE_DIR
|
FIND_PATH(CPPTEST_INCLUDE_DIR
|
||||||
cpptest.h
|
cpptest.h
|
||||||
|
@ -30,7 +30,7 @@ SET(LIBRARY_NAME_DEBUG cpptestd)
|
||||||
IF(WITH_STLPORT)
|
IF(WITH_STLPORT)
|
||||||
SET(LIBRARY_NAME_RELEASE cpptest_stlport ${LIBRARY_NAME_RELEASE})
|
SET(LIBRARY_NAME_RELEASE cpptest_stlport ${LIBRARY_NAME_RELEASE})
|
||||||
SET(LIBRARY_NAME_DEBUG cpptest_stlportd ${LIBRARY_NAME_DEBUG})
|
SET(LIBRARY_NAME_DEBUG cpptest_stlportd ${LIBRARY_NAME_DEBUG})
|
||||||
ENDIF(WITH_STLPORT)
|
ENDIF()
|
||||||
|
|
||||||
FIND_LIBRARY(CPPTEST_LIBRARY_RELEASE
|
FIND_LIBRARY(CPPTEST_LIBRARY_RELEASE
|
||||||
${LIBRARY_NAME_RELEASE}
|
${LIBRARY_NAME_RELEASE}
|
||||||
|
@ -67,18 +67,18 @@ IF(CPPTEST_INCLUDE_DIR)
|
||||||
SET(CPPTEST_LIBRARIES "optimized;${CPPTEST_LIBRARY_RELEASE}")
|
SET(CPPTEST_LIBRARIES "optimized;${CPPTEST_LIBRARY_RELEASE}")
|
||||||
IF(CPPTEST_LIBRARY_DEBUG)
|
IF(CPPTEST_LIBRARY_DEBUG)
|
||||||
SET(CPPTEST_LIBRARIES "${CPPTEST_LIBRARIES};debug;${CPPTEST_LIBRARY_DEBUG}")
|
SET(CPPTEST_LIBRARIES "${CPPTEST_LIBRARIES};debug;${CPPTEST_LIBRARY_DEBUG}")
|
||||||
ENDIF(CPPTEST_LIBRARY_DEBUG)
|
ENDIF()
|
||||||
ENDIF(CPPTEST_LIBRARY_RELEASE)
|
ENDIF()
|
||||||
ENDIF(CPPTEST_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
IF(CPPTEST_FOUND)
|
IF(CPPTEST_FOUND)
|
||||||
IF(NOT CPPTEST_FIND_QUIETLY)
|
IF(NOT CPPTEST_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found CppTest: ${CPPTEST_LIBRARIES}")
|
MESSAGE(STATUS "Found CppTest: ${CPPTEST_LIBRARIES}")
|
||||||
ENDIF(NOT CPPTEST_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(CPPTEST_FOUND)
|
ELSE()
|
||||||
IF(NOT CPPTEST_FIND_QUIETLY)
|
IF(NOT CPPTEST_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find CppTest!")
|
MESSAGE(STATUS "Warning: Unable to find CppTest!")
|
||||||
ENDIF(NOT CPPTEST_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(CPPTEST_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
MARK_AS_ADVANCED(CPPTEST_LIBRARY_RELEASE CPPTEST_LIBRARY_DEBUG)
|
MARK_AS_ADVANCED(CPPTEST_LIBRARY_RELEASE CPPTEST_LIBRARY_DEBUG)
|
||||||
|
|
|
@ -6,20 +6,20 @@
|
||||||
|
|
||||||
IF(CustomMFC_FIND_REQUIRED)
|
IF(CustomMFC_FIND_REQUIRED)
|
||||||
SET(MFC_FIND_REQUIRED TRUE)
|
SET(MFC_FIND_REQUIRED TRUE)
|
||||||
ENDIF(CustomMFC_FIND_REQUIRED)
|
ENDIF()
|
||||||
|
|
||||||
IF(NOT MFC_DIR)
|
IF(NOT MFC_DIR)
|
||||||
# If MFC have been found, remember their directory
|
# If MFC have been found, remember their directory
|
||||||
IF(VC_DIR)
|
IF(VC_DIR)
|
||||||
SET(MFC_STANDARD_DIR "${VC_DIR}/atlmfc")
|
SET(MFC_STANDARD_DIR "${VC_DIR}/atlmfc")
|
||||||
ENDIF(VC_DIR)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(MFC_DIR
|
FIND_PATH(MFC_DIR
|
||||||
include/afxwin.h
|
include/afxwin.h
|
||||||
HINTS
|
HINTS
|
||||||
${MFC_STANDARD_DIR}
|
${MFC_STANDARD_DIR}
|
||||||
)
|
)
|
||||||
ENDIF(NOT MFC_DIR)
|
ENDIF()
|
||||||
|
|
||||||
# Display an error message if MFC are not found, MFC_FOUND is updated
|
# Display an error message if MFC are not found, MFC_FOUND is updated
|
||||||
# User will be able to update MFC_DIR to the correct directory
|
# User will be able to update MFC_DIR to the correct directory
|
||||||
|
@ -33,9 +33,9 @@ IF(MFC_FOUND)
|
||||||
# Using 32 or 64 bits libraries
|
# Using 32 or 64 bits libraries
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib/amd64")
|
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib/amd64")
|
||||||
ELSE(TARGET_X64)
|
ELSE()
|
||||||
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib")
|
SET(MFC_LIBRARY_DIR "${MFC_DIR}/lib")
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
|
|
||||||
# Add MFC libraries directory to default library path
|
# Add MFC libraries directory to default library path
|
||||||
LINK_DIRECTORIES(${MFC_LIBRARY_DIR})
|
LINK_DIRECTORIES(${MFC_LIBRARY_DIR})
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
if(DSOUND_INCLUDE_DIR)
|
if(DSOUND_INCLUDE_DIR)
|
||||||
# Already in cache, be silent
|
# Already in cache, be silent
|
||||||
set(DSOUND_FIND_QUIETLY TRUE)
|
set(DSOUND_FIND_QUIETLY TRUE)
|
||||||
endif(DSOUND_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
find_path(DSOUND_INCLUDE_DIR dsound.h
|
find_path(DSOUND_INCLUDE_DIR dsound.h
|
||||||
"$ENV{DXSDK_DIR}"
|
"$ENV{DXSDK_DIR}"
|
||||||
|
@ -29,8 +29,8 @@ find_package_handle_standard_args(DSOUND DEFAULT_MSG
|
||||||
|
|
||||||
if(DSOUND_FOUND)
|
if(DSOUND_FOUND)
|
||||||
set(DSOUND_LIBRARIES ${DSOUND_LIBRARY})
|
set(DSOUND_LIBRARIES ${DSOUND_LIBRARY})
|
||||||
else(DSOUND_FOUND)
|
ELSE()
|
||||||
set(DSOUND_LIBRARIES)
|
set(DSOUND_LIBRARIES)
|
||||||
endif(DSOUND_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
mark_as_advanced(DSOUND_INCLUDE_DIR DSOUND_LIBRARY)
|
mark_as_advanced(DSOUND_INCLUDE_DIR DSOUND_LIBRARY)
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
IF(DXSDK_DIR)
|
IF(DXSDK_DIR)
|
||||||
# Already in cache, be silent
|
# Already in cache, be silent
|
||||||
SET(DXSDK_FIND_QUIETLY TRUE)
|
SET(DXSDK_FIND_QUIETLY TRUE)
|
||||||
ENDIF(DXSDK_DIR)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(DXSDK_DIR
|
FIND_PATH(DXSDK_DIR
|
||||||
"Include/dxsdkver.h"
|
"Include/dxsdkver.h"
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(EFXUTIL_LIBRARY AND EFXUTIL_INCLUDE_DIR)
|
IF(EFXUTIL_LIBRARY AND EFXUTIL_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(EFXUTIL_FIND_QUIETLY TRUE)
|
SET(EFXUTIL_FIND_QUIETLY TRUE)
|
||||||
ENDIF(EFXUTIL_LIBRARY AND EFXUTIL_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(EFXUTIL_INCLUDE_DIR
|
FIND_PATH(EFXUTIL_INCLUDE_DIR
|
||||||
|
@ -42,9 +42,9 @@ IF(EFXUTIL_LIBRARY AND EFXUTIL_INCLUDE_DIR)
|
||||||
SET(EFXUTIL_FOUND "YES")
|
SET(EFXUTIL_FOUND "YES")
|
||||||
IF(NOT EFXUTIL_FIND_QUIETLY)
|
IF(NOT EFXUTIL_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found EFX-Util: ${EFXUTIL_LIBRARY}")
|
MESSAGE(STATUS "Found EFX-Util: ${EFXUTIL_LIBRARY}")
|
||||||
ENDIF(NOT EFXUTIL_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(EFXUTIL_LIBRARY AND EFXUTIL_INCLUDE_DIR)
|
ELSE()
|
||||||
IF(NOT EFXUTIL_FIND_QUIETLY)
|
IF(NOT EFXUTIL_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find EFX-Util!")
|
MESSAGE(STATUS "Warning: Unable to find EFX-Util!")
|
||||||
ENDIF(NOT EFXUTIL_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(EFXUTIL_LIBRARY AND EFXUTIL_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
|
@ -16,7 +16,7 @@ IF(WITH_STLPORT)
|
||||||
SET(EXTERNAL_TEMP_PATH ${CMAKE_CURRENT_SOURCE_DIR}/external_stlport ${CMAKE_CURRENT_SOURCE_DIR}/../external_stlport ${EXTERNAL_TEMP_PATH})
|
SET(EXTERNAL_TEMP_PATH ${CMAKE_CURRENT_SOURCE_DIR}/external_stlport ${CMAKE_CURRENT_SOURCE_DIR}/../external_stlport ${EXTERNAL_TEMP_PATH})
|
||||||
SET(EXTERNAL_TEMP_FILE "include/stlport/string")
|
SET(EXTERNAL_TEMP_FILE "include/stlport/string")
|
||||||
SET(EXTERNAL_NAME "external with STLport")
|
SET(EXTERNAL_NAME "external with STLport")
|
||||||
ENDIF(WITH_STLPORT)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(EXTERNAL_PATH
|
FIND_PATH(EXTERNAL_PATH
|
||||||
${EXTERNAL_TEMP_FILE}
|
${EXTERNAL_TEMP_FILE}
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
IF(FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(FMOD_FIND_QUIETLY TRUE)
|
SET(FMOD_FIND_QUIETLY TRUE)
|
||||||
ENDIF(FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(FMOD_INCLUDE_DIR
|
FIND_PATH(FMOD_INCLUDE_DIR
|
||||||
|
@ -25,9 +25,9 @@ FIND_PATH(FMOD_INCLUDE_DIR
|
||||||
|
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
SET(FMOD_LIBRARY_NAMES fmod64 fmod)
|
SET(FMOD_LIBRARY_NAMES fmod64 fmod)
|
||||||
ELSE(TARGET_X64)
|
ELSE()
|
||||||
SET(FMOD_LIBRARY_NAMES fmodvc fmod)
|
SET(FMOD_LIBRARY_NAMES fmodvc fmod)
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
|
|
||||||
FIND_LIBRARY(FMOD_LIBRARY
|
FIND_LIBRARY(FMOD_LIBRARY
|
||||||
NAMES
|
NAMES
|
||||||
|
@ -49,9 +49,9 @@ IF(FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
||||||
SET(FMOD_FOUND "YES")
|
SET(FMOD_FOUND "YES")
|
||||||
IF(NOT FMOD_FIND_QUIETLY)
|
IF(NOT FMOD_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found FMOD: ${FMOD_LIBRARY}")
|
MESSAGE(STATUS "Found FMOD: ${FMOD_LIBRARY}")
|
||||||
ENDIF(NOT FMOD_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
ELSE()
|
||||||
IF(NOT FMOD_FIND_QUIETLY)
|
IF(NOT FMOD_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find FMOD!")
|
MESSAGE(STATUS "Warning: Unable to find FMOD!")
|
||||||
ENDIF(NOT FMOD_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(FMOD_LIBRARY AND FMOD_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(FREETYPE_LIBRARIES AND FREETYPE_INCLUDE_DIRS)
|
IF(FREETYPE_LIBRARIES AND FREETYPE_INCLUDE_DIRS)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(Freetype_FIND_QUIETLY TRUE)
|
SET(Freetype_FIND_QUIETLY TRUE)
|
||||||
ENDIF(FREETYPE_LIBRARIES AND FREETYPE_INCLUDE_DIRS)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(FREETYPE_INCLUDE_DIRS
|
FIND_PATH(FREETYPE_INCLUDE_DIRS
|
||||||
freetype
|
freetype
|
||||||
|
@ -24,7 +24,7 @@ FIND_PATH(FREETYPE_INCLUDE_DIRS
|
||||||
|
|
||||||
IF(NOT FREETYPE_INCLUDE_DIRS)
|
IF(NOT FREETYPE_INCLUDE_DIRS)
|
||||||
SET(FREETYPE_INCLUDE_DIRS "")
|
SET(FREETYPE_INCLUDE_DIRS "")
|
||||||
ENDIF(NOT FREETYPE_INCLUDE_DIRS)
|
ENDIF()
|
||||||
|
|
||||||
# ft2build.h does not reside in the freetype include dir
|
# ft2build.h does not reside in the freetype include dir
|
||||||
FIND_PATH(FREETYPE_ADDITIONAL_INCLUDE_DIR
|
FIND_PATH(FREETYPE_ADDITIONAL_INCLUDE_DIR
|
||||||
|
@ -42,7 +42,7 @@ FIND_PATH(FREETYPE_ADDITIONAL_INCLUDE_DIR
|
||||||
# combine both include directories into one variable
|
# combine both include directories into one variable
|
||||||
IF(FREETYPE_ADDITIONAL_INCLUDE_DIR)
|
IF(FREETYPE_ADDITIONAL_INCLUDE_DIR)
|
||||||
SET(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_ADDITIONAL_INCLUDE_DIR})
|
SET(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_ADDITIONAL_INCLUDE_DIR})
|
||||||
ENDIF(FREETYPE_ADDITIONAL_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
FIND_LIBRARY(FREETYPE_LIBRARY_RELEASE
|
FIND_LIBRARY(FREETYPE_LIBRARY_RELEASE
|
||||||
NAMES freetype libfreetype freetype219 freetype246
|
NAMES freetype libfreetype freetype219 freetype246
|
||||||
|
@ -89,8 +89,8 @@ IF(FREETYPE_INCLUDE_DIRS)
|
||||||
# Case where Freetype is compiled from sources (debug version is compiled by default)
|
# Case where Freetype is compiled from sources (debug version is compiled by default)
|
||||||
SET(FREETYPE_FOUND ON)
|
SET(FREETYPE_FOUND ON)
|
||||||
SET(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY_DEBUG})
|
SET(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY_DEBUG})
|
||||||
ENDIF(FREETYPE_LIBRARY_RELEASE AND FREETYPE_LIBRARY_DEBUG)
|
ENDIF()
|
||||||
ENDIF(FREETYPE_INCLUDE_DIRS)
|
ENDIF()
|
||||||
|
|
||||||
IF(FREETYPE_FOUND)
|
IF(FREETYPE_FOUND)
|
||||||
IF(WITH_STATIC_EXTERNAL AND APPLE)
|
IF(WITH_STATIC_EXTERNAL AND APPLE)
|
||||||
|
@ -98,13 +98,13 @@ IF(FREETYPE_FOUND)
|
||||||
IF(BZIP2_FOUND)
|
IF(BZIP2_FOUND)
|
||||||
SET(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${BZIP2_INCLUDE_DIR})
|
SET(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${BZIP2_INCLUDE_DIR})
|
||||||
SET(FREETYPE_LIBRARIES ${FREETYPE_LIBRARIES} ${BZIP2_LIBRARIES})
|
SET(FREETYPE_LIBRARIES ${FREETYPE_LIBRARIES} ${BZIP2_LIBRARIES})
|
||||||
ENDIF(BZIP2_FOUND)
|
ENDIF()
|
||||||
ENDIF(WITH_STATIC_EXTERNAL AND APPLE)
|
ENDIF()
|
||||||
IF(NOT Freetype_FIND_QUIETLY)
|
IF(NOT Freetype_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found FreeType: ${FREETYPE_LIBRARIES}")
|
MESSAGE(STATUS "Found FreeType: ${FREETYPE_LIBRARIES}")
|
||||||
ENDIF(NOT Freetype_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
|
ELSE()
|
||||||
IF(NOT Freetype_FIND_QUIETLY)
|
IF(NOT Freetype_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find FreeType!")
|
MESSAGE(STATUS "Warning: Unable to find FreeType!")
|
||||||
ENDIF(NOT Freetype_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(FREETYPE_FOUND)
|
ENDIF()
|
||||||
|
|
|
@ -20,7 +20,7 @@ FIND_LIBRARY(ICONV_LIBRARIES NAMES iconv libiconv c PATHS /opt/local)
|
||||||
|
|
||||||
IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
|
IF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
|
||||||
SET(ICONV_FOUND TRUE)
|
SET(ICONV_FOUND TRUE)
|
||||||
ENDIF(ICONV_INCLUDE_DIR AND ICONV_LIBRARIES)
|
ENDIF()
|
||||||
|
|
||||||
set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
|
set(CMAKE_REQUIRED_INCLUDES ${ICONV_INCLUDE_DIR})
|
||||||
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES})
|
set(CMAKE_REQUIRED_LIBRARIES ${ICONV_LIBRARIES})
|
||||||
|
@ -29,7 +29,7 @@ IF(ICONV_FOUND)
|
||||||
set (CMAKE_C_FLAGS_BACKUP "${CMAKE_C_FLAGS}")
|
set (CMAKE_C_FLAGS_BACKUP "${CMAKE_C_FLAGS}")
|
||||||
if(ICONV_HAVE_WERROR)
|
if(ICONV_HAVE_WERROR)
|
||||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
|
||||||
endif(ICONV_HAVE_WERROR)
|
ENDIF()
|
||||||
check_c_source_compiles("
|
check_c_source_compiles("
|
||||||
#include <iconv.h>
|
#include <iconv.h>
|
||||||
int main(){
|
int main(){
|
||||||
|
@ -43,19 +43,19 @@ IF(ICONV_FOUND)
|
||||||
}
|
}
|
||||||
" ICONV_SECOND_ARGUMENT_IS_CONST )
|
" ICONV_SECOND_ARGUMENT_IS_CONST )
|
||||||
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_BACKUP}")
|
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS_BACKUP}")
|
||||||
ENDIF(ICONV_FOUND)
|
ENDIF()
|
||||||
set(CMAKE_REQUIRED_INCLUDES)
|
set(CMAKE_REQUIRED_INCLUDES)
|
||||||
set(CMAKE_REQUIRED_LIBRARIES)
|
set(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
|
||||||
IF(ICONV_FOUND)
|
IF(ICONV_FOUND)
|
||||||
IF(NOT ICONV_FIND_QUIETLY)
|
IF(NOT ICONV_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}")
|
MESSAGE(STATUS "Found Iconv: ${ICONV_LIBRARIES}")
|
||||||
ENDIF(NOT ICONV_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(ICONV_FOUND)
|
ELSE()
|
||||||
IF(Iconv_FIND_REQUIRED)
|
IF(Iconv_FIND_REQUIRED)
|
||||||
MESSAGE(FATAL_ERROR "Could not find Iconv")
|
MESSAGE(FATAL_ERROR "Could not find Iconv")
|
||||||
ENDIF(Iconv_FIND_REQUIRED)
|
ENDIF()
|
||||||
ENDIF(ICONV_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
MARK_AS_ADVANCED(
|
MARK_AS_ADVANCED(
|
||||||
ICONV_INCLUDE_DIR
|
ICONV_INCLUDE_DIR
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
IF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(JPEG_FIND_QUIETLY TRUE)
|
SET(JPEG_FIND_QUIETLY TRUE)
|
||||||
ENDIF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(JPEG_INCLUDE_DIR
|
FIND_PATH(JPEG_INCLUDE_DIR
|
||||||
|
@ -42,9 +42,9 @@ IF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
||||||
SET(JPEG_FOUND "YES")
|
SET(JPEG_FOUND "YES")
|
||||||
IF(NOT JPEG_FIND_QUIETLY)
|
IF(NOT JPEG_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found Jpeg: ${JPEG_LIBRARY}")
|
MESSAGE(STATUS "Found Jpeg: ${JPEG_LIBRARY}")
|
||||||
ENDIF(NOT JPEG_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
ELSE()
|
||||||
IF(NOT JPEG_FIND_QUIETLY)
|
IF(NOT JPEG_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find Jpeg!")
|
MESSAGE(STATUS "Warning: Unable to find Jpeg!")
|
||||||
ENDIF(NOT JPEG_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(JPEG_LIBRARY AND JPEG_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
|
@ -7,10 +7,11 @@
|
||||||
IF(LIBOVR_LIBRARIES AND LIBOVR_INCLUDE_DIR)
|
IF(LIBOVR_LIBRARIES AND LIBOVR_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(LIBOVR_FIND_QUIETLY TRUE)
|
SET(LIBOVR_FIND_QUIETLY TRUE)
|
||||||
ENDIF(LIBOVR_LIBRARIES AND LIBOVR_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(LIBOVR_INCLUDE_DIR
|
FIND_PATH(LIBOVR_INCLUDE_DIR
|
||||||
OVR.h
|
NAMES
|
||||||
|
OVR.h OVR_CAPI.h
|
||||||
PATHS
|
PATHS
|
||||||
$ENV{LIBOVR_DIR}/Include
|
$ENV{LIBOVR_DIR}/Include
|
||||||
/usr/local/include
|
/usr/local/include
|
||||||
|
@ -24,18 +25,18 @@ FIND_PATH(LIBOVR_INCLUDE_DIR
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/Linux/Release/x86_64")
|
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/Linux/Release/x86_64")
|
||||||
ELSE(TARGET_X64)
|
ELSE()
|
||||||
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/Linux/Release/i386")
|
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/Linux/Release/i386")
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
ELSEIF(APPLE)
|
ELSEIF(APPLE)
|
||||||
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/MacOS/Release")
|
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/MacOS/Release")
|
||||||
ELSEIF(WIN32)
|
ELSEIF(WIN32)
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/x64")
|
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/x64")
|
||||||
ELSE(TARGET_X64)
|
ELSE()
|
||||||
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/Win32")
|
SET(LIBOVR_LIBRARY_BUILD_PATH "Lib/Win32")
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
ENDIF(UNIX)
|
ENDIF()
|
||||||
|
|
||||||
FIND_LIBRARY(LIBOVR_LIBRARY
|
FIND_LIBRARY(LIBOVR_LIBRARY
|
||||||
NAMES ovr libovr
|
NAMES ovr libovr
|
||||||
|
@ -55,17 +56,17 @@ FIND_LIBRARY(LIBOVR_LIBRARY
|
||||||
IF(LIBOVR_LIBRARY AND LIBOVR_INCLUDE_DIR)
|
IF(LIBOVR_LIBRARY AND LIBOVR_INCLUDE_DIR)
|
||||||
IF(NOT LIBOVR_FIND_QUIETLY)
|
IF(NOT LIBOVR_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found LibOVR: ${LIBOVR_LIBRARY}")
|
MESSAGE(STATUS "Found LibOVR: ${LIBOVR_LIBRARY}")
|
||||||
ENDIF(NOT LIBOVR_FIND_QUIETLY)
|
ENDIF()
|
||||||
SET(LIBOVR_FOUND "YES")
|
SET(LIBOVR_FOUND "YES")
|
||||||
SET(LIBOVR_DEFINITIONS "-DHAVE_LIBOVR")
|
SET(LIBOVR_DEFINITIONS "-DHAVE_LIBOVR")
|
||||||
SET(NL_STEREO_AVAILABLE ON)
|
SET(NL_STEREO_AVAILABLE ON)
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
SET(LIBOVR_LIBRARIES ${LIBOVR_LIBRARY} X11 Xinerama udev pthread)
|
SET(LIBOVR_LIBRARIES ${LIBOVR_LIBRARY} X11 Xinerama udev pthread)
|
||||||
ELSE(UNIX)
|
ELSE()
|
||||||
SET(LIBOVR_LIBRARIES ${LIBOVR_LIBRARY})
|
SET(LIBOVR_LIBRARIES ${LIBOVR_LIBRARY})
|
||||||
ENDIF(UNIX)
|
ENDIF()
|
||||||
ELSE(LIBOVR_LIBRARY AND LIBOVR_INCLUDE_DIR)
|
ELSE()
|
||||||
IF(NOT LIBOVR_FIND_QUIETLY)
|
IF(NOT LIBOVR_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find LibOVR!")
|
MESSAGE(STATUS "Warning: Unable to find LibOVR!")
|
||||||
ENDIF(NOT LIBOVR_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(LIBOVR_LIBRARY AND LIBOVR_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(LIBVR_LIBRARIES AND LIBVR_INCLUDE_DIR)
|
IF(LIBVR_LIBRARIES AND LIBVR_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(LIBVR_FIND_QUIETLY TRUE)
|
SET(LIBVR_FIND_QUIETLY TRUE)
|
||||||
ENDIF(LIBVR_LIBRARIES AND LIBVR_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(LIBVR_INCLUDE_DIR hmd.h
|
FIND_PATH(LIBVR_INCLUDE_DIR hmd.h
|
||||||
PATH_SUFFIXES include/LibVR
|
PATH_SUFFIXES include/LibVR
|
||||||
|
@ -22,12 +22,12 @@ FIND_LIBRARY(LIBVR_LIBRARY
|
||||||
IF(LIBVR_LIBRARY AND LIBVR_INCLUDE_DIR)
|
IF(LIBVR_LIBRARY AND LIBVR_INCLUDE_DIR)
|
||||||
IF(NOT LIBVR_FIND_QUIETLY)
|
IF(NOT LIBVR_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found LibVR: ${LIBVR_LIBRARY}")
|
MESSAGE(STATUS "Found LibVR: ${LIBVR_LIBRARY}")
|
||||||
ENDIF(NOT LIBVR_FIND_QUIETLY)
|
ENDIF()
|
||||||
SET(LIBVR_FOUND "YES")
|
SET(LIBVR_FOUND "YES")
|
||||||
SET(LIBVR_DEFINITIONS "-DHAVE_LIBVR")
|
SET(LIBVR_DEFINITIONS "-DHAVE_LIBVR")
|
||||||
SET(NL_STEREO_AVAILABLE ON)
|
SET(NL_STEREO_AVAILABLE ON)
|
||||||
ELSE(LIBVR_LIBRARY AND LIBVR_INCLUDE_DIR)
|
ELSE()
|
||||||
IF(NOT LIBVR_FIND_QUIETLY)
|
IF(NOT LIBVR_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find LibVR!")
|
MESSAGE(STATUS "Warning: Unable to find LibVR!")
|
||||||
ENDIF(NOT LIBVR_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(LIBVR_LIBRARY AND LIBVR_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
|
@ -143,7 +143,7 @@ ENDIF()
|
||||||
IF(WITH_STLPORT)
|
IF(WITH_STLPORT)
|
||||||
LIST(APPEND LIBRARY_NAME_RELEASE luabind_stlport)
|
LIST(APPEND LIBRARY_NAME_RELEASE luabind_stlport)
|
||||||
LIST(APPEND LIBRARY_NAME_DEBUG luabind_stlportd)
|
LIST(APPEND LIBRARY_NAME_DEBUG luabind_stlportd)
|
||||||
ENDIF(WITH_STLPORT)
|
ENDIF()
|
||||||
|
|
||||||
# generic libraries names
|
# generic libraries names
|
||||||
LIST(APPEND LIBRARY_NAME_RELEASE luabind libluabind)
|
LIST(APPEND LIBRARY_NAME_RELEASE luabind libluabind)
|
||||||
|
@ -194,7 +194,7 @@ IF(LUABIND_INCLUDE_DIR AND Boost_INCLUDE_DIR)
|
||||||
# Case where Luabind is compiled from sources (debug version is compiled by default)
|
# Case where Luabind is compiled from sources (debug version is compiled by default)
|
||||||
SET(LUABIND_FOUND TRUE)
|
SET(LUABIND_FOUND TRUE)
|
||||||
SET(LUABIND_LIBRARIES ${LUABIND_LIBRARY_DEBUG})
|
SET(LUABIND_LIBRARIES ${LUABIND_LIBRARY_DEBUG})
|
||||||
ENDIF(LUABIND_LIBRARY_RELEASE AND LUABIND_LIBRARY_DEBUG)
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(LUABIND_FOUND)
|
IF(LUABIND_FOUND)
|
||||||
|
@ -209,11 +209,11 @@ IF(LUABIND_FOUND)
|
||||||
|
|
||||||
IF(NOT Luabind_FIND_QUIETLY)
|
IF(NOT Luabind_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found Luabind: ${LUABIND_LIBRARIES}")
|
MESSAGE(STATUS "Found Luabind: ${LUABIND_LIBRARIES}")
|
||||||
ENDIF(NOT Luabind_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
IF(NOT Luabind_FIND_QUIETLY)
|
IF(NOT Luabind_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find Luabind!")
|
MESSAGE(STATUS "Warning: Unable to find Luabind!")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(LUABIND_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
MARK_AS_ADVANCED(LUABIND_LIBRARY_RELEASE LUABIND_LIBRARY_DEBUG Boost_LIB_DIAGNOSTIC_DEFINITIONS)
|
MARK_AS_ADVANCED(LUABIND_LIBRARY_RELEASE LUABIND_LIBRARY_DEBUG Boost_LIB_DIAGNOSTIC_DEFINITIONS)
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(OGG_LIBRARY AND OGG_INCLUDE_DIR)
|
IF(OGG_LIBRARY AND OGG_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(OGG_FIND_QUIETLY TRUE)
|
SET(OGG_FIND_QUIETLY TRUE)
|
||||||
ENDIF(OGG_LIBRARY AND OGG_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(OGG_INCLUDE_DIR
|
FIND_PATH(OGG_INCLUDE_DIR
|
||||||
|
@ -41,9 +41,9 @@ IF(OGG_LIBRARY AND OGG_INCLUDE_DIR)
|
||||||
SET(OGG_FOUND "YES")
|
SET(OGG_FOUND "YES")
|
||||||
IF(NOT OGG_FIND_QUIETLY)
|
IF(NOT OGG_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found Ogg: ${OGG_LIBRARY}")
|
MESSAGE(STATUS "Found Ogg: ${OGG_LIBRARY}")
|
||||||
ENDIF(NOT OGG_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(OGG_LIBRARY AND OGG_INCLUDE_DIR)
|
ELSE()
|
||||||
IF(NOT OGG_FIND_QUIETLY)
|
IF(NOT OGG_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find Ogg!")
|
MESSAGE(STATUS "Warning: Unable to find Ogg!")
|
||||||
ENDIF(NOT OGG_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(OGG_LIBRARY AND OGG_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
|
@ -43,7 +43,7 @@ IF(OPENGLES_GLES_LIBRARY)
|
||||||
IF(OPENGLES_EGL_LIBRARY)
|
IF(OPENGLES_EGL_LIBRARY)
|
||||||
SET(OPENGLES_EGL_FOUND "YES")
|
SET(OPENGLES_EGL_FOUND "YES")
|
||||||
SET(OPENGLES_LIBRARIES ${OPENGLES_EGL_LIBRARY} ${OPENGLES_LIBRARIES})
|
SET(OPENGLES_LIBRARIES ${OPENGLES_EGL_LIBRARY} ${OPENGLES_LIBRARIES})
|
||||||
ELSE(OPENGLES_EGL_LIBRARY)
|
ELSE()
|
||||||
SET(OPENGLES_EGL_FOUND "NO")
|
SET(OPENGLES_EGL_FOUND "NO")
|
||||||
ENDIF(OPENGLES_EGL_LIBRARY)
|
ENDIF()
|
||||||
ENDIF(OPENGLES_GLES_LIBRARY)
|
ENDIF()
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
IF(STLPORT_LIBRARIES AND STLPORT_INCLUDE_DIR)
|
IF(STLPORT_LIBRARIES AND STLPORT_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(STLPORT_FIND_QUIETLY TRUE)
|
SET(STLPORT_FIND_QUIETLY TRUE)
|
||||||
ENDIF(STLPORT_LIBRARIES AND STLPORT_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(STLPORT_INCLUDE_DIR
|
FIND_PATH(STLPORT_INCLUDE_DIR
|
||||||
iostream
|
iostream
|
||||||
|
@ -74,18 +74,18 @@ IF(STLPORT_INCLUDE_DIR)
|
||||||
SET(STLPORT_LIBRARIES ${STLPORT_LIBRARY_RELEASE})
|
SET(STLPORT_LIBRARIES ${STLPORT_LIBRARY_RELEASE})
|
||||||
IF(STLPORT_LIBRARY_DEBUG)
|
IF(STLPORT_LIBRARY_DEBUG)
|
||||||
SET(STLPORT_LIBRARIES optimized ${STLPORT_LIBRARIES} debug ${STLPORT_LIBRARY_DEBUG})
|
SET(STLPORT_LIBRARIES optimized ${STLPORT_LIBRARIES} debug ${STLPORT_LIBRARY_DEBUG})
|
||||||
ENDIF(STLPORT_LIBRARY_DEBUG)
|
ENDIF()
|
||||||
ENDIF(STLPORT_LIBRARY_RELEASE)
|
ENDIF()
|
||||||
ENDIF(STLPORT_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
IF(STLPORT_FOUND)
|
IF(STLPORT_FOUND)
|
||||||
IF(NOT STLPORT_FIND_QUIETLY)
|
IF(NOT STLPORT_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found STLport: ${STLPORT_LIBRARIES}")
|
MESSAGE(STATUS "Found STLport: ${STLPORT_LIBRARIES}")
|
||||||
ENDIF(NOT STLPORT_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(STLPORT_FOUND)
|
ELSE()
|
||||||
IF(NOT STLPORT_FIND_QUIETLY)
|
IF(NOT STLPORT_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find STLport!")
|
MESSAGE(STATUS "Warning: Unable to find STLport!")
|
||||||
ENDIF(NOT STLPORT_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(STLPORT_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
MARK_AS_ADVANCED(STLPORT_LIBRARY_RELEASE STLPORT_LIBRARY_DEBUG)
|
MARK_AS_ADVANCED(STLPORT_LIBRARY_RELEASE STLPORT_LIBRARY_DEBUG)
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
IF(SQUISH_LIBRARIES AND SQUISH_INCLUDE_DIR)
|
IF(SQUISH_LIBRARIES AND SQUISH_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(SQUISH_FIND_QUIETLY TRUE)
|
SET(SQUISH_FIND_QUIETLY TRUE)
|
||||||
ENDIF(SQUISH_LIBRARIES AND SQUISH_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
FIND_PATH(SQUISH_INCLUDE_DIR
|
FIND_PATH(SQUISH_INCLUDE_DIR
|
||||||
squish.h
|
squish.h
|
||||||
|
@ -58,26 +58,26 @@ IF(SQUISH_INCLUDE_DIR)
|
||||||
SET(SQUISH_LIBRARIES "optimized;${SQUISH_LIBRARY_RELEASE}")
|
SET(SQUISH_LIBRARIES "optimized;${SQUISH_LIBRARY_RELEASE}")
|
||||||
IF(SQUISH_LIBRARY_DEBUG)
|
IF(SQUISH_LIBRARY_DEBUG)
|
||||||
SET(SQUISH_LIBRARIES "${SQUISH_LIBRARIES};debug;${SQUISH_LIBRARY_DEBUG}")
|
SET(SQUISH_LIBRARIES "${SQUISH_LIBRARIES};debug;${SQUISH_LIBRARY_DEBUG}")
|
||||||
ELSE(SQUISH_LIBRARY_DEBUG)
|
ELSE()
|
||||||
SET(SQUISH_LIBRARIES "${SQUISH_LIBRARIES};debug;${SQUISH_LIBRARY_RELEASE}")
|
SET(SQUISH_LIBRARIES "${SQUISH_LIBRARIES};debug;${SQUISH_LIBRARY_RELEASE}")
|
||||||
MESSAGE("Debug Squish NOT found, using the release version!")
|
MESSAGE("Debug Squish NOT found, using the release version!")
|
||||||
ENDIF(SQUISH_LIBRARY_DEBUG)
|
ENDIF()
|
||||||
ENDIF(SQUISH_LIBRARY_RELEASE)
|
ENDIF()
|
||||||
ENDIF(SQUISH_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
IF(SQUISH_FOUND)
|
IF(SQUISH_FOUND)
|
||||||
IF(NOT SQUISH_FIND_QUIETLY)
|
IF(NOT SQUISH_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found Squish: ${SQUISH_LIBRARIES}")
|
MESSAGE(STATUS "Found Squish: ${SQUISH_LIBRARIES}")
|
||||||
ENDIF(NOT SQUISH_FIND_QUIETLY)
|
ENDIF()
|
||||||
FILE(STRINGS ${SQUISH_INCLUDE_DIR}/squish.h METRIC REGEX "metric = 0")
|
FILE(STRINGS ${SQUISH_INCLUDE_DIR}/squish.h METRIC REGEX "metric = 0")
|
||||||
IF(METRIC)
|
IF(METRIC)
|
||||||
SET(SQUISH_COMPRESS_HAS_METRIC ON)
|
SET(SQUISH_COMPRESS_HAS_METRIC ON)
|
||||||
SET(SQUISH_DEFINITIONS -DSQUISH_COMPRESS_HAS_METRIC)
|
SET(SQUISH_DEFINITIONS -DSQUISH_COMPRESS_HAS_METRIC)
|
||||||
ENDIF(METRIC)
|
ENDIF()
|
||||||
ELSE(SQUISH_FOUND)
|
ELSE()
|
||||||
IF(NOT SQUISH_FIND_QUIETLY)
|
IF(NOT SQUISH_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find Squish!")
|
MESSAGE(STATUS "Warning: Unable to find Squish!")
|
||||||
ENDIF(NOT SQUISH_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(SQUISH_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
MARK_AS_ADVANCED(SQUISH_LIBRARY_RELEASE SQUISH_LIBRARY_DEBUG)
|
MARK_AS_ADVANCED(SQUISH_LIBRARY_RELEASE SQUISH_LIBRARY_DEBUG)
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(VORBIS_LIBRARY AND VORBIS_INCLUDE_DIR)
|
IF(VORBIS_LIBRARY AND VORBIS_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(VORBIS_FIND_QUIETLY TRUE)
|
SET(VORBIS_FIND_QUIETLY TRUE)
|
||||||
ENDIF(VORBIS_LIBRARY AND VORBIS_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(VORBIS_INCLUDE_DIR
|
FIND_PATH(VORBIS_INCLUDE_DIR
|
||||||
|
@ -57,9 +57,9 @@ IF(VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBIS_INCLUDE_DIR)
|
||||||
SET(VORBIS_LIBRARIES ${VORBIS_LIBRARY} ${VORBISFILE_LIBRARY})
|
SET(VORBIS_LIBRARIES ${VORBIS_LIBRARY} ${VORBISFILE_LIBRARY})
|
||||||
IF(NOT VORBIS_FIND_QUIETLY)
|
IF(NOT VORBIS_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found Vorbis: ${VORBIS_LIBRARY}")
|
MESSAGE(STATUS "Found Vorbis: ${VORBIS_LIBRARY}")
|
||||||
ENDIF(NOT VORBIS_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBIS_INCLUDE_DIR)
|
ELSE()
|
||||||
IF(NOT VORBIS_FIND_QUIETLY)
|
IF(NOT VORBIS_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find Vorbis!")
|
MESSAGE(STATUS "Warning: Unable to find Vorbis!")
|
||||||
ENDIF(NOT VORBIS_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(VORBIS_LIBRARY AND VORBISFILE_LIBRARY AND VORBIS_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
IF(XF86VidMode_LIBRARY AND XF86VidMode_INCLUDE_DIR)
|
IF(XF86VidMode_LIBRARY AND XF86VidMode_INCLUDE_DIR)
|
||||||
# in cache already
|
# in cache already
|
||||||
SET(XF86VidMode_FIND_QUIETLY TRUE)
|
SET(XF86VidMode_FIND_QUIETLY TRUE)
|
||||||
ENDIF(XF86VidMode_LIBRARY AND XF86VidMode_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
FIND_PATH(XF86VidMode_INCLUDE_DIR
|
FIND_PATH(XF86VidMode_INCLUDE_DIR
|
||||||
|
@ -37,10 +37,10 @@ IF(XF86VidMode_LIBRARY AND XF86VidMode_INCLUDE_DIR)
|
||||||
SET(XF86VidMode_DEFINITIONS -DXF86VIDMODE)
|
SET(XF86VidMode_DEFINITIONS -DXF86VIDMODE)
|
||||||
IF(NOT XF86VidMode_FIND_QUIETLY)
|
IF(NOT XF86VidMode_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Found XF86VidMode: ${XF86VidMode_LIBRARY}")
|
MESSAGE(STATUS "Found XF86VidMode: ${XF86VidMode_LIBRARY}")
|
||||||
ENDIF(NOT XF86VidMode_FIND_QUIETLY)
|
ENDIF()
|
||||||
ELSE(XF86VidMode_LIBRARY AND XF86VidMode_INCLUDE_DIR)
|
ELSE()
|
||||||
IF(NOT XF86VidMode_FIND_QUIETLY)
|
IF(NOT XF86VidMode_FIND_QUIETLY)
|
||||||
MESSAGE(STATUS "Warning: Unable to find XF86VidMode!")
|
MESSAGE(STATUS "Warning: Unable to find XF86VidMode!")
|
||||||
ENDIF(NOT XF86VidMode_FIND_QUIETLY)
|
ENDIF()
|
||||||
ENDIF(XF86VidMode_LIBRARY AND XF86VidMode_INCLUDE_DIR)
|
ENDIF()
|
||||||
|
|
||||||
|
|
|
@ -33,17 +33,29 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
SET(PCH_ARCHS)
|
SET(PCH_ARCHS)
|
||||||
|
|
||||||
SET(_FLAGS)
|
SET(_FLAGS)
|
||||||
LIST(APPEND _FLAGS ${CMAKE_CXX_FLAGS})
|
|
||||||
|
|
||||||
|
# C++ flags
|
||||||
|
SET(_FLAG ${CMAKE_CXX_FLAGS})
|
||||||
|
SEPARATE_ARGUMENTS(_FLAG)
|
||||||
|
|
||||||
|
LIST(APPEND _FLAGS ${_FLAG})
|
||||||
|
|
||||||
|
# C++ config flags
|
||||||
STRING(TOUPPER "${CMAKE_BUILD_TYPE}" _UPPER_BUILD)
|
STRING(TOUPPER "${CMAKE_BUILD_TYPE}" _UPPER_BUILD)
|
||||||
LIST(APPEND _FLAGS " ${CMAKE_CXX_FLAGS_${_UPPER_BUILD}}")
|
|
||||||
|
SET(_FLAG ${CMAKE_CXX_FLAGS_${_UPPER_BUILD}})
|
||||||
|
SEPARATE_ARGUMENTS(_FLAG)
|
||||||
|
|
||||||
|
LIST(APPEND _FLAGS ${_FLAG})
|
||||||
|
|
||||||
GET_TARGET_PROPERTY(_targetType ${_target} TYPE)
|
GET_TARGET_PROPERTY(_targetType ${_target} TYPE)
|
||||||
|
|
||||||
SET(_USE_PIC OFF)
|
SET(_USE_PIC OFF)
|
||||||
|
|
||||||
IF(${_targetType} STREQUAL "SHARED_LIBRARY" OR ${_targetType} STREQUAL "MODULE_LIBRARY")
|
IF(${_targetType} STREQUAL "SHARED_LIBRARY" OR ${_targetType} STREQUAL "MODULE_LIBRARY")
|
||||||
LIST(APPEND _FLAGS " ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}")
|
SET(_FLAG ${CMAKE_SHARED_LIBRARY_CXX_FLAGS})
|
||||||
|
SEPARATE_ARGUMENTS(_FLAG)
|
||||||
|
LIST(APPEND _FLAGS ${_FLAG})
|
||||||
ELSE()
|
ELSE()
|
||||||
GET_TARGET_PROPERTY(_pic ${_target} POSITION_INDEPENDENT_CODE)
|
GET_TARGET_PROPERTY(_pic ${_target} POSITION_INDEPENDENT_CODE)
|
||||||
IF(_pic)
|
IF(_pic)
|
||||||
|
@ -53,67 +65,71 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
|
|
||||||
GET_DIRECTORY_PROPERTY(DIRINC INCLUDE_DIRECTORIES)
|
GET_DIRECTORY_PROPERTY(DIRINC INCLUDE_DIRECTORIES)
|
||||||
FOREACH(item ${DIRINC})
|
FOREACH(item ${DIRINC})
|
||||||
LIST(APPEND _FLAGS " -I\"${item}\"")
|
LIST(APPEND _FLAGS -I"${item}")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
|
# NOTE: As cmake files (eg FindQT4) may now use generator expressions around their defines that evaluate
|
||||||
|
# to an empty string, wrap all "items" in an expression that outputs a -D IFF the generated
|
||||||
|
# expression is not empty.
|
||||||
|
|
||||||
# Required for CMake 2.6
|
# Required for CMake 2.6
|
||||||
SET(GLOBAL_DEFINITIONS)
|
SET(GLOBAL_DEFINITIONS)
|
||||||
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS)
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -D${item}")
|
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
GET_DIRECTORY_PROPERTY(DEFINITIONS COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -D${item}")
|
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_DIRECTORY_PROPERTY(DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS)
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -D${item}")
|
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_DIRECTORY_PROPERTY(DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
GET_DIRECTORY_PROPERTY(DEFINITIONS DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -D${item}")
|
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_TARGET_PROPERTY(oldProps ${_target} COMPILE_FLAGS)
|
GET_TARGET_PROPERTY(oldProps ${_target} COMPILE_FLAGS)
|
||||||
IF(oldProps)
|
IF(oldProps)
|
||||||
LIST(APPEND _FLAGS " ${oldProps}")
|
LIST(APPEND _FLAGS ${oldProps})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_TARGET_PROPERTY(oldPropsBuild ${_target} COMPILE_FLAGS_${_UPPER_BUILD})
|
GET_TARGET_PROPERTY(oldPropsBuild ${_target} COMPILE_FLAGS_${_UPPER_BUILD})
|
||||||
IF(oldPropsBuild)
|
IF(oldPropsBuild)
|
||||||
LIST(APPEND _FLAGS " ${oldPropsBuild}")
|
LIST(APPEND _FLAGS ${oldPropsBuild})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_TARGET_PROPERTY(DIRINC ${_target} INCLUDE_DIRECTORIES)
|
GET_TARGET_PROPERTY(DIRINC ${_target} INCLUDE_DIRECTORIES)
|
||||||
IF(DIRINC)
|
IF(DIRINC)
|
||||||
FOREACH(item ${DIRINC})
|
FOREACH(item ${DIRINC})
|
||||||
LIST(APPEND _FLAGS " -I\"${item}\"")
|
LIST(APPEND _FLAGS -I"${item}")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_TARGET_PROPERTY(DEFINITIONS ${_target} COMPILE_DEFINITIONS)
|
GET_TARGET_PROPERTY(DEFINITIONS ${_target} COMPILE_DEFINITIONS)
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -D${item}")
|
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
GET_TARGET_PROPERTY(DEFINITIONS ${_target} COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
GET_TARGET_PROPERTY(DEFINITIONS ${_target} COMPILE_DEFINITIONS_${_UPPER_BUILD})
|
||||||
IF(DEFINITIONS)
|
IF(DEFINITIONS)
|
||||||
FOREACH(item ${DEFINITIONS})
|
FOREACH(item ${DEFINITIONS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -D${item}")
|
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -126,7 +142,7 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
|
|
||||||
IF(_DIRS)
|
IF(_DIRS)
|
||||||
FOREACH(item ${_DIRS})
|
FOREACH(item ${_DIRS})
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -I\"${item}\"")
|
LIST(APPEND GLOBAL_DEFINITIONS -I"${item}")
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
@ -135,10 +151,7 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
|
|
||||||
IF(_DEFINITIONS)
|
IF(_DEFINITIONS)
|
||||||
FOREACH(item ${_DEFINITIONS})
|
FOREACH(item ${_DEFINITIONS})
|
||||||
# don't use dynamic expressions
|
LIST(APPEND GLOBAL_DEFINITIONS "$<$<BOOL:${item}>:-D$<JOIN:${item},-D>>")
|
||||||
IF(NOT item MATCHES "\\$<")
|
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -D${item}")
|
|
||||||
ENDIF()
|
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -149,7 +162,7 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
IF(GLOBAL_DEFINITIONS MATCHES "QT_CORE_LIB")
|
IF(GLOBAL_DEFINITIONS MATCHES "QT_CORE_LIB")
|
||||||
# Hack to define missing QT_NO_DEBUG with Qt 5.2
|
# Hack to define missing QT_NO_DEBUG with Qt 5.2
|
||||||
IF(_UPPER_BUILD STREQUAL "RELEASE")
|
IF(_UPPER_BUILD STREQUAL "RELEASE")
|
||||||
LIST(APPEND GLOBAL_DEFINITIONS " -DQT_NO_DEBUG")
|
LIST(APPEND GLOBAL_DEFINITIONS "-DQT_NO_DEBUG")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Qt5_POSITION_INDEPENDENT_CODE should be true if Qt was compiled with PIC
|
# Qt5_POSITION_INDEPENDENT_CODE should be true if Qt was compiled with PIC
|
||||||
|
@ -158,28 +171,26 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(_USE_PIC)
|
IF(_USE_PIC)
|
||||||
LIST(APPEND _FLAGS " ${CMAKE_CXX_COMPILE_OPTIONS_PIC}")
|
LIST(APPEND _FLAGS ${CMAKE_CXX_COMPILE_OPTIONS_PIC})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
LIST(APPEND _FLAGS " ${GLOBAL_DEFINITIONS}")
|
|
||||||
|
|
||||||
IF(CMAKE_VERSION VERSION_LESS "3.3.0")
|
IF(CMAKE_VERSION VERSION_LESS "3.3.0")
|
||||||
GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(_directory_flags DEFINITIONS)
|
||||||
GET_DIRECTORY_PROPERTY(_directory_definitions DIRECTORY ${CMAKE_SOURCE_DIR} DEFINITIONS)
|
GET_DIRECTORY_PROPERTY(_directory_definitions DIRECTORY ${CMAKE_SOURCE_DIR} DEFINITIONS)
|
||||||
LIST(APPEND _FLAGS " ${_directory_flags}")
|
LIST(APPEND _FLAGS ${_directory_flags})
|
||||||
LIST(APPEND _FLAGS " ${_directory_definitions}")
|
LIST(APPEND _FLAGS ${_directory_definitions})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# Format definitions
|
# Format definitions
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
# Fix path with space
|
# Fix path with space
|
||||||
SEPARATE_ARGUMENTS(_FLAGS UNIX_COMMAND "${_FLAGS}")
|
SEPARATE_ARGUMENTS(_FLAGS UNIX_COMMAND "${_FLAGS}")
|
||||||
ELSE()
|
|
||||||
STRING(REGEX REPLACE " +" " " _FLAGS ${_FLAGS})
|
|
||||||
SEPARATE_ARGUMENTS(_FLAGS)
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
# Already in list form and items may contain non-leading spaces that should not be split on
|
||||||
|
LIST(INSERT _FLAGS 0 "${GLOBAL_DEFINITIONS}")
|
||||||
|
|
||||||
IF(CLANG)
|
IF(CLANG)
|
||||||
# Determining all architectures and get common flags
|
# Determining all architectures and get common flags
|
||||||
SET(_ARCH_NEXT)
|
SET(_ARCH_NEXT)
|
||||||
|
@ -236,6 +247,7 @@ MACRO(PCH_SET_COMPILE_FLAGS _target)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(PCH_FLAGS)
|
IF(PCH_FLAGS)
|
||||||
|
LIST(REMOVE_ITEM PCH_FLAGS "")
|
||||||
LIST(REMOVE_DUPLICATES PCH_FLAGS)
|
LIST(REMOVE_DUPLICATES PCH_FLAGS)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDMACRO()
|
ENDMACRO()
|
||||||
|
@ -247,16 +259,16 @@ MACRO(GET_PDB_FILENAME _out_filename _target)
|
||||||
SET(_targetOutput ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
SET(_targetOutput ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||||
ELSEIF(${_targetType} STREQUAL STATIC_LIBRARY)
|
ELSEIF(${_targetType} STREQUAL STATIC_LIBRARY)
|
||||||
SET(_targetOutput ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
|
SET(_targetOutput ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY})
|
||||||
ELSE(${_targetType} STREQUAL EXECUTABLE)
|
ELSE()
|
||||||
SET(_targetOutput ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
SET(_targetOutput ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||||||
ENDIF(${_targetType} STREQUAL EXECUTABLE)
|
ENDIF()
|
||||||
|
|
||||||
# determine target postfix
|
# determine target postfix
|
||||||
STRING(TOUPPER "${CMAKE_BUILD_TYPE}_POSTFIX" _postfix_var_name)
|
STRING(TOUPPER "${CMAKE_BUILD_TYPE}_POSTFIX" _postfix_var_name)
|
||||||
GET_TARGET_PROPERTY(_targetPostfix ${_target} ${_postfix_var_name})
|
GET_TARGET_PROPERTY(_targetPostfix ${_target} ${_postfix_var_name})
|
||||||
IF(${_targetPostfix} MATCHES NOTFOUND)
|
IF(${_targetPostfix} MATCHES NOTFOUND)
|
||||||
SET(_targetPostfix "")
|
SET(_targetPostfix "")
|
||||||
ENDIF(${_targetPostfix} MATCHES NOTFOUND)
|
ENDIF()
|
||||||
|
|
||||||
SET(${_out_filename} "${_targetOutput}/${_target}${_targetPostfix}.pdb")
|
SET(${_out_filename} "${_targetOutput}/${_target}${_targetPostfix}.pdb")
|
||||||
ENDMACRO(GET_PDB_FILENAME)
|
ENDMACRO(GET_PDB_FILENAME)
|
||||||
|
|
|
@ -4,7 +4,7 @@ SET(CMAKE_TRY_COMPILE_CONFIGURATION "Release")
|
||||||
# Force Release configuration by default
|
# Force Release configuration by default
|
||||||
IF(NOT CMAKE_BUILD_TYPE)
|
IF(NOT CMAKE_BUILD_TYPE)
|
||||||
SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
|
SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
|
||||||
ENDIF(NOT CMAKE_BUILD_TYPE)
|
ENDIF()
|
||||||
|
|
||||||
# Declare CMAKE_CONFIGURATION_TYPES before PROJECT
|
# Declare CMAKE_CONFIGURATION_TYPES before PROJECT
|
||||||
SET(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE)
|
SET(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "" FORCE)
|
||||||
|
@ -17,7 +17,7 @@ MACRO(NL_GEN_PC name)
|
||||||
IF(NOT WIN32 AND WITH_INSTALL_LIBRARIES)
|
IF(NOT WIN32 AND WITH_INSTALL_LIBRARIES)
|
||||||
CONFIGURE_FILE(${name}.in "${CMAKE_CURRENT_BINARY_DIR}/${name}")
|
CONFIGURE_FILE(${name}.in "${CMAKE_CURRENT_BINARY_DIR}/${name}")
|
||||||
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${name}" DESTINATION ${NL_LIB_PREFIX}/pkgconfig)
|
INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/${name}" DESTINATION ${NL_LIB_PREFIX}/pkgconfig)
|
||||||
ENDIF(NOT WIN32 AND WITH_INSTALL_LIBRARIES)
|
ENDIF()
|
||||||
ENDMACRO(NL_GEN_PC)
|
ENDMACRO(NL_GEN_PC)
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -26,9 +26,9 @@ ENDMACRO(NL_GEN_PC)
|
||||||
MACRO(NL_TARGET_LIB name)
|
MACRO(NL_TARGET_LIB name)
|
||||||
IF(WITH_STATIC)
|
IF(WITH_STATIC)
|
||||||
ADD_LIBRARY(${name} STATIC ${ARGN})
|
ADD_LIBRARY(${name} STATIC ${ARGN})
|
||||||
ELSE(WITH_STATIC)
|
ELSE()
|
||||||
ADD_LIBRARY(${name} SHARED ${ARGN})
|
ADD_LIBRARY(${name} SHARED ${ARGN})
|
||||||
ENDIF(WITH_STATIC)
|
ENDIF()
|
||||||
ENDMACRO(NL_TARGET_LIB)
|
ENDMACRO(NL_TARGET_LIB)
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -37,9 +37,9 @@ ENDMACRO(NL_TARGET_LIB)
|
||||||
MACRO(NL_TARGET_DRIVER name)
|
MACRO(NL_TARGET_DRIVER name)
|
||||||
IF(WITH_STATIC_DRIVERS)
|
IF(WITH_STATIC_DRIVERS)
|
||||||
ADD_LIBRARY(${name} STATIC ${ARGN})
|
ADD_LIBRARY(${name} STATIC ${ARGN})
|
||||||
ELSE(WITH_STATIC_DRIVERS)
|
ELSE()
|
||||||
ADD_LIBRARY(${name} MODULE ${ARGN})
|
ADD_LIBRARY(${name} MODULE ${ARGN})
|
||||||
ENDIF(WITH_STATIC_DRIVERS)
|
ENDIF()
|
||||||
ENDMACRO(NL_TARGET_DRIVER)
|
ENDMACRO(NL_TARGET_DRIVER)
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -64,16 +64,35 @@ MACRO(NL_DEFAULT_PROPS name label)
|
||||||
VERSION ${NL_VERSION} SOVERSION ${NL_VERSION_MAJOR})
|
VERSION ${NL_VERSION} SOVERSION ${NL_VERSION_MAJOR})
|
||||||
IF(NL_LIB_PREFIX)
|
IF(NL_LIB_PREFIX)
|
||||||
SET_TARGET_PROPERTIES(${name} PROPERTIES INSTALL_NAME_DIR ${NL_LIB_PREFIX})
|
SET_TARGET_PROPERTIES(${name} PROPERTIES INSTALL_NAME_DIR ${NL_LIB_PREFIX})
|
||||||
ENDIF(NL_LIB_PREFIX)
|
ENDIF()
|
||||||
ENDIF(${type} STREQUAL SHARED_LIBRARY)
|
ENDIF()
|
||||||
|
|
||||||
IF(${type} STREQUAL EXECUTABLE AND WIN32 AND NOT MINGW)
|
IF(${type} STREQUAL EXECUTABLE AND WIN32 AND NOT MINGW)
|
||||||
|
# check if using a GUI
|
||||||
|
GET_TARGET_PROPERTY(_VALUE ${name} WIN32_EXECUTABLE)
|
||||||
|
|
||||||
|
IF(TARGET_X64)
|
||||||
|
# Target Windows XP 64 bits
|
||||||
|
SET(_SUBSYSTEM_VERSION "5.02")
|
||||||
|
ELSE()
|
||||||
|
# Target Windows XP
|
||||||
|
SET(_SUBSYSTEM_VERSION "5.01")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(_VALUE)
|
||||||
|
# GUI
|
||||||
|
SET(_SUBSYSTEM "WINDOWS")
|
||||||
|
ELSE()
|
||||||
|
# Console
|
||||||
|
SET(_SUBSYSTEM "CONSOLE")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET_TARGET_PROPERTIES(${name} PROPERTIES
|
SET_TARGET_PROPERTIES(${name} PROPERTIES
|
||||||
VERSION ${NL_VERSION}
|
VERSION ${NL_VERSION}
|
||||||
SOVERSION ${NL_VERSION_MAJOR}
|
SOVERSION ${NL_VERSION_MAJOR}
|
||||||
COMPILE_FLAGS "/GA"
|
COMPILE_FLAGS "/GA"
|
||||||
LINK_FLAGS "/VERSION:${NL_VERSION_MAJOR}.${NL_VERSION_MINOR}")
|
LINK_FLAGS "/VERSION:${NL_VERSION_MAJOR}.${NL_VERSION_MINOR} /SUBSYSTEM:${_SUBSYSTEM},${_SUBSYSTEM_VERSION}")
|
||||||
ENDIF(${type} STREQUAL EXECUTABLE AND WIN32 AND NOT MINGW)
|
ENDIF()
|
||||||
ENDMACRO(NL_DEFAULT_PROPS)
|
ENDMACRO(NL_DEFAULT_PROPS)
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -83,7 +102,7 @@ ENDMACRO(NL_DEFAULT_PROPS)
|
||||||
MACRO(NL_ADD_LIB_SUFFIX name)
|
MACRO(NL_ADD_LIB_SUFFIX name)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
SET_TARGET_PROPERTIES(${name} PROPERTIES DEBUG_POSTFIX "_d" RELEASE_POSTFIX "_r")
|
SET_TARGET_PROPERTIES(${name} PROPERTIES DEBUG_POSTFIX "_d" RELEASE_POSTFIX "_r")
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
ENDMACRO(NL_ADD_LIB_SUFFIX)
|
ENDMACRO(NL_ADD_LIB_SUFFIX)
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -95,10 +114,10 @@ MACRO(NL_ADD_RUNTIME_FLAGS name)
|
||||||
# SET_TARGET_PROPERTIES(${name} PROPERTIES
|
# SET_TARGET_PROPERTIES(${name} PROPERTIES
|
||||||
# LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
# LINK_FLAGS_DEBUG "${CMAKE_LINK_FLAGS_DEBUG}"
|
||||||
# LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}")
|
# LINK_FLAGS_RELEASE "${CMAKE_LINK_FLAGS_RELEASE}")
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
IF(WITH_STLPORT)
|
IF(WITH_STLPORT)
|
||||||
TARGET_LINK_LIBRARIES(${name} ${STLPORT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
TARGET_LINK_LIBRARIES(${name} ${STLPORT_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
|
||||||
ENDIF(WITH_STLPORT)
|
ENDIF()
|
||||||
ENDMACRO(NL_ADD_RUNTIME_FLAGS)
|
ENDMACRO(NL_ADD_RUNTIME_FLAGS)
|
||||||
|
|
||||||
MACRO(NL_ADD_STATIC_VID_DRIVERS name)
|
MACRO(NL_ADD_STATIC_VID_DRIVERS name)
|
||||||
|
@ -106,25 +125,25 @@ MACRO(NL_ADD_STATIC_VID_DRIVERS name)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
IF(WITH_DRIVER_DIRECT3D)
|
IF(WITH_DRIVER_DIRECT3D)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_direct3d_win)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_direct3d_win)
|
||||||
ENDIF(WITH_DRIVER_DIRECT3D)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_OPENGL)
|
IF(WITH_DRIVER_OPENGL)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_opengl_win)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_opengl_win)
|
||||||
ELSE(WIN32)
|
ELSE()
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_opengl)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_opengl)
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
ENDIF(WITH_DRIVER_OPENGL)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_OPENGLES)
|
IF(WITH_DRIVER_OPENGLES)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_opengles_win)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_opengles_win)
|
||||||
ELSE(WIN32)
|
ELSE()
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_opengles)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_opengles)
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
ENDIF(WITH_DRIVER_OPENGLES)
|
ENDIF()
|
||||||
ENDIF(WITH_STATIC_DRIVERS)
|
ENDIF()
|
||||||
ENDMACRO(NL_ADD_STATIC_VID_DRIVERS)
|
ENDMACRO(NL_ADD_STATIC_VID_DRIVERS)
|
||||||
|
|
||||||
MACRO(NL_ADD_STATIC_SND_DRIVERS name)
|
MACRO(NL_ADD_STATIC_SND_DRIVERS name)
|
||||||
|
@ -132,30 +151,30 @@ MACRO(NL_ADD_STATIC_SND_DRIVERS name)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
IF(WITH_DRIVER_DSOUND)
|
IF(WITH_DRIVER_DSOUND)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_dsound_win)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_dsound_win)
|
||||||
ENDIF(WITH_DRIVER_DSOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_XAUDIO2)
|
IF(WITH_DRIVER_XAUDIO2)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_xaudio2_win)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_xaudio2_win)
|
||||||
ENDIF(WITH_DRIVER_XAUDIO2)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_OPENAL)
|
IF(WITH_DRIVER_OPENAL)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_openal_win)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_openal_win)
|
||||||
ENDIF(WITH_DRIVER_OPENAL)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_FMOD)
|
IF(WITH_DRIVER_FMOD)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_fmod_win)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_fmod_win)
|
||||||
ENDIF(WITH_DRIVER_FMOD)
|
ENDIF()
|
||||||
ELSE(WIN32)
|
ELSE()
|
||||||
IF(WITH_DRIVER_OPENAL)
|
IF(WITH_DRIVER_OPENAL)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_openal)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_openal)
|
||||||
ENDIF(WITH_DRIVER_OPENAL)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_FMOD)
|
IF(WITH_DRIVER_FMOD)
|
||||||
TARGET_LINK_LIBRARIES(${name} nel_drv_fmod)
|
TARGET_LINK_LIBRARIES(${name} nel_drv_fmod)
|
||||||
ENDIF(WITH_DRIVER_FMOD)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
ENDIF(WITH_STATIC_DRIVERS)
|
ENDIF()
|
||||||
ENDMACRO(NL_ADD_STATIC_SND_DRIVERS)
|
ENDMACRO(NL_ADD_STATIC_SND_DRIVERS)
|
||||||
|
|
||||||
###
|
###
|
||||||
|
@ -173,14 +192,14 @@ Remove the CMakeCache.txt file and try again from another folder, e.g.:
|
||||||
cd cmake
|
cd cmake
|
||||||
cmake ..
|
cmake ..
|
||||||
")
|
")
|
||||||
ENDIF(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
ENDIF()
|
||||||
|
|
||||||
ENDMACRO(CHECK_OUT_OF_SOURCE)
|
ENDMACRO(CHECK_OUT_OF_SOURCE)
|
||||||
|
|
||||||
MACRO(NL_SETUP_DEFAULT_OPTIONS)
|
MACRO(NL_SETUP_DEFAULT_OPTIONS)
|
||||||
IF(WITH_QT)
|
IF(WITH_QT)
|
||||||
OPTION(WITH_STUDIO "Build Core Studio" OFF )
|
OPTION(WITH_STUDIO "Build Core Studio" OFF )
|
||||||
ENDIF(WITH_QT)
|
ENDIF()
|
||||||
|
|
||||||
###
|
###
|
||||||
# Features
|
# Features
|
||||||
|
@ -194,30 +213,30 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS)
|
||||||
# Default to static building on Windows.
|
# Default to static building on Windows.
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
OPTION(WITH_STATIC "With static libraries." ON )
|
OPTION(WITH_STATIC "With static libraries." ON )
|
||||||
ELSE(WIN32)
|
ELSE()
|
||||||
OPTION(WITH_STATIC "With static libraries." OFF)
|
OPTION(WITH_STATIC "With static libraries." OFF)
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
IF (WITH_STATIC)
|
IF (WITH_STATIC)
|
||||||
OPTION(WITH_STATIC_LIBXML2 "With static libxml2" ON )
|
OPTION(WITH_STATIC_LIBXML2 "With static libxml2" ON )
|
||||||
ELSE(WITH_STATIC)
|
ELSE()
|
||||||
OPTION(WITH_STATIC_LIBXML2 "With static libxml2" OFF)
|
OPTION(WITH_STATIC_LIBXML2 "With static libxml2" OFF)
|
||||||
ENDIF(WITH_STATIC)
|
ENDIF()
|
||||||
IF (WITH_STATIC)
|
IF (WITH_STATIC)
|
||||||
OPTION(WITH_STATIC_CURL "With static curl" ON )
|
OPTION(WITH_STATIC_CURL "With static curl" ON )
|
||||||
ELSE(WITH_STATIC)
|
ELSE()
|
||||||
OPTION(WITH_STATIC_CURL "With static curl" OFF)
|
OPTION(WITH_STATIC_CURL "With static curl" OFF)
|
||||||
ENDIF(WITH_STATIC)
|
ENDIF()
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
OPTION(WITH_LIBXML2_ICONV "With libxml2 using iconv" ON )
|
OPTION(WITH_LIBXML2_ICONV "With libxml2 using iconv" ON )
|
||||||
ELSE(APPLE)
|
ELSE()
|
||||||
OPTION(WITH_LIBXML2_ICONV "With libxml2 using iconv" OFF)
|
OPTION(WITH_LIBXML2_ICONV "With libxml2 using iconv" OFF)
|
||||||
ENDIF(APPLE)
|
ENDIF()
|
||||||
OPTION(WITH_STATIC_DRIVERS "With static drivers." OFF)
|
OPTION(WITH_STATIC_DRIVERS "With static drivers." OFF)
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
OPTION(WITH_EXTERNAL "With provided external." ON )
|
OPTION(WITH_EXTERNAL "With provided external." ON )
|
||||||
ELSE(WIN32)
|
ELSE()
|
||||||
OPTION(WITH_EXTERNAL "With provided external." OFF)
|
OPTION(WITH_EXTERNAL "With provided external." OFF)
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
OPTION(WITH_STATIC_EXTERNAL "With static external libraries" OFF)
|
OPTION(WITH_STATIC_EXTERNAL "With static external libraries" OFF)
|
||||||
IF(UNIX AND NOT APPLE)
|
IF(UNIX AND NOT APPLE)
|
||||||
OPTION(WITH_UNIX_STRUCTURE "Use UNIX structure (bin, include, lib)" ON )
|
OPTION(WITH_UNIX_STRUCTURE "Use UNIX structure (bin, include, lib)" ON )
|
||||||
|
@ -237,9 +256,9 @@ MACRO(NL_SETUP_DEFAULT_OPTIONS)
|
||||||
|
|
||||||
IF(WIN32 AND MFC_FOUND)
|
IF(WIN32 AND MFC_FOUND)
|
||||||
OPTION(WITH_MFC "With MFC Support" ON )
|
OPTION(WITH_MFC "With MFC Support" ON )
|
||||||
ELSE(WIN32 AND MFC_FOUND)
|
ELSE()
|
||||||
OPTION(WITH_MFC "With MFC Support" OFF)
|
OPTION(WITH_MFC "With MFC Support" OFF)
|
||||||
ENDIF(WIN32 AND MFC_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
###
|
###
|
||||||
# Optional support
|
# Optional support
|
||||||
|
@ -304,7 +323,7 @@ MACRO(NL_SETUP_NEL_DEFAULT_OPTIONS)
|
||||||
|
|
||||||
IF(NOT MSVC)
|
IF(NOT MSVC)
|
||||||
OPTION(WITH_GCC_FPMATH_BOTH "With GCC -mfpmath=both" OFF)
|
OPTION(WITH_GCC_FPMATH_BOTH "With GCC -mfpmath=both" OFF)
|
||||||
ENDIF(NOT MSVC)
|
ENDIF()
|
||||||
ENDMACRO(NL_SETUP_NEL_DEFAULT_OPTIONS)
|
ENDMACRO(NL_SETUP_NEL_DEFAULT_OPTIONS)
|
||||||
|
|
||||||
MACRO(NL_SETUP_NELNS_DEFAULT_OPTIONS)
|
MACRO(NL_SETUP_NELNS_DEFAULT_OPTIONS)
|
||||||
|
@ -334,6 +353,7 @@ MACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS)
|
||||||
OPTION(WITH_RYZOM_PATCH "Enable Ryzom in-game patch support" OFF)
|
OPTION(WITH_RYZOM_PATCH "Enable Ryzom in-game patch support" OFF)
|
||||||
OPTION(WITH_RYZOM_CUSTOM_PATCH_SERVER "Only use patch server from CFG file" OFF)
|
OPTION(WITH_RYZOM_CUSTOM_PATCH_SERVER "Only use patch server from CFG file" OFF)
|
||||||
OPTION(WITH_RYZOM_STEAM "Enable Steam features" OFF)
|
OPTION(WITH_RYZOM_STEAM "Enable Steam features" OFF)
|
||||||
|
OPTION(WITH_RYZOM_SANDBOX "Enable Sandbox under OS X" OFF)
|
||||||
ENDMACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS)
|
ENDMACRO(NL_SETUP_RYZOM_DEFAULT_OPTIONS)
|
||||||
|
|
||||||
MACRO(NL_SETUP_SNOWBALLS_DEFAULT_OPTIONS)
|
MACRO(NL_SETUP_SNOWBALLS_DEFAULT_OPTIONS)
|
||||||
|
@ -360,15 +380,15 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
IF(CMAKE_BUILD_TYPE MATCHES "Debug")
|
IF(CMAKE_BUILD_TYPE MATCHES "Debug")
|
||||||
SET(NL_BUILD_MODE "NL_DEBUG")
|
SET(NL_BUILD_MODE "NL_DEBUG")
|
||||||
ELSE(CMAKE_BUILD_TYPE MATCHES "Debug")
|
ELSE()
|
||||||
IF(CMAKE_BUILD_TYPE MATCHES "Release")
|
IF(CMAKE_BUILD_TYPE MATCHES "Release")
|
||||||
SET(NL_BUILD_MODE "NL_RELEASE")
|
SET(NL_BUILD_MODE "NL_RELEASE")
|
||||||
ELSE(CMAKE_BUILD_TYPE MATCHES "Release")
|
ELSE()
|
||||||
SET(NL_BUILD_MODE "NL_RELEASE")
|
SET(NL_BUILD_MODE "NL_RELEASE")
|
||||||
# enforce release mode if it's neither Debug nor Release
|
# enforce release mode if it's neither Debug nor Release
|
||||||
SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
|
SET(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE)
|
||||||
ENDIF(CMAKE_BUILD_TYPE MATCHES "Release")
|
ENDIF()
|
||||||
ENDIF(CMAKE_BUILD_TYPE MATCHES "Debug")
|
ENDIF()
|
||||||
|
|
||||||
SET(HOST_CPU ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
SET(HOST_CPU ${CMAKE_HOST_SYSTEM_PROCESSOR})
|
||||||
|
|
||||||
|
@ -376,35 +396,35 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(HOST_CPU "x86_64")
|
SET(HOST_CPU "x86_64")
|
||||||
ELSEIF(HOST_CPU MATCHES "i.86")
|
ELSEIF(HOST_CPU MATCHES "i.86")
|
||||||
SET(HOST_CPU "x86")
|
SET(HOST_CPU "x86")
|
||||||
ENDIF(HOST_CPU MATCHES "(amd|AMD)64")
|
ENDIF()
|
||||||
|
|
||||||
# Determine target CPU
|
# Determine target CPU
|
||||||
|
|
||||||
# If not specified, use the same CPU as host
|
# If not specified, use the same CPU as host
|
||||||
IF(NOT TARGET_CPU)
|
IF(NOT TARGET_CPU)
|
||||||
SET(TARGET_CPU ${CMAKE_SYSTEM_PROCESSOR})
|
SET(TARGET_CPU ${CMAKE_SYSTEM_PROCESSOR})
|
||||||
ENDIF(NOT TARGET_CPU)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_CPU MATCHES "(amd|AMD)64")
|
IF(TARGET_CPU MATCHES "(amd|AMD)64")
|
||||||
SET(TARGET_CPU "x86_64")
|
SET(TARGET_CPU "x86_64")
|
||||||
ELSEIF(TARGET_CPU MATCHES "i.86")
|
ELSEIF(TARGET_CPU MATCHES "i.86")
|
||||||
SET(TARGET_CPU "x86")
|
SET(TARGET_CPU "x86")
|
||||||
ENDIF(TARGET_CPU MATCHES "(amd|AMD)64")
|
ENDIF()
|
||||||
|
|
||||||
IF(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
IF(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
||||||
SET(CLANG ON)
|
SET(CLANG ON)
|
||||||
MESSAGE(STATUS "Using Clang compiler")
|
MESSAGE(STATUS "Using Clang compiler")
|
||||||
ENDIF(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
ENDIF()
|
||||||
|
|
||||||
IF(CMAKE_GENERATOR MATCHES "Xcode")
|
IF(CMAKE_GENERATOR MATCHES "Xcode")
|
||||||
SET(XCODE ON)
|
SET(XCODE ON)
|
||||||
MESSAGE(STATUS "Generating Xcode project")
|
MESSAGE(STATUS "Generating Xcode project")
|
||||||
ENDIF(CMAKE_GENERATOR MATCHES "Xcode")
|
ENDIF()
|
||||||
|
|
||||||
IF(CMAKE_GENERATOR MATCHES "NMake")
|
IF(CMAKE_GENERATOR MATCHES "NMake")
|
||||||
SET(NMAKE ON)
|
SET(NMAKE ON)
|
||||||
MESSAGE(STATUS "Generating NMake project")
|
MESSAGE(STATUS "Generating NMake project")
|
||||||
ENDIF(CMAKE_GENERATOR MATCHES "NMake")
|
ENDIF()
|
||||||
|
|
||||||
# If target and host CPU are the same
|
# If target and host CPU are the same
|
||||||
IF("${HOST_CPU}" STREQUAL "${TARGET_CPU}" AND NOT CMAKE_CROSSCOMPILING)
|
IF("${HOST_CPU}" STREQUAL "${TARGET_CPU}" AND NOT CMAKE_CROSSCOMPILING)
|
||||||
|
@ -413,24 +433,24 @@ MACRO(NL_SETUP_BUILD)
|
||||||
IF(NOT CMAKE_SIZEOF_VOID_P)
|
IF(NOT CMAKE_SIZEOF_VOID_P)
|
||||||
INCLUDE (CheckTypeSize)
|
INCLUDE (CheckTypeSize)
|
||||||
CHECK_TYPE_SIZE("void*" CMAKE_SIZEOF_VOID_P)
|
CHECK_TYPE_SIZE("void*" CMAKE_SIZEOF_VOID_P)
|
||||||
ENDIF(NOT CMAKE_SIZEOF_VOID_P)
|
ENDIF()
|
||||||
|
|
||||||
# Using 32 or 64 bits libraries
|
# Using 32 or 64 bits libraries
|
||||||
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
IF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
SET(TARGET_CPU "x86_64")
|
SET(TARGET_CPU "x86_64")
|
||||||
ELSE(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
ELSE()
|
||||||
SET(TARGET_CPU "x86")
|
SET(TARGET_CPU "x86")
|
||||||
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
ENDIF()
|
||||||
ELSEIF(HOST_CPU MATCHES "arm")
|
ELSEIF(HOST_CPU MATCHES "arm")
|
||||||
SET(TARGET_CPU "arm")
|
SET(TARGET_CPU "arm")
|
||||||
ELSE(HOST_CPU MATCHES "x86")
|
ELSE()
|
||||||
SET(TARGET_CPU "unknown")
|
SET(TARGET_CPU "unknown")
|
||||||
MESSAGE(STATUS "Unknown architecture: ${HOST_CPU}")
|
MESSAGE(STATUS "Unknown architecture: ${HOST_CPU}")
|
||||||
ENDIF(HOST_CPU MATCHES "x86")
|
ENDIF()
|
||||||
# TODO: add checks for PPC
|
# TODO: add checks for PPC
|
||||||
ELSE("${HOST_CPU}" STREQUAL "${TARGET_CPU}" AND NOT CMAKE_CROSSCOMPILING)
|
ELSE()
|
||||||
MESSAGE(STATUS "Compiling on ${HOST_CPU} for ${TARGET_CPU}")
|
MESSAGE(STATUS "Compiling on ${HOST_CPU} for ${TARGET_CPU}")
|
||||||
ENDIF("${HOST_CPU}" STREQUAL "${TARGET_CPU}" AND NOT CMAKE_CROSSCOMPILING)
|
ENDIF()
|
||||||
|
|
||||||
# Use values from environment variables
|
# Use values from environment variables
|
||||||
SET(PLATFORM_CFLAGS "$ENV{CFLAGS} $ENV{CPPFLAGS} ${PLATFORM_CFLAGS}")
|
SET(PLATFORM_CFLAGS "$ENV{CFLAGS} $ENV{CPPFLAGS} ${PLATFORM_CFLAGS}")
|
||||||
|
@ -470,36 +490,36 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(TARGET_ARM 1)
|
SET(TARGET_ARM 1)
|
||||||
ELSEIF(TARGET_CPU STREQUAL "mips")
|
ELSEIF(TARGET_CPU STREQUAL "mips")
|
||||||
SET(TARGET_MIPS 1)
|
SET(TARGET_MIPS 1)
|
||||||
ENDIF(TARGET_CPU STREQUAL "x86_64")
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARM)
|
IF(TARGET_ARM)
|
||||||
IF(TARGET_ARMV7S)
|
IF(TARGET_ARMV7S)
|
||||||
ADD_PLATFORM_FLAGS("-DHAVE_ARMV7S")
|
ADD_PLATFORM_FLAGS("-DHAVE_ARMV7S")
|
||||||
ENDIF(TARGET_ARMV7S)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV7)
|
IF(TARGET_ARMV7)
|
||||||
ADD_PLATFORM_FLAGS("-DHAVE_ARMV7")
|
ADD_PLATFORM_FLAGS("-DHAVE_ARMV7")
|
||||||
ENDIF(TARGET_ARMV7)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV6)
|
IF(TARGET_ARMV6)
|
||||||
ADD_PLATFORM_FLAGS("-HAVE_ARMV6")
|
ADD_PLATFORM_FLAGS("-HAVE_ARMV6")
|
||||||
ENDIF(TARGET_ARMV6)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("-DHAVE_ARM")
|
ADD_PLATFORM_FLAGS("-DHAVE_ARM")
|
||||||
ENDIF(TARGET_ARM)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_X86)
|
IF(TARGET_X86)
|
||||||
ADD_PLATFORM_FLAGS("-DHAVE_X86")
|
ADD_PLATFORM_FLAGS("-DHAVE_X86")
|
||||||
ENDIF(TARGET_X86)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
ADD_PLATFORM_FLAGS("-DHAVE_X64 -DHAVE_X86_64")
|
ADD_PLATFORM_FLAGS("-DHAVE_X64 -DHAVE_X86_64")
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_MIPS)
|
IF(TARGET_MIPS)
|
||||||
ADD_PLATFORM_FLAGS("-DHAVE_MIPS")
|
ADD_PLATFORM_FLAGS("-DHAVE_MIPS")
|
||||||
ENDIF(TARGET_MIPS)
|
ENDIF()
|
||||||
ENDIF(NOT CMAKE_OSX_ARCHITECTURES)
|
ENDIF()
|
||||||
|
|
||||||
# Fix library paths suffixes for Debian MultiArch
|
# Fix library paths suffixes for Debian MultiArch
|
||||||
IF(LIBRARY_ARCHITECTURE)
|
IF(LIBRARY_ARCHITECTURE)
|
||||||
|
@ -508,22 +528,22 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib64 /usr/lib64)
|
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib64 /usr/lib64)
|
||||||
ELSEIF(TARGET_X86)
|
ELSEIF(TARGET_X86)
|
||||||
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib32 /usr/lib32)
|
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /lib32 /usr/lib32)
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
ENDIF(LIBRARY_ARCHITECTURE)
|
ENDIF()
|
||||||
|
|
||||||
IF(APPLE AND NOT IOS)
|
IF(APPLE AND NOT IOS)
|
||||||
SET(CMAKE_INCLUDE_PATH /opt/local/include ${CMAKE_INCLUDE_PATH})
|
SET(CMAKE_INCLUDE_PATH /opt/local/include ${CMAKE_INCLUDE_PATH})
|
||||||
SET(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH})
|
SET(CMAKE_LIBRARY_PATH /opt/local/lib ${CMAKE_LIBRARY_PATH})
|
||||||
ENDIF(APPLE AND NOT IOS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_LOGGING)
|
IF(WITH_LOGGING)
|
||||||
ADD_PLATFORM_FLAGS("-DENABLE_LOGS")
|
ADD_PLATFORM_FLAGS("-DENABLE_LOGS")
|
||||||
ENDIF(WITH_LOGGING)
|
ENDIF()
|
||||||
|
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
IF(MSVC_VERSION EQUAL "1700" AND NOT MSVC11)
|
IF(MSVC_VERSION EQUAL "1700" AND NOT MSVC11)
|
||||||
SET(MSVC11 ON)
|
SET(MSVC11 ON)
|
||||||
ENDIF(MSVC_VERSION EQUAL "1700" AND NOT MSVC11)
|
ENDIF()
|
||||||
|
|
||||||
# Ignore default include paths
|
# Ignore default include paths
|
||||||
ADD_PLATFORM_FLAGS("/X")
|
ADD_PLATFORM_FLAGS("/X")
|
||||||
|
@ -564,9 +584,9 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
SET(RELEASE_CFLAGS "/Ox /GF /GS- ${RELEASE_CFLAGS}")
|
||||||
# without inlining it's unusable, use custom optimizations again
|
# without inlining it's unusable, use custom optimizations again
|
||||||
SET(DEBUG_CFLAGS "/Od /Ob1 ${DEBUG_CFLAGS}")
|
SET(DEBUG_CFLAGS "/Od /Ob1 ${DEBUG_CFLAGS}")
|
||||||
ELSE(MSVC12)
|
ELSE()
|
||||||
MESSAGE(FATAL_ERROR "Can't determine compiler version ${MSVC_VERSION}")
|
MESSAGE(FATAL_ERROR "Can't determine compiler version ${MSVC_VERSION}")
|
||||||
ENDIF(MSVC14)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DWIN32 /D_WINDOWS /wd4250")
|
ADD_PLATFORM_FLAGS("/D_CRT_SECURE_NO_DEPRECATE /D_CRT_SECURE_NO_WARNINGS /D_CRT_NONSTDC_NO_WARNINGS /DWIN32 /D_WINDOWS /wd4250")
|
||||||
|
|
||||||
|
@ -575,10 +595,10 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ADD_PLATFORM_FLAGS("/D_WIN64")
|
ADD_PLATFORM_FLAGS("/D_WIN64")
|
||||||
# Fix a compilation error for some big C++ files
|
# Fix a compilation error for some big C++ files
|
||||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} /bigobj")
|
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} /bigobj")
|
||||||
ELSE(TARGET_X64)
|
ELSE()
|
||||||
# Allows 32 bits applications to use 3 GB of RAM
|
# Allows 32 bits applications to use 3 GB of RAM
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /LARGEADDRESSAWARE")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} /LARGEADDRESSAWARE")
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
|
|
||||||
# Exceptions are only set for C++
|
# Exceptions are only set for C++
|
||||||
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} /EHa")
|
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} /EHa")
|
||||||
|
@ -586,9 +606,9 @@ MACRO(NL_SETUP_BUILD)
|
||||||
IF(WITH_SYMBOLS)
|
IF(WITH_SYMBOLS)
|
||||||
SET(NL_RELEASE_CFLAGS "/Zi ${NL_RELEASE_CFLAGS}")
|
SET(NL_RELEASE_CFLAGS "/Zi ${NL_RELEASE_CFLAGS}")
|
||||||
SET(NL_RELEASE_LINKFLAGS "/DEBUG ${NL_RELEASE_LINKFLAGS}")
|
SET(NL_RELEASE_LINKFLAGS "/DEBUG ${NL_RELEASE_LINKFLAGS}")
|
||||||
ELSE(WITH_SYMBOLS)
|
ELSE()
|
||||||
SET(NL_RELEASE_LINKFLAGS "/RELEASE ${NL_RELEASE_LINKFLAGS}")
|
SET(NL_RELEASE_LINKFLAGS "/RELEASE ${NL_RELEASE_LINKFLAGS}")
|
||||||
ENDIF(WITH_SYMBOLS)
|
ENDIF()
|
||||||
|
|
||||||
SET(NL_DEBUG_CFLAGS "/Zi /MDd /RTC1 /D_DEBUG ${DEBUG_CFLAGS} ${NL_DEBUG_CFLAGS}")
|
SET(NL_DEBUG_CFLAGS "/Zi /MDd /RTC1 /D_DEBUG ${DEBUG_CFLAGS} ${NL_DEBUG_CFLAGS}")
|
||||||
SET(NL_RELEASE_CFLAGS "/MD /DNDEBUG ${RELEASE_CFLAGS} ${NL_RELEASE_CFLAGS}")
|
SET(NL_RELEASE_CFLAGS "/MD /DNDEBUG ${RELEASE_CFLAGS} ${NL_RELEASE_CFLAGS}")
|
||||||
|
@ -597,25 +617,25 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
IF(WITH_WARNINGS)
|
IF(WITH_WARNINGS)
|
||||||
SET(DEBUG_CFLAGS "/W4 ${DEBUG_CFLAGS}")
|
SET(DEBUG_CFLAGS "/W4 ${DEBUG_CFLAGS}")
|
||||||
ELSE(WITH_WARNINGS)
|
ELSE()
|
||||||
SET(DEBUG_CFLAGS "/W3 ${DEBUG_CFLAGS}")
|
SET(DEBUG_CFLAGS "/W3 ${DEBUG_CFLAGS}")
|
||||||
ENDIF(WITH_WARNINGS)
|
ENDIF()
|
||||||
ELSE(MSVC)
|
ELSE()
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
ADD_PLATFORM_FLAGS("-DWIN32 -D_WIN32")
|
ADD_PLATFORM_FLAGS("-DWIN32 -D_WIN32")
|
||||||
|
|
||||||
IF(CLANG)
|
IF(CLANG)
|
||||||
ADD_PLATFORM_FLAGS("-nobuiltininc")
|
ADD_PLATFORM_FLAGS("-nobuiltininc")
|
||||||
ENDIF(CLANG)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SSE3)
|
IF(WITH_SSE3)
|
||||||
ADD_PLATFORM_FLAGS("-msse3")
|
ADD_PLATFORM_FLAGS("-msse3")
|
||||||
ENDIF(WITH_SSE3)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_GCC_FPMATH_BOTH)
|
IF(WITH_GCC_FPMATH_BOTH)
|
||||||
ADD_PLATFORM_FLAGS("-mfpmath=both")
|
ADD_PLATFORM_FLAGS("-mfpmath=both")
|
||||||
ENDIF(WITH_GCC_FPMATH_BOTH)
|
ENDIF()
|
||||||
|
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
IF(NOT XCODE)
|
IF(NOT XCODE)
|
||||||
|
@ -650,97 +670,97 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(_ARCHS "${_ARCHS} mips")
|
SET(_ARCHS "${_ARCHS} mips")
|
||||||
SET(TARGET_MIPS 1)
|
SET(TARGET_MIPS 1)
|
||||||
MATH(EXPR TARGETS_COUNT "${TARGETS_COUNT}+1")
|
MATH(EXPR TARGETS_COUNT "${TARGETS_COUNT}+1")
|
||||||
ELSE(_ARCH STREQUAL "i386")
|
ELSE()
|
||||||
SET(_ARCHS "${_ARCHS} unknwon(${_ARCH})")
|
SET(_ARCHS "${_ARCHS} unknwon(${_ARCH})")
|
||||||
ENDIF(_ARCH STREQUAL "i386")
|
ENDIF()
|
||||||
ENDFOREACH(_ARCH)
|
ENDFOREACH(_ARCH)
|
||||||
MESSAGE(STATUS "Compiling under Mac OS X for ${TARGETS_COUNT} architectures: ${_ARCHS}")
|
MESSAGE(STATUS "Compiling under Mac OS X for ${TARGETS_COUNT} architectures: ${_ARCHS}")
|
||||||
ELSE(CMAKE_OSX_ARCHITECTURES)
|
ELSE()
|
||||||
SET(TARGETS_COUNT 0)
|
SET(TARGETS_COUNT 0)
|
||||||
ENDIF(CMAKE_OSX_ARCHITECTURES)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGETS_COUNT EQUAL 1)
|
IF(TARGETS_COUNT EQUAL 1)
|
||||||
IF(TARGET_ARM)
|
IF(TARGET_ARM)
|
||||||
IF(TARGET_ARMV7S)
|
IF(TARGET_ARMV7S)
|
||||||
ADD_PLATFORM_FLAGS("-arch armv7s -DHAVE_ARMV7S")
|
ADD_PLATFORM_FLAGS("-arch armv7s -DHAVE_ARMV7S")
|
||||||
ENDIF(TARGET_ARMV7S)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV7)
|
IF(TARGET_ARMV7)
|
||||||
ADD_PLATFORM_FLAGS("-arch armv7 -DHAVE_ARMV7")
|
ADD_PLATFORM_FLAGS("-arch armv7 -DHAVE_ARMV7")
|
||||||
ENDIF(TARGET_ARMV7)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV6)
|
IF(TARGET_ARMV6)
|
||||||
ADD_PLATFORM_FLAGS("-arch armv6 -DHAVE_ARMV6")
|
ADD_PLATFORM_FLAGS("-arch armv6 -DHAVE_ARMV6")
|
||||||
ENDIF(TARGET_ARMV6)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV5)
|
IF(TARGET_ARMV5)
|
||||||
ADD_PLATFORM_FLAGS("-arch armv5 -DHAVE_ARMV5")
|
ADD_PLATFORM_FLAGS("-arch armv5 -DHAVE_ARMV5")
|
||||||
ENDIF(TARGET_ARMV5)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("-mthumb -DHAVE_ARM")
|
ADD_PLATFORM_FLAGS("-mthumb -DHAVE_ARM")
|
||||||
ENDIF(TARGET_ARM)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
ADD_PLATFORM_FLAGS("-arch x86_64 -DHAVE_X64 -DHAVE_X86_64 -DHAVE_X86")
|
ADD_PLATFORM_FLAGS("-arch x86_64 -DHAVE_X64 -DHAVE_X86_64 -DHAVE_X86")
|
||||||
ELSEIF(TARGET_X86)
|
ELSEIF(TARGET_X86)
|
||||||
ADD_PLATFORM_FLAGS("-arch i386 -DHAVE_X86")
|
ADD_PLATFORM_FLAGS("-arch i386 -DHAVE_X86")
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_MIPS)
|
IF(TARGET_MIPS)
|
||||||
ADD_PLATFORM_FLAGS("-arch mips -DHAVE_MIPS")
|
ADD_PLATFORM_FLAGS("-arch mips -DHAVE_MIPS")
|
||||||
ENDIF(TARGET_MIPS)
|
ENDIF()
|
||||||
ELSEIF(TARGETS_COUNT EQUAL 0)
|
ELSEIF(TARGETS_COUNT EQUAL 0)
|
||||||
# Not using CMAKE_OSX_ARCHITECTURES, HAVE_XXX already defined before
|
# Not using CMAKE_OSX_ARCHITECTURES, HAVE_XXX already defined before
|
||||||
IF(TARGET_ARM)
|
IF(TARGET_ARM)
|
||||||
IF(TARGET_ARMV7S)
|
IF(TARGET_ARMV7S)
|
||||||
ADD_PLATFORM_FLAGS("-arch armv7s")
|
ADD_PLATFORM_FLAGS("-arch armv7s")
|
||||||
ENDIF(TARGET_ARMV7S)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV7)
|
IF(TARGET_ARMV7)
|
||||||
ADD_PLATFORM_FLAGS("-arch armv7")
|
ADD_PLATFORM_FLAGS("-arch armv7")
|
||||||
ENDIF(TARGET_ARMV7)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV6)
|
IF(TARGET_ARMV6)
|
||||||
ADD_PLATFORM_FLAGS("-arch armv6")
|
ADD_PLATFORM_FLAGS("-arch armv6")
|
||||||
ENDIF(TARGET_ARMV6)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV5)
|
IF(TARGET_ARMV5)
|
||||||
ADD_PLATFORM_FLAGS("-arch armv5")
|
ADD_PLATFORM_FLAGS("-arch armv5")
|
||||||
ENDIF(TARGET_ARMV5)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("-mthumb")
|
ADD_PLATFORM_FLAGS("-mthumb")
|
||||||
ENDIF(TARGET_ARM)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
ADD_PLATFORM_FLAGS("-arch x86_64")
|
ADD_PLATFORM_FLAGS("-arch x86_64")
|
||||||
ELSEIF(TARGET_X86)
|
ELSEIF(TARGET_X86)
|
||||||
ADD_PLATFORM_FLAGS("-arch i386")
|
ADD_PLATFORM_FLAGS("-arch i386")
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_MIPS)
|
IF(TARGET_MIPS)
|
||||||
ADD_PLATFORM_FLAGS("-arch mips")
|
ADD_PLATFORM_FLAGS("-arch mips")
|
||||||
ENDIF(TARGET_MIPS)
|
ENDIF()
|
||||||
ELSE(TARGETS_COUNT EQUAL 1)
|
ELSE()
|
||||||
IF(TARGET_ARMV6)
|
IF(TARGET_ARMV6)
|
||||||
ADD_PLATFORM_FLAGS("-Xarch_armv6 -mthumb -Xarch_armv6 -DHAVE_ARM -Xarch_armv6 -DHAVE_ARMV6")
|
ADD_PLATFORM_FLAGS("-Xarch_armv6 -mthumb -Xarch_armv6 -DHAVE_ARM -Xarch_armv6 -DHAVE_ARMV6")
|
||||||
ENDIF(TARGET_ARMV6)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV7)
|
IF(TARGET_ARMV7)
|
||||||
ADD_PLATFORM_FLAGS("-Xarch_armv7 -mthumb -Xarch_armv7 -DHAVE_ARM -Xarch_armv7 -DHAVE_ARMV7")
|
ADD_PLATFORM_FLAGS("-Xarch_armv7 -mthumb -Xarch_armv7 -DHAVE_ARM -Xarch_armv7 -DHAVE_ARMV7")
|
||||||
ENDIF(TARGET_ARMV7)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_X86)
|
IF(TARGET_X86)
|
||||||
ADD_PLATFORM_FLAGS("-Xarch_i386 -DHAVE_X86")
|
ADD_PLATFORM_FLAGS("-Xarch_i386 -DHAVE_X86")
|
||||||
ENDIF(TARGET_X86)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_X64)
|
IF(TARGET_X64)
|
||||||
ADD_PLATFORM_FLAGS("-Xarch_x86_64 -DHAVE_X64 -Xarch_x86_64 -DHAVE_X86_64")
|
ADD_PLATFORM_FLAGS("-Xarch_x86_64 -DHAVE_X64 -Xarch_x86_64 -DHAVE_X86_64")
|
||||||
ENDIF(TARGET_X64)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_MIPS)
|
IF(TARGET_MIPS)
|
||||||
ADD_PLATFORM_FLAGS("-Xarch_mips -DHAVE_MIPS")
|
ADD_PLATFORM_FLAGS("-Xarch_mips -DHAVE_MIPS")
|
||||||
ENDIF(TARGET_MIPS)
|
ENDIF()
|
||||||
ENDIF(TARGETS_COUNT EQUAL 1)
|
ENDIF()
|
||||||
|
|
||||||
IF(IOS)
|
IF(IOS)
|
||||||
SET(CMAKE_OSX_SYSROOT "" CACHE PATH "" FORCE)
|
SET(CMAKE_OSX_SYSROOT "" CACHE PATH "" FORCE)
|
||||||
|
@ -750,73 +770,73 @@ MACRO(NL_SETUP_BUILD)
|
||||||
CONVERT_VERSION_NUMBER(${IOS_VERSION_MAJOR} ${IOS_VERSION_MINOR} ${IOS_VERSION_PATCH} IOS_VERSION_NUMBER)
|
CONVERT_VERSION_NUMBER(${IOS_VERSION_MAJOR} ${IOS_VERSION_MINOR} ${IOS_VERSION_PATCH} IOS_VERSION_NUMBER)
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("-D__IPHONE_OS_VERSION_MIN_REQUIRED=${IOS_VERSION_NUMBER}")
|
ADD_PLATFORM_FLAGS("-D__IPHONE_OS_VERSION_MIN_REQUIRED=${IOS_VERSION_NUMBER}")
|
||||||
ENDIF(IOS_VERSION)
|
ENDIF()
|
||||||
|
|
||||||
IF(CMAKE_IOS_SYSROOT)
|
IF(CMAKE_IOS_SYSROOT)
|
||||||
IF(TARGET_ARMV7S)
|
IF(TARGET_ARMV7S)
|
||||||
IF(TARGETS_COUNT GREATER 1)
|
IF(TARGETS_COUNT GREATER 1)
|
||||||
SET(XARCH "-Xarch_armv7s ")
|
SET(XARCH "-Xarch_armv7s ")
|
||||||
ENDIF(TARGETS_COUNT GREATER 1)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
||||||
ENDIF(TARGET_ARMV7S)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV7)
|
IF(TARGET_ARMV7)
|
||||||
IF(TARGETS_COUNT GREATER 1)
|
IF(TARGETS_COUNT GREATER 1)
|
||||||
SET(XARCH "-Xarch_armv7 ")
|
SET(XARCH "-Xarch_armv7 ")
|
||||||
ENDIF(TARGETS_COUNT GREATER 1)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
||||||
ENDIF(TARGET_ARMV7)
|
ENDIF()
|
||||||
|
|
||||||
IF(TARGET_ARMV6)
|
IF(TARGET_ARMV6)
|
||||||
IF(TARGETS_COUNT GREATER 1)
|
IF(TARGETS_COUNT GREATER 1)
|
||||||
SET(XARCH "-Xarch_armv6 ")
|
SET(XARCH "-Xarch_armv6 ")
|
||||||
ENDIF(TARGETS_COUNT GREATER 1)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SYSROOT}")
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
ADD_PLATFORM_FLAGS("${XARCH}-miphoneos-version-min=${IOS_VERSION}")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-iphoneos_version_min,${IOS_VERSION}")
|
||||||
ENDIF(TARGET_ARMV6)
|
ENDIF()
|
||||||
ENDIF(CMAKE_IOS_SYSROOT)
|
ENDIF()
|
||||||
|
|
||||||
IF(CMAKE_IOS_SIMULATOR_SYSROOT AND TARGET_X86)
|
IF(CMAKE_IOS_SIMULATOR_SYSROOT AND TARGET_X86)
|
||||||
IF(TARGETS_COUNT GREATER 1)
|
IF(TARGETS_COUNT GREATER 1)
|
||||||
SET(XARCH "-Xarch_i386 ")
|
SET(XARCH "-Xarch_i386 ")
|
||||||
ENDIF(TARGETS_COUNT GREATER 1)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SIMULATOR_SYSROOT}")
|
ADD_PLATFORM_FLAGS("${XARCH}-isysroot${CMAKE_IOS_SIMULATOR_SYSROOT}")
|
||||||
ADD_PLATFORM_FLAGS("${XARCH}-mios-simulator-version-min=${IOS_VERSION}")
|
ADD_PLATFORM_FLAGS("${XARCH}-mios-simulator-version-min=${IOS_VERSION}")
|
||||||
IF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
IF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${XARCH}-Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
ENDIF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
ENDIF()
|
||||||
ENDIF(CMAKE_IOS_SIMULATOR_SYSROOT AND TARGET_X86)
|
ENDIF()
|
||||||
ELSE(IOS)
|
ELSE()
|
||||||
# Always force -mmacosx-version-min to override environement variable
|
# Always force -mmacosx-version-min to override environement variable
|
||||||
IF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
IF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-macosx_version_min,${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
ENDIF(CMAKE_OSX_DEPLOYMENT_TARGET)
|
ENDIF()
|
||||||
ENDIF(IOS)
|
ENDIF()
|
||||||
|
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-headerpad_max_install_names")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-headerpad_max_install_names")
|
||||||
|
|
||||||
IF(HAVE_FLAG_SEARCH_PATHS_FIRST)
|
IF(HAVE_FLAG_SEARCH_PATHS_FIRST)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-search_paths_first")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-search_paths_first")
|
||||||
ENDIF(HAVE_FLAG_SEARCH_PATHS_FIRST)
|
ENDIF()
|
||||||
ENDIF(NOT XCODE)
|
ENDIF()
|
||||||
ELSE(APPLE)
|
ELSE()
|
||||||
IF(HOST_CPU STREQUAL "x86_64" AND TARGET_CPU STREQUAL "x86")
|
IF(HOST_CPU STREQUAL "x86_64" AND TARGET_CPU STREQUAL "x86")
|
||||||
ADD_PLATFORM_FLAGS("-m32 -march=i686")
|
ADD_PLATFORM_FLAGS("-m32 -march=i686")
|
||||||
ENDIF(HOST_CPU STREQUAL "x86_64" AND TARGET_CPU STREQUAL "x86")
|
ENDIF()
|
||||||
|
|
||||||
IF(HOST_CPU STREQUAL "x86" AND TARGET_CPU STREQUAL "x86_64")
|
IF(HOST_CPU STREQUAL "x86" AND TARGET_CPU STREQUAL "x86_64")
|
||||||
ADD_PLATFORM_FLAGS("-m64")
|
ADD_PLATFORM_FLAGS("-m64")
|
||||||
ENDIF(HOST_CPU STREQUAL "x86" AND TARGET_CPU STREQUAL "x86_64")
|
ENDIF()
|
||||||
ENDIF(APPLE)
|
ENDIF()
|
||||||
|
|
||||||
ADD_PLATFORM_FLAGS("-D_REENTRANT -fno-strict-aliasing")
|
ADD_PLATFORM_FLAGS("-D_REENTRANT -fno-strict-aliasing")
|
||||||
|
|
||||||
|
@ -826,11 +846,11 @@ MACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
IF(WITH_COVERAGE)
|
IF(WITH_COVERAGE)
|
||||||
ADD_PLATFORM_FLAGS("-fprofile-arcs -ftest-coverage")
|
ADD_PLATFORM_FLAGS("-fprofile-arcs -ftest-coverage")
|
||||||
ENDIF(WITH_COVERAGE)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_WARNINGS)
|
IF(WITH_WARNINGS)
|
||||||
ADD_PLATFORM_FLAGS("-Wall -W -Wpointer-arith -Wsign-compare -Wno-deprecated-declarations -Wno-multichar -Wno-unused")
|
ADD_PLATFORM_FLAGS("-Wall -W -Wpointer-arith -Wsign-compare -Wno-deprecated-declarations -Wno-multichar -Wno-unused")
|
||||||
ENDIF(WITH_WARNINGS)
|
ENDIF()
|
||||||
|
|
||||||
IF(ANDROID)
|
IF(ANDROID)
|
||||||
ADD_PLATFORM_FLAGS("--sysroot=${PLATFORM_ROOT}")
|
ADD_PLATFORM_FLAGS("--sysroot=${PLATFORM_ROOT}")
|
||||||
|
@ -847,17 +867,17 @@ MACRO(NL_SETUP_BUILD)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -march=armv7-a -Wl,--fix-cortex-a8")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -march=armv7-a -Wl,--fix-cortex-a8")
|
||||||
ELSEIF(TARGET_ARMV5)
|
ELSEIF(TARGET_ARMV5)
|
||||||
ADD_PLATFORM_FLAGS("-march=armv5te -mtune=xscale -msoft-float")
|
ADD_PLATFORM_FLAGS("-march=armv5te -mtune=xscale -msoft-float")
|
||||||
ENDIF(TARGET_ARMV7)
|
ENDIF()
|
||||||
|
|
||||||
SET(TARGET_THUMB ON)
|
SET(TARGET_THUMB ON)
|
||||||
IF(TARGET_THUMB)
|
IF(TARGET_THUMB)
|
||||||
ADD_PLATFORM_FLAGS("-mthumb -fno-strict-aliasing -finline-limit=64")
|
ADD_PLATFORM_FLAGS("-mthumb -fno-strict-aliasing -finline-limit=64")
|
||||||
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -marm")
|
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -marm")
|
||||||
ELSE(TARGET_THUMB)
|
ELSE()
|
||||||
ADD_PLATFORM_FLAGS("-funswitch-loops -finline-limit=300")
|
ADD_PLATFORM_FLAGS("-funswitch-loops -finline-limit=300")
|
||||||
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -fno-strict-aliasing")
|
SET(DEBUG_CFLAGS "${DEBUG_CFLAGS} -fno-strict-aliasing")
|
||||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -fstrict-aliasing")
|
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -fstrict-aliasing")
|
||||||
ENDIF(TARGET_THUMB)
|
ENDIF()
|
||||||
ELSEIF(TARGET_X86)
|
ELSEIF(TARGET_X86)
|
||||||
# Optimizations for Intel Atom
|
# Optimizations for Intel Atom
|
||||||
ADD_PLATFORM_FLAGS("-march=i686 -mtune=atom -mstackrealign -msse3 -mfpmath=sse -m32 -flto -ffast-math -funroll-loops")
|
ADD_PLATFORM_FLAGS("-march=i686 -mtune=atom -mstackrealign -msse3 -mfpmath=sse -m32 -flto -ffast-math -funroll-loops")
|
||||||
|
@ -867,39 +887,39 @@ MACRO(NL_SETUP_BUILD)
|
||||||
ELSEIF(TARGET_MIPS)
|
ELSEIF(TARGET_MIPS)
|
||||||
ADD_PLATFORM_FLAGS("-fpic -finline-functions -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -fno-strict-aliasing")
|
ADD_PLATFORM_FLAGS("-fpic -finline-functions -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -fno-strict-aliasing")
|
||||||
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -funswitch-loops -finline-limit=300")
|
SET(RELEASE_CFLAGS "${RELEASE_CFLAGS} -funswitch-loops -finline-limit=300")
|
||||||
ENDIF(TARGET_ARM)
|
ENDIF()
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now")
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -L${PLATFORM_ROOT}/usr/lib")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -L${PLATFORM_ROOT}/usr/lib")
|
||||||
ENDIF(ANDROID)
|
ENDIF()
|
||||||
|
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
ADD_PLATFORM_FLAGS("-gdwarf-2 -D_DARWIN_UNLIMITED_STREAMS")
|
ADD_PLATFORM_FLAGS("-gdwarf-2 -D_DARWIN_UNLIMITED_STREAMS")
|
||||||
ENDIF(APPLE)
|
ENDIF()
|
||||||
|
|
||||||
# Fix "relocation R_X86_64_32 against.." error on x64 platforms
|
# Fix "relocation R_X86_64_32 against.." error on x64 platforms
|
||||||
IF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS AND NOT MINGW)
|
IF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS AND NOT MINGW)
|
||||||
ADD_PLATFORM_FLAGS("-fPIC")
|
ADD_PLATFORM_FLAGS("-fPIC")
|
||||||
ENDIF(TARGET_X64 AND WITH_STATIC AND NOT WITH_STATIC_DRIVERS AND NOT MINGW)
|
ENDIF()
|
||||||
|
|
||||||
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -ftemplate-depth-48")
|
SET(PLATFORM_CXXFLAGS "${PLATFORM_CXXFLAGS} -ftemplate-depth-48")
|
||||||
|
|
||||||
IF(NOT APPLE)
|
IF(NOT APPLE)
|
||||||
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,--no-undefined -Wl,--as-needed")
|
SET(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} -Wl,--no-undefined -Wl,--as-needed")
|
||||||
ENDIF(NOT APPLE)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SYMBOLS)
|
IF(WITH_SYMBOLS)
|
||||||
SET(NL_RELEASE_CFLAGS "${NL_RELEASE_CFLAGS} -g")
|
SET(NL_RELEASE_CFLAGS "${NL_RELEASE_CFLAGS} -g")
|
||||||
ELSE(WITH_SYMBOLS)
|
ELSE()
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
SET(NL_RELEASE_LINKFLAGS "-Wl,-dead_strip ${NL_RELEASE_LINKFLAGS}")
|
SET(NL_RELEASE_LINKFLAGS "-Wl,-dead_strip ${NL_RELEASE_LINKFLAGS}")
|
||||||
ELSE(APPLE)
|
ELSE()
|
||||||
SET(NL_RELEASE_LINKFLAGS "-Wl,-s ${NL_RELEASE_LINKFLAGS}")
|
SET(NL_RELEASE_LINKFLAGS "-Wl,-s ${NL_RELEASE_LINKFLAGS}")
|
||||||
ENDIF(APPLE)
|
ENDIF()
|
||||||
ENDIF(WITH_SYMBOLS)
|
ENDIF()
|
||||||
|
|
||||||
SET(NL_DEBUG_CFLAGS "-g -DNL_DEBUG -D_DEBUG ${NL_DEBUG_CFLAGS}")
|
SET(NL_DEBUG_CFLAGS "-g -DNL_DEBUG -D_DEBUG ${NL_DEBUG_CFLAGS}")
|
||||||
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -DNDEBUG -O3 ${NL_RELEASE_CFLAGS}")
|
SET(NL_RELEASE_CFLAGS "-DNL_RELEASE -DNDEBUG -O3 ${NL_RELEASE_CFLAGS}")
|
||||||
ENDIF(MSVC)
|
ENDIF()
|
||||||
ENDMACRO(NL_SETUP_BUILD)
|
ENDMACRO(NL_SETUP_BUILD)
|
||||||
|
|
||||||
MACRO(NL_SETUP_BUILD_FLAGS)
|
MACRO(NL_SETUP_BUILD_FLAGS)
|
||||||
|
@ -934,7 +954,7 @@ MACRO(NL_MAKE_ABSOLUTE_PREFIX NAME_RELATIVE NAME_ABSOLUTE)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(${NAME_ABSOLUTE} ${${NAME_RELATIVE}})
|
SET(${NAME_ABSOLUTE} ${${NAME_RELATIVE}})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(IS_ABSOLUTE "${${NAME_RELATIVE}}")
|
ENDIF()
|
||||||
ENDMACRO(NL_MAKE_ABSOLUTE_PREFIX)
|
ENDMACRO(NL_MAKE_ABSOLUTE_PREFIX)
|
||||||
|
|
||||||
MACRO(NL_SETUP_PREFIX_PATHS)
|
MACRO(NL_SETUP_PREFIX_PATHS)
|
||||||
|
@ -1011,7 +1031,7 @@ MACRO(RYZOM_SETUP_PREFIX_PATHS)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(RYZOM_ETC_PREFIX "." CACHE PATH "Installation path for configurations")
|
SET(RYZOM_ETC_PREFIX "." CACHE PATH "Installation path for configurations")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(NOT RYZOM_ETC_PREFIX)
|
ENDIF()
|
||||||
NL_MAKE_ABSOLUTE_PREFIX(RYZOM_ETC_PREFIX RYZOM_ETC_ABSOLUTE_PREFIX)
|
NL_MAKE_ABSOLUTE_PREFIX(RYZOM_ETC_PREFIX RYZOM_ETC_ABSOLUTE_PREFIX)
|
||||||
|
|
||||||
## Allow override of install_prefix/share path.
|
## Allow override of install_prefix/share path.
|
||||||
|
@ -1051,7 +1071,7 @@ MACRO(RYZOM_SETUP_PREFIX_PATHS)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(RYZOM_LIB_PREFIX "lib" CACHE PATH "Installation path for libraries.")
|
SET(RYZOM_LIB_PREFIX "lib" CACHE PATH "Installation path for libraries.")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(NOT RYZOM_LIB_PREFIX)
|
ENDIF()
|
||||||
NL_MAKE_ABSOLUTE_PREFIX(RYZOM_LIB_PREFIX RYZOM_LIB_ABSOLUTE_PREFIX)
|
NL_MAKE_ABSOLUTE_PREFIX(RYZOM_LIB_PREFIX RYZOM_LIB_ABSOLUTE_PREFIX)
|
||||||
|
|
||||||
## Allow override of install_prefix/games path.
|
## Allow override of install_prefix/games path.
|
||||||
|
@ -1069,7 +1089,7 @@ ENDMACRO(RYZOM_SETUP_PREFIX_PATHS)
|
||||||
MACRO(SETUP_EXTERNAL)
|
MACRO(SETUP_EXTERNAL)
|
||||||
IF(WITH_EXTERNAL)
|
IF(WITH_EXTERNAL)
|
||||||
FIND_PACKAGE(External REQUIRED)
|
FIND_PACKAGE(External REQUIRED)
|
||||||
ENDIF(WITH_EXTERNAL)
|
ENDIF()
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
FIND_PACKAGE(External REQUIRED)
|
FIND_PACKAGE(External REQUIRED)
|
||||||
|
@ -1078,8 +1098,8 @@ MACRO(SETUP_EXTERNAL)
|
||||||
IF(DEFINED BOOST_DIR)
|
IF(DEFINED BOOST_DIR)
|
||||||
SET(BOOST_INCLUDEDIR ${BOOST_DIR}/include)
|
SET(BOOST_INCLUDEDIR ${BOOST_DIR}/include)
|
||||||
SET(BOOST_LIBRARYDIR ${BOOST_DIR}/lib)
|
SET(BOOST_LIBRARYDIR ${BOOST_DIR}/lib)
|
||||||
ENDIF(DEFINED BOOST_DIR)
|
ENDIF()
|
||||||
ELSE(WIN32)
|
ELSE()
|
||||||
FIND_PACKAGE(External QUIET)
|
FIND_PACKAGE(External QUIET)
|
||||||
|
|
||||||
IF(APPLE)
|
IF(APPLE)
|
||||||
|
@ -1088,28 +1108,28 @@ MACRO(SETUP_EXTERNAL)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES .dylib .so .a)
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES .dylib .so .a)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ELSE(APPLE)
|
ELSE()
|
||||||
IF(WITH_STATIC_EXTERNAL)
|
IF(WITH_STATIC_EXTERNAL)
|
||||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES .a .so)
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES .a .so)
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(CMAKE_FIND_LIBRARY_SUFFIXES .so .a)
|
SET(CMAKE_FIND_LIBRARY_SUFFIXES .so .a)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF(APPLE)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
# Android and iOS have pthread
|
# Android and iOS have pthread
|
||||||
IF(ANDROID OR IOS)
|
IF(ANDROID OR IOS)
|
||||||
SET(CMAKE_USE_PTHREADS_INIT 1)
|
SET(CMAKE_USE_PTHREADS_INIT 1)
|
||||||
SET(Threads_FOUND TRUE)
|
SET(Threads_FOUND TRUE)
|
||||||
ELSE(ANDROID OR IOS)
|
ELSE()
|
||||||
FIND_PACKAGE(Threads REQUIRED)
|
FIND_PACKAGE(Threads REQUIRED)
|
||||||
# TODO: replace all -l<lib> by absolute path to <lib> in CMAKE_THREAD_LIBS_INIT
|
# TODO: replace all -l<lib> by absolute path to <lib> in CMAKE_THREAD_LIBS_INIT
|
||||||
ENDIF(ANDROID OR IOS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_STLPORT)
|
IF(WITH_STLPORT)
|
||||||
FIND_PACKAGE(STLport REQUIRED)
|
FIND_PACKAGE(STLport REQUIRED)
|
||||||
INCLUDE_DIRECTORIES(${STLPORT_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${STLPORT_INCLUDE_DIR})
|
||||||
ENDIF(WITH_STLPORT)
|
ENDIF()
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
# Must include DXSDK before WINSDK
|
# Must include DXSDK before WINSDK
|
||||||
|
@ -1117,10 +1137,10 @@ MACRO(SETUP_EXTERNAL)
|
||||||
# IF(DXSDK_INCLUDE_DIR)
|
# IF(DXSDK_INCLUDE_DIR)
|
||||||
# INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR})
|
# INCLUDE_DIRECTORIES(${DXSDK_INCLUDE_DIR})
|
||||||
# ENDIF()
|
# ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
FIND_PACKAGE(MSVC REQUIRED)
|
FIND_PACKAGE(MSVC REQUIRED)
|
||||||
FIND_PACKAGE(WindowsSDK REQUIRED)
|
FIND_PACKAGE(WindowsSDK REQUIRED)
|
||||||
ENDIF(MSVC)
|
ENDIF()
|
||||||
ENDMACRO(SETUP_EXTERNAL)
|
ENDMACRO(SETUP_EXTERNAL)
|
||||||
|
|
|
@ -2,23 +2,23 @@ PROJECT(NeL CXX C)
|
||||||
|
|
||||||
IF(WITH_STATIC_DRIVERS)
|
IF(WITH_STATIC_DRIVERS)
|
||||||
ADD_DEFINITIONS(-DNL_STATIC)
|
ADD_DEFINITIONS(-DNL_STATIC)
|
||||||
ENDIF(WITH_STATIC_DRIVERS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
# On Win32 we can also build the MAX plugins.
|
# On Win32 we can also build the MAX plugins.
|
||||||
IF(WITH_NEL_MAXPLUGIN)
|
IF(WITH_NEL_MAXPLUGIN)
|
||||||
FIND_PACKAGE(3dsMaxSDK)
|
FIND_PACKAGE(3dsMaxSDK)
|
||||||
ENDIF(WITH_NEL_MAXPLUGIN)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_3D)
|
IF(WITH_3D)
|
||||||
FIND_PACKAGE(FreeType)
|
FIND_PACKAGE(FreeType)
|
||||||
|
|
||||||
IF(WITH_NEL_CEGUI)
|
IF(WITH_NEL_CEGUI)
|
||||||
FIND_PACKAGE(CEGUI)
|
FIND_PACKAGE(CEGUI)
|
||||||
ENDIF(WITH_NEL_CEGUI)
|
ENDIF()
|
||||||
|
|
||||||
ENDIF(WITH_3D)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SOUND)
|
IF(WITH_SOUND)
|
||||||
FIND_PACKAGE(Ogg)
|
FIND_PACKAGE(Ogg)
|
||||||
|
@ -26,24 +26,16 @@ IF(WITH_SOUND)
|
||||||
|
|
||||||
IF(WITH_DRIVER_OPENAL)
|
IF(WITH_DRIVER_OPENAL)
|
||||||
FIND_PACKAGE(OpenAL)
|
FIND_PACKAGE(OpenAL)
|
||||||
ENDIF(WITH_DRIVER_OPENAL)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_FMOD)
|
IF(WITH_DRIVER_FMOD)
|
||||||
FIND_PACKAGE(FMOD)
|
FIND_PACKAGE(FMOD)
|
||||||
ENDIF(WITH_DRIVER_FMOD)
|
ENDIF()
|
||||||
ENDIF(WITH_SOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_GTK)
|
IF(WITH_GTK)
|
||||||
FIND_PACKAGE(GTK2)
|
FIND_PACKAGE(GTK2)
|
||||||
ENDIF(WITH_GTK)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_LIBOVR)
|
|
||||||
FIND_PACKAGE(LibOVR)
|
|
||||||
ENDIF(WITH_LIBOVR)
|
|
||||||
|
|
||||||
IF(WITH_LIBVR)
|
|
||||||
FIND_PACKAGE(LibVR)
|
|
||||||
ENDIF(WITH_LIBVR)
|
|
||||||
|
|
||||||
IF(WITH_INSTALL_LIBRARIES)
|
IF(WITH_INSTALL_LIBRARIES)
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
|
@ -61,7 +53,7 @@ IF(WITH_INSTALL_LIBRARIES)
|
||||||
CONFIGURE_FILE(nel-config.in ${CMAKE_CURRENT_BINARY_DIR}/nel-config)
|
CONFIGURE_FILE(nel-config.in ${CMAKE_CURRENT_BINARY_DIR}/nel-config)
|
||||||
|
|
||||||
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/nel-config DESTINATION ${NL_BIN_PREFIX})
|
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/nel-config DESTINATION ${NL_BIN_PREFIX})
|
||||||
ENDIF(UNIX)
|
ENDIF()
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(include)
|
ADD_SUBDIRECTORY(include)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
|
@ -61,6 +61,10 @@ public:
|
||||||
sint32 Top; // Distance between origin and top of the texture
|
sint32 Top; // Distance between origin and top of the texture
|
||||||
sint32 Left; // Distance between origin and left of the texture
|
sint32 Left; // Distance between origin and left of the texture
|
||||||
sint32 AdvX; // Advance to the next caracter
|
sint32 AdvX; // Advance to the next caracter
|
||||||
|
|
||||||
|
SLetterInfo():Char(0), FontGenerator(NULL), Size(0), Embolden(false), Oblique(false), Next(NULL), Prev(NULL), Cat(0), CharWidth(0), CharHeight(0), GlyphIndex(0), Top(0), Left(0), AdvX(0)
|
||||||
|
{
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SLetterKey
|
struct SLetterKey
|
||||||
|
@ -74,6 +78,10 @@ public:
|
||||||
uint32 getVal();
|
uint32 getVal();
|
||||||
//bool operator < (const SLetterKey&k) const;
|
//bool operator < (const SLetterKey&k) const;
|
||||||
//bool operator == (const SLetterKey&k) const;
|
//bool operator == (const SLetterKey&k) const;
|
||||||
|
|
||||||
|
SLetterKey():Char(0), FontGenerator(NULL), Size(0), Embolden(false), Oblique(false)
|
||||||
|
{
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -320,7 +320,7 @@ public:
|
||||||
// For edition: change the tileVegetableDesc. NB: only the TileVegetableDescFileName is serialised.
|
// For edition: change the tileVegetableDesc. NB: only the TileVegetableDescFileName is serialised.
|
||||||
void setTileVegetableDesc (const CTileVegetableDesc &tvd);
|
void setTileVegetableDesc (const CTileVegetableDesc &tvd);
|
||||||
/** try to load the vegetable tile desc associated with the fileName (nlinfo() if can't)
|
/** try to load the vegetable tile desc associated with the fileName (nlinfo() if can't)
|
||||||
* lookup into CPath. no-op if string=="".
|
* lookup into CPath. no-op if string empty
|
||||||
*/
|
*/
|
||||||
void loadTileVegetableDesc();
|
void loadTileVegetableDesc();
|
||||||
|
|
||||||
|
|
|
@ -2,36 +2,36 @@ SUBDIRS(misc)
|
||||||
|
|
||||||
IF(WITH_3D)
|
IF(WITH_3D)
|
||||||
SUBDIRS(3d)
|
SUBDIRS(3d)
|
||||||
ENDIF(WITH_3D)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_GUI)
|
IF(WITH_GUI)
|
||||||
ADD_SUBDIRECTORY(gui)
|
ADD_SUBDIRECTORY(gui)
|
||||||
ENDIF(WITH_GUI)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_GEORGES)
|
IF(WITH_GEORGES)
|
||||||
SUBDIRS(georges)
|
SUBDIRS(georges)
|
||||||
ENDIF(WITH_GEORGES)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_LIGO)
|
IF(WITH_LIGO)
|
||||||
SUBDIRS(ligo)
|
SUBDIRS(ligo)
|
||||||
ENDIF(WITH_LIGO)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_LOGIC)
|
IF(WITH_LOGIC)
|
||||||
SUBDIRS(logic)
|
SUBDIRS(logic)
|
||||||
ENDIF(WITH_LOGIC)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NET)
|
IF(WITH_NET)
|
||||||
SUBDIRS(net)
|
SUBDIRS(net)
|
||||||
ENDIF(WITH_NET)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SOUND)
|
IF(WITH_SOUND)
|
||||||
SUBDIRS(sound)
|
SUBDIRS(sound)
|
||||||
ENDIF(WITH_SOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_PACS)
|
IF(WITH_PACS)
|
||||||
SUBDIRS(pacs)
|
SUBDIRS(pacs)
|
||||||
ENDIF(WITH_PACS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NEL_CEGUI)
|
IF(WITH_NEL_CEGUI)
|
||||||
SUBDIRS(cegui)
|
SUBDIRS(cegui)
|
||||||
ENDIF(WITH_NEL_CEGUI)
|
ENDIF()
|
||||||
|
|
|
@ -253,6 +253,7 @@ namespace NLGUI
|
||||||
int luaEndElement(CLuaState &ls);
|
int luaEndElement(CLuaState &ls);
|
||||||
int luaShowDiv(CLuaState &ls);
|
int luaShowDiv(CLuaState &ls);
|
||||||
int luaParseHtml(CLuaState &ls);
|
int luaParseHtml(CLuaState &ls);
|
||||||
|
int luaRenderHtml(CLuaState &ls);
|
||||||
|
|
||||||
REFLECT_EXPORT_START(CGroupHTML, CGroupScrollText)
|
REFLECT_EXPORT_START(CGroupHTML, CGroupScrollText)
|
||||||
REFLECT_LUA_METHOD("browse", luaBrowse)
|
REFLECT_LUA_METHOD("browse", luaBrowse)
|
||||||
|
@ -265,6 +266,7 @@ namespace NLGUI
|
||||||
REFLECT_LUA_METHOD("endElement", luaEndElement)
|
REFLECT_LUA_METHOD("endElement", luaEndElement)
|
||||||
REFLECT_LUA_METHOD("showDiv", luaShowDiv)
|
REFLECT_LUA_METHOD("showDiv", luaShowDiv)
|
||||||
REFLECT_LUA_METHOD("parseHtml", luaParseHtml)
|
REFLECT_LUA_METHOD("parseHtml", luaParseHtml)
|
||||||
|
REFLECT_LUA_METHOD("renderHtml", luaRenderHtml)
|
||||||
REFLECT_STRING("url", getURL, setURL)
|
REFLECT_STRING("url", getURL, setURL)
|
||||||
REFLECT_FLOAT("timeout", getTimeout, setTimeout)
|
REFLECT_FLOAT("timeout", getTimeout, setTimeout)
|
||||||
REFLECT_EXPORT_END
|
REFLECT_EXPORT_END
|
||||||
|
|
|
@ -375,6 +375,12 @@ public:
|
||||||
void makeOpaque();
|
void makeOpaque();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Make fully transparent pixels (alpha 0) black.
|
||||||
|
*/
|
||||||
|
void makeTransparentPixelsBlack();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return if the bitmap has uniform alpha values for all pixels.
|
* Return if the bitmap has uniform alpha values for all pixels.
|
||||||
* \param alpha return the uniform value if return is true
|
* \param alpha return the uniform value if return is true
|
||||||
|
@ -609,7 +615,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Extended version of blit. The destinaion of the blit is 'this' bitmap
|
* Extended version of blit. The destinaion of the blit is 'this' bitmap
|
||||||
* Source and dest rect are clamped as necessary.
|
* Source and dest rect are clamped as necessary.
|
||||||
* For now, only RGBA is uspported (an asertion occurs otherwise)
|
* For now, only RGBA is supported (an asertion occurs otherwise)
|
||||||
* mipmap are not updated.
|
* mipmap are not updated.
|
||||||
* IMPORTANT : copy to self is not handled correctly
|
* IMPORTANT : copy to self is not handled correctly
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
namespace STRING_MANAGER
|
namespace STRING_MANAGER
|
||||||
{
|
{
|
||||||
const ucstring nl("\r\n");
|
const ucstring nl("\n");
|
||||||
|
|
||||||
|
|
||||||
struct TStringInfo
|
struct TStringInfo
|
||||||
|
|
|
@ -144,12 +144,10 @@ public:
|
||||||
* 16 bits encoding can be recognized by the official header :
|
* 16 bits encoding can be recognized by the official header :
|
||||||
* FF, FE, witch can be reversed if the data are MSB first.
|
* FF, FE, witch can be reversed if the data are MSB first.
|
||||||
*
|
*
|
||||||
* Optionally, you can force the reader to consider the file as
|
|
||||||
* UTF-8 encoded.
|
|
||||||
* Optionally, you can ask the reader to interpret #include commands.
|
* Optionally, you can ask the reader to interpret #include commands.
|
||||||
*/
|
*/
|
||||||
static void readTextFile(const std::string &filename,
|
static void readTextFile(const std::string &filename,
|
||||||
ucstring &result, bool forceUtf8 = false,
|
ucstring &result,
|
||||||
bool fileLookup = true,
|
bool fileLookup = true,
|
||||||
bool preprocess = false,
|
bool preprocess = false,
|
||||||
TLineFormat lineFmt = LINE_FMT_NO_CARE,
|
TLineFormat lineFmt = LINE_FMT_NO_CARE,
|
||||||
|
@ -162,11 +160,8 @@ public:
|
||||||
* EF,BB, BF.
|
* EF,BB, BF.
|
||||||
* 16 bits encoding can be recognized by the official header :
|
* 16 bits encoding can be recognized by the official header :
|
||||||
* FF, FE, witch can be reversed if the data are MSB first.
|
* FF, FE, witch can be reversed if the data are MSB first.
|
||||||
*
|
|
||||||
* Optionally, you can force the reader to consider the file as
|
|
||||||
* UTF-8 encoded.
|
|
||||||
*/
|
*/
|
||||||
static void readTextBuffer(uint8 *buffer, uint size, ucstring &result, bool forceUtf8 = false);
|
static void readTextBuffer(uint8 *buffer, uint size, ucstring &result);
|
||||||
|
|
||||||
/** Remove any C style comment from the passed string.
|
/** Remove any C style comment from the passed string.
|
||||||
*/
|
*/
|
||||||
|
@ -262,7 +257,7 @@ private:
|
||||||
|
|
||||||
/// The internal read function, it does the real job of readTextFile
|
/// The internal read function, it does the real job of readTextFile
|
||||||
static void _readTextFile(const std::string &filename,
|
static void _readTextFile(const std::string &filename,
|
||||||
ucstring &result, bool forceUtf8,
|
ucstring &result,
|
||||||
bool fileLookup,
|
bool fileLookup,
|
||||||
bool preprocess,
|
bool preprocess,
|
||||||
TLineFormat lineFmt,
|
TLineFormat lineFmt,
|
||||||
|
|
|
@ -48,7 +48,7 @@ public:
|
||||||
/// Constructor
|
/// Constructor
|
||||||
CPacsClient()
|
CPacsClient()
|
||||||
{
|
{
|
||||||
// No connexion
|
// No connection
|
||||||
_Server=NULL;
|
_Server=NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -567,7 +567,7 @@ static TCallbackItem PacsCallbackArray[] =
|
||||||
|
|
||||||
inline bool CPacsClient::connect ()
|
inline bool CPacsClient::connect ()
|
||||||
{
|
{
|
||||||
// Create a connexion
|
// Create a connection
|
||||||
_Server = new CCallbackClient;
|
_Server = new CCallbackClient;
|
||||||
|
|
||||||
// Look up for PACS service
|
// Look up for PACS service
|
||||||
|
|
|
@ -67,7 +67,7 @@ public:
|
||||||
static IAudioDecoder *createAudioDecoder(const std::string &type, NLMISC::IStream *stream, bool loop);
|
static IAudioDecoder *createAudioDecoder(const std::string &type, NLMISC::IStream *stream, bool loop);
|
||||||
|
|
||||||
/// Get information on a music file (only artist and title at the moment).
|
/// Get information on a music file (only artist and title at the moment).
|
||||||
static bool getInfo(const std::string &filepath, std::string &artist, std::string &title);
|
static bool getInfo(const std::string &filepath, std::string &artist, std::string &title, float &length);
|
||||||
|
|
||||||
/// Get audio/container extensions that are currently supported by the nel sound library.
|
/// Get audio/container extensions that are currently supported by the nel sound library.
|
||||||
static void getMusicExtensions(std::vector<std::string> &extensions);
|
static void getMusicExtensions(std::vector<std::string> &extensions);
|
||||||
|
|
|
@ -77,7 +77,7 @@ public:
|
||||||
inline sint32 getStreamOffset() { return _StreamOffset; }
|
inline sint32 getStreamOffset() { return _StreamOffset; }
|
||||||
|
|
||||||
/// Get information on a music file (only artist and title at the moment).
|
/// Get information on a music file (only artist and title at the moment).
|
||||||
static bool getInfo(NLMISC::IStream *stream, std::string &artist, std::string &title);
|
static bool getInfo(NLMISC::IStream *stream, std::string &artist, std::string &title, float &length);
|
||||||
|
|
||||||
/// Get how many bytes the music buffer requires for output minimum.
|
/// Get how many bytes the music buffer requires for output minimum.
|
||||||
virtual uint32 getRequiredBytes();
|
virtual uint32 getRequiredBytes();
|
||||||
|
|
|
@ -332,7 +332,7 @@ public:
|
||||||
virtual bool isMusicEnded();
|
virtual bool isMusicEnded();
|
||||||
virtual void setMusicVolume(float gain);
|
virtual void setMusicVolume(float gain);
|
||||||
virtual float getMusicLength();
|
virtual float getMusicLength();
|
||||||
virtual bool getSongTitle(const std::string &filename, std::string &result);
|
virtual bool getSongTitle(const std::string &filename, std::string &result, float &length);
|
||||||
virtual void enableBackgroundMusic(bool enable);
|
virtual void enableBackgroundMusic(bool enable);
|
||||||
virtual void enableBackgroundMusicTimeConstraint(bool enable);
|
virtual void enableBackgroundMusicTimeConstraint(bool enable);
|
||||||
CMusicSoundManager *getBackgroundMusicManager() const {return _BackgroundMusicManager;}
|
CMusicSoundManager *getBackgroundMusicManager() const {return _BackgroundMusicManager;}
|
||||||
|
|
|
@ -192,7 +192,7 @@ public:
|
||||||
* \param artist returns the song artist (empty if not available)
|
* \param artist returns the song artist (empty if not available)
|
||||||
* \param title returns the title (empty if not available)
|
* \param title returns the title (empty if not available)
|
||||||
*/
|
*/
|
||||||
virtual bool getMusicInfo(const std::string &/* filepath */, std::string &artist, std::string &title) { artist.clear(); title.clear(); return false; }
|
virtual bool getMusicInfo(const std::string &/* filepath */, std::string &artist, std::string &title, float &length) { artist.clear(); title.clear(); length = 0.f; return false; }
|
||||||
/// Get audio/container extensions that are supported natively by the driver implementation.
|
/// Get audio/container extensions that are supported natively by the driver implementation.
|
||||||
virtual void getMusicExtensions(std::vector<std::string> &extensions) const = 0;
|
virtual void getMusicExtensions(std::vector<std::string> &extensions) const = 0;
|
||||||
/// Return if a music extension is supported by the driver's music channel.
|
/// Return if a music extension is supported by the driver's music channel.
|
||||||
|
|
|
@ -432,7 +432,7 @@ public:
|
||||||
/** Get the song title. Returns false if the song is not found or the function is not implemented.
|
/** Get the song title. Returns false if the song is not found or the function is not implemented.
|
||||||
* If the song as no name, result is filled with the filename.
|
* If the song as no name, result is filled with the filename.
|
||||||
*/
|
*/
|
||||||
virtual bool getSongTitle(const std::string &filename, std::string &result) =0;
|
virtual bool getSongTitle(const std::string &filename, std::string &result, float &length) =0;
|
||||||
/** enable or disable the background music system. disable it when you want to play your own mp3 for instance
|
/** enable or disable the background music system. disable it when you want to play your own mp3 for instance
|
||||||
*/
|
*/
|
||||||
virtual void enableBackgroundMusic(bool enable) =0;
|
virtual void enableBackgroundMusic(bool enable) =0;
|
||||||
|
|
|
@ -4,8 +4,8 @@ ADD_SUBDIRECTORY(shape_viewer)
|
||||||
|
|
||||||
IF(WITH_NEL_CEGUI)
|
IF(WITH_NEL_CEGUI)
|
||||||
ADD_SUBDIRECTORY(cegui)
|
ADD_SUBDIRECTORY(cegui)
|
||||||
ENDIF(WITH_NEL_CEGUI)
|
ENDIF()
|
||||||
|
|
||||||
#IF(WITH_QT)
|
#IF(WITH_QT)
|
||||||
# ADD_SUBDIRECTORY(qtnel)
|
# ADD_SUBDIRECTORY(qtnel)
|
||||||
#ENDIF(WITH_QT)
|
#ENDIF()
|
||||||
|
|
|
@ -2,20 +2,20 @@ ADD_SUBDIRECTORY(misc)
|
||||||
|
|
||||||
IF(WITH_3D)
|
IF(WITH_3D)
|
||||||
ADD_SUBDIRECTORY(3d)
|
ADD_SUBDIRECTORY(3d)
|
||||||
ENDIF(WITH_3D)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_GEORGES)
|
IF(WITH_GEORGES)
|
||||||
ADD_SUBDIRECTORY(georges)
|
ADD_SUBDIRECTORY(georges)
|
||||||
ENDIF(WITH_GEORGES)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NET)
|
IF(WITH_NET)
|
||||||
ADD_SUBDIRECTORY(net)
|
ADD_SUBDIRECTORY(net)
|
||||||
ENDIF(WITH_NET)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_PACS)
|
IF(WITH_PACS)
|
||||||
ADD_SUBDIRECTORY(pacs)
|
ADD_SUBDIRECTORY(pacs)
|
||||||
ENDIF(WITH_PACS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SOUND)
|
IF(WITH_SOUND)
|
||||||
ADD_SUBDIRECTORY(sound)
|
ADD_SUBDIRECTORY(sound)
|
||||||
ENDIF(WITH_SOUND)
|
ENDIF()
|
||||||
|
|
|
@ -8,7 +8,7 @@ ADD_DEFINITIONS(-DUDP_DIR="\\"${NL_SHARE_ABSOLUTE_PREFIX}/nl_sample_udp/\\"")
|
||||||
|
|
||||||
IF(WITH_3D)
|
IF(WITH_3D)
|
||||||
ADD_DEFINITIONS(-DUSE_3D)
|
ADD_DEFINITIONS(-DUSE_3D)
|
||||||
ENDIF(WITH_3D)
|
ENDIF()
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_udpclient nelmisc nelnet nel3d)
|
TARGET_LINK_LIBRARIES(nl_sample_udpclient nelmisc nelnet nel3d)
|
||||||
TARGET_LINK_LIBRARIES(nl_sample_udpserver nelmisc nelnet)
|
TARGET_LINK_LIBRARIES(nl_sample_udpserver nelmisc nelnet)
|
||||||
|
@ -22,4 +22,4 @@ INSTALL(FILES bench_service.cfg client.cfg readme.txt DESTINATION ${NL_SHARE_PRE
|
||||||
|
|
||||||
IF(WITH_3D)
|
IF(WITH_3D)
|
||||||
INSTALL(FILES n019003l.pfb DESTINATION ${NL_SHARE_PREFIX}/nl_sample_udp COMPONENT samplesnet)
|
INSTALL(FILES n019003l.pfb DESTINATION ${NL_SHARE_PREFIX}/nl_sample_udp COMPONENT samplesnet)
|
||||||
ENDIF(WITH_3D)
|
ENDIF()
|
||||||
|
|
|
@ -730,12 +730,12 @@ ADD_DEFINITIONS(${LIBVR_DEFINITIONS})
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nel3d ${CMAKE_CURRENT_SOURCE_DIR}/std3d.h ${CMAKE_CURRENT_SOURCE_DIR}/std3d.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nel3d ${CMAKE_CURRENT_SOURCE_DIR}/std3d.h ${CMAKE_CURRENT_SOURCE_DIR}/std3d.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
NL_GEN_PC(nel-3d.pc)
|
NL_GEN_PC(nel-3d.pc)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nel3d LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nel3d LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(driver)
|
ADD_SUBDIRECTORY(driver)
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
IF(WITH_DRIVER_OPENGL)
|
IF(WITH_DRIVER_OPENGL)
|
||||||
ADD_SUBDIRECTORY(opengl)
|
ADD_SUBDIRECTORY(opengl)
|
||||||
ENDIF(WITH_DRIVER_OPENGL)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_OPENGLES)
|
IF(WITH_DRIVER_OPENGLES)
|
||||||
ADD_SUBDIRECTORY(opengles)
|
ADD_SUBDIRECTORY(opengles)
|
||||||
ENDIF(WITH_DRIVER_OPENGLES)
|
ENDIF()
|
||||||
|
|
||||||
IF(WIN32)
|
IF(WIN32)
|
||||||
IF(WITH_DRIVER_DIRECT3D)
|
IF(WITH_DRIVER_DIRECT3D)
|
||||||
ADD_SUBDIRECTORY(direct3d)
|
ADD_SUBDIRECTORY(direct3d)
|
||||||
ENDIF(WITH_DRIVER_DIRECT3D)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
|
@ -2267,7 +2267,10 @@ bool CDriverD3D::getCurrentScreenMode(GfxMode &gfxMode)
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CDriverD3D::setWindowTitle(const ucstring &title)
|
void CDriverD3D::setWindowTitle(const ucstring &title)
|
||||||
{
|
{
|
||||||
SetWindowTextW(_HWnd,(WCHAR*)title.c_str());
|
if (!SetWindowTextW(_HWnd, (WCHAR*)title.c_str()))
|
||||||
|
{
|
||||||
|
nlwarning("SetWindowText failed: %s", formatErrorMessage(getLastError()).c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
|
|
@ -33,7 +33,7 @@ extern "C" {
|
||||||
** used to make the header, and the header can be found at
|
** used to make the header, and the header can be found at
|
||||||
** http://www.opengl.org/registry/
|
** http://www.opengl.org/registry/
|
||||||
**
|
**
|
||||||
** Khronos $Revision: 32957 $ on $Date: 2016-06-09 17:03:08 -0400 (Thu, 09 Jun 2016) $
|
** Khronos $Revision: 33061 $ on $Date: 2016-07-14 20:14:13 -0400 (Thu, 14 Jul 2016) $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
|
||||||
|
@ -53,7 +53,7 @@ extern "C" {
|
||||||
#define GLAPI extern
|
#define GLAPI extern
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GL_GLEXT_VERSION 20160609
|
#define GL_GLEXT_VERSION 20160714
|
||||||
|
|
||||||
/* Generated C header for:
|
/* Generated C header for:
|
||||||
* API: gl
|
* API: gl
|
||||||
|
@ -4657,8 +4657,13 @@ GLAPI void APIENTRY glVertexBlendARB (GLint count);
|
||||||
|
|
||||||
#ifndef GL_ARB_vertex_buffer_object
|
#ifndef GL_ARB_vertex_buffer_object
|
||||||
#define GL_ARB_vertex_buffer_object 1
|
#define GL_ARB_vertex_buffer_object 1
|
||||||
|
#if defined(__APPLE__)
|
||||||
|
typedef intptr_t GLsizeiptrARB;
|
||||||
|
typedef intptr_t GLintptrARB;
|
||||||
|
#else
|
||||||
typedef ptrdiff_t GLsizeiptrARB;
|
typedef ptrdiff_t GLsizeiptrARB;
|
||||||
typedef ptrdiff_t GLintptrARB;
|
typedef ptrdiff_t GLintptrARB;
|
||||||
|
#endif
|
||||||
#define GL_BUFFER_SIZE_ARB 0x8764
|
#define GL_BUFFER_SIZE_ARB 0x8764
|
||||||
#define GL_BUFFER_USAGE_ARB 0x8765
|
#define GL_BUFFER_USAGE_ARB 0x8765
|
||||||
#define GL_ARRAY_BUFFER_ARB 0x8892
|
#define GL_ARRAY_BUFFER_ARB 0x8892
|
||||||
|
@ -8831,6 +8836,11 @@ GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum sfactorRGB, GLenum dfactorRG
|
||||||
#define GL_INTERLACE_READ_INGR 0x8568
|
#define GL_INTERLACE_READ_INGR 0x8568
|
||||||
#endif /* GL_INGR_interlace_read */
|
#endif /* GL_INGR_interlace_read */
|
||||||
|
|
||||||
|
#ifndef GL_INTEL_conservative_rasterization
|
||||||
|
#define GL_INTEL_conservative_rasterization 1
|
||||||
|
#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE
|
||||||
|
#endif /* GL_INTEL_conservative_rasterization */
|
||||||
|
|
||||||
#ifndef GL_INTEL_fragment_shader_ordering
|
#ifndef GL_INTEL_fragment_shader_ordering
|
||||||
#define GL_INTEL_fragment_shader_ordering 1
|
#define GL_INTEL_fragment_shader_ordering 1
|
||||||
#endif /* GL_INTEL_fragment_shader_ordering */
|
#endif /* GL_INTEL_fragment_shader_ordering */
|
||||||
|
|
|
@ -196,18 +196,6 @@ CDriverGL::CDriverGL()
|
||||||
_backBufferHeight = 0;
|
_backBufferHeight = 0;
|
||||||
_backBufferWidth = 0;
|
_backBufferWidth = 0;
|
||||||
|
|
||||||
// autorelease pool for memory management
|
|
||||||
_autoreleasePool = [[NSAutoreleasePool alloc] init];
|
|
||||||
|
|
||||||
// init the application object
|
|
||||||
[NSApplication sharedApplication];
|
|
||||||
|
|
||||||
// create the menu in the top screen bar
|
|
||||||
setupApplicationMenu();
|
|
||||||
|
|
||||||
// finish the application launching
|
|
||||||
[NSApp finishLaunching];
|
|
||||||
|
|
||||||
#elif defined (NL_OS_UNIX)
|
#elif defined (NL_OS_UNIX)
|
||||||
|
|
||||||
_dpy = 0;
|
_dpy = 0;
|
||||||
|
@ -373,10 +361,6 @@ CDriverGL::~CDriverGL()
|
||||||
{
|
{
|
||||||
H_AUTO_OGL(CDriverGL_CDriverGLDtor)
|
H_AUTO_OGL(CDriverGL_CDriverGLDtor)
|
||||||
release();
|
release();
|
||||||
|
|
||||||
#if defined(NL_OS_MAC)
|
|
||||||
[_autoreleasePool release];
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// --------------------------------------------------
|
// --------------------------------------------------
|
||||||
|
@ -638,7 +622,7 @@ bool CDriverGL::setupDisplay()
|
||||||
checkForPerPixelLightingSupport();
|
checkForPerPixelLightingSupport();
|
||||||
|
|
||||||
#ifndef USE_OPENGLES
|
#ifndef USE_OPENGLES
|
||||||
// if EXTVertexShader is used, bind the standard GL arrays, and allocate constant
|
// if EXTVertexShader is used, bind the standard GL arrays, and allocate constant
|
||||||
if (!_Extensions.NVVertexProgram && !_Extensions.ARBVertexProgram && _Extensions.EXTVertexShader)
|
if (!_Extensions.NVVertexProgram && !_Extensions.ARBVertexProgram && _Extensions.EXTVertexShader)
|
||||||
{
|
{
|
||||||
_EVSPositionHandle = nglBindParameterEXT(GL_CURRENT_VERTEX_EXT);
|
_EVSPositionHandle = nglBindParameterEXT(GL_CURRENT_VERTEX_EXT);
|
||||||
|
@ -942,13 +926,6 @@ bool CDriverGL::swapBuffers()
|
||||||
|
|
||||||
#elif defined(NL_OS_MAC)
|
#elif defined(NL_OS_MAC)
|
||||||
|
|
||||||
// TODO: maybe do this somewhere else?
|
|
||||||
if(_DestroyWindow)
|
|
||||||
{
|
|
||||||
[_autoreleasePool release];
|
|
||||||
_autoreleasePool = [[NSAutoreleasePool alloc] init];
|
|
||||||
}
|
|
||||||
|
|
||||||
[_ctx flushBuffer];
|
[_ctx flushBuffer];
|
||||||
|
|
||||||
#elif defined (NL_OS_UNIX)
|
#elif defined (NL_OS_UNIX)
|
||||||
|
|
|
@ -1676,7 +1676,7 @@ void registerGlExtensions(CGlExtensions &ext)
|
||||||
// Check pixel program
|
// Check pixel program
|
||||||
// Disable feature ???
|
// Disable feature ???
|
||||||
if (!ext.DisableHardwarePixelProgram)
|
if (!ext.DisableHardwarePixelProgram)
|
||||||
{
|
{
|
||||||
ext.ARBFragmentProgram = setupARBFragmentProgram(glext);
|
ext.ARBFragmentProgram = setupARBFragmentProgram(glext);
|
||||||
ext.NVFragmentProgram2 = setupNVFragmentProgram2(glext);
|
ext.NVFragmentProgram2 = setupNVFragmentProgram2(glext);
|
||||||
ext.ARBFragmentShader = setupARBFragmentShader(glext);
|
ext.ARBFragmentShader = setupARBFragmentShader(glext);
|
||||||
|
@ -1685,6 +1685,7 @@ void registerGlExtensions(CGlExtensions &ext)
|
||||||
{
|
{
|
||||||
ext.ARBFragmentProgram = false;
|
ext.ARBFragmentProgram = false;
|
||||||
ext.NVFragmentProgram2 = false;
|
ext.NVFragmentProgram2 = false;
|
||||||
|
ext.ARBFragmentShader = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ext.OESDrawTexture = setupOESDrawTexture(glext);
|
ext.OESDrawTexture = setupOESDrawTexture(glext);
|
||||||
|
|
|
@ -343,9 +343,14 @@ bool CDriverGL::init (uintptr_t windowIcon, emptyProc exitFunc)
|
||||||
retrieveATIDriverVersion();
|
retrieveATIDriverVersion();
|
||||||
#elif defined(NL_OS_MAC)
|
#elif defined(NL_OS_MAC)
|
||||||
|
|
||||||
// nothing to do
|
|
||||||
nlunreferenced(windowIcon);
|
nlunreferenced(windowIcon);
|
||||||
|
|
||||||
|
// autorelease pool for memory management
|
||||||
|
_autoreleasePool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
|
// init the application object
|
||||||
|
[NSApplication sharedApplication];
|
||||||
|
|
||||||
#elif defined (NL_OS_UNIX)
|
#elif defined (NL_OS_UNIX)
|
||||||
|
|
||||||
nlunreferenced(windowIcon);
|
nlunreferenced(windowIcon);
|
||||||
|
@ -485,7 +490,7 @@ bool CDriverGL::unInit()
|
||||||
|
|
||||||
#elif defined(NL_OS_MAC)
|
#elif defined(NL_OS_MAC)
|
||||||
|
|
||||||
// nothing to do
|
[_autoreleasePool release];
|
||||||
|
|
||||||
#elif defined (NL_OS_UNIX)
|
#elif defined (NL_OS_UNIX)
|
||||||
|
|
||||||
|
@ -1454,7 +1459,7 @@ bool CDriverGL::createWindow(const GfxMode &mode)
|
||||||
pos = 0;
|
pos = 0;
|
||||||
hwndParent = NULL;
|
hwndParent = NULL;
|
||||||
}
|
}
|
||||||
window = CreateWindowW(L"NLClass", L"NeL Window", dwStyle,
|
window = CreateWindowW(L"NLClass", L"NeL Window", dwStyle,
|
||||||
pos, pos, mode.Width, mode.Height, hwndParent, NULL, GetModuleHandle(NULL), NULL);
|
pos, pos, mode.Width, mode.Height, hwndParent, NULL, GetModuleHandle(NULL), NULL);
|
||||||
|
|
||||||
if (window == EmptyWindow)
|
if (window == EmptyWindow)
|
||||||
|
@ -1466,6 +1471,12 @@ bool CDriverGL::createWindow(const GfxMode &mode)
|
||||||
|
|
||||||
#elif defined(NL_OS_MAC)
|
#elif defined(NL_OS_MAC)
|
||||||
|
|
||||||
|
// create the menu in the top screen bar
|
||||||
|
setupApplicationMenu();
|
||||||
|
|
||||||
|
// finish the application launching
|
||||||
|
[NSApp finishLaunching];
|
||||||
|
|
||||||
// describe how the window should look like and behave
|
// describe how the window should look like and behave
|
||||||
unsigned int styleMask = NSTitledWindowMask | NSClosableWindowMask |
|
unsigned int styleMask = NSTitledWindowMask | NSClosableWindowMask |
|
||||||
NSMiniaturizableWindowMask | NSResizableWindowMask;
|
NSMiniaturizableWindowMask | NSResizableWindowMask;
|
||||||
|
@ -1642,6 +1653,7 @@ bool CDriverGL::destroyWindow()
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(NL_OS_MAC)
|
#elif defined(NL_OS_MAC)
|
||||||
|
|
||||||
#elif defined(NL_OS_UNIX)
|
#elif defined(NL_OS_UNIX)
|
||||||
|
|
||||||
if (_DestroyWindow && _ctx) // FIXME: _DestroyWindow may need to be removed here as well
|
if (_DestroyWindow && _ctx) // FIXME: _DestroyWindow may need to be removed here as well
|
||||||
|
@ -2299,7 +2311,10 @@ void CDriverGL::setWindowTitle(const ucstring &title)
|
||||||
|
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
|
|
||||||
SetWindowTextW(_win, (WCHAR*)title.c_str());
|
if (!SetWindowTextW(_win, (WCHAR*)title.c_str()))
|
||||||
|
{
|
||||||
|
nlwarning("SetWindowText failed: %s", formatErrorMessage(getLastError()).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
#elif defined(NL_OS_MAC)
|
#elif defined(NL_OS_MAC)
|
||||||
|
|
||||||
|
|
|
@ -153,9 +153,9 @@ bool CCocoaEventEmitter::pasteTextFromClipboard(ucstring &text)
|
||||||
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
|
NSPasteboard *pasteboard = [NSPasteboard generalPasteboard];
|
||||||
NSArray *classArray = [NSArray arrayWithObject:[NSString class]];
|
NSArray *classArray = [NSArray arrayWithObject:[NSString class]];
|
||||||
NSDictionary *options = [NSDictionary dictionary];
|
NSDictionary *options = [NSDictionary dictionary];
|
||||||
|
|
||||||
BOOL ok = [pasteboard canReadObjectForClasses:classArray options:options];
|
BOOL ok = [pasteboard canReadObjectForClasses:classArray options:options];
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
NSArray *objectsToPaste = [pasteboard readObjectsForClasses:classArray options:options];
|
NSArray *objectsToPaste = [pasteboard readObjectsForClasses:classArray options:options];
|
||||||
NSString *nstext = [objectsToPaste objectAtIndex:0];
|
NSString *nstext = [objectsToPaste objectAtIndex:0];
|
||||||
|
@ -264,8 +264,8 @@ bool CCocoaEventEmitter::processMessage(NSEvent* event, CEventServer* server)
|
||||||
mousePos.y /= (float)viewRect.size.height;
|
mousePos.y /= (float)viewRect.size.height;
|
||||||
|
|
||||||
// if the mouse event was placed outside the view, don't tell NeL :)
|
// if the mouse event was placed outside the view, don't tell NeL :)
|
||||||
if((mousePos.x < 0.0 || mousePos.x > 1.0 ||
|
if((mousePos.x < 0.0 || mousePos.x > 1.0 ||
|
||||||
mousePos.y < 0.0 || mousePos.y > 1.0) &&
|
mousePos.y < 0.0 || mousePos.y > 1.0) &&
|
||||||
event.type != NSKeyDown && event.type != NSKeyUp)
|
event.type != NSKeyDown && event.type != NSKeyUp)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -415,7 +415,7 @@ typedef bool (*cocoaProc)(NL3D::IDriver*, const void* e);
|
||||||
|
|
||||||
void CCocoaEventEmitter::submitEvents(CEventServer& server, bool /* allWins */)
|
void CCocoaEventEmitter::submitEvents(CEventServer& server, bool /* allWins */)
|
||||||
{
|
{
|
||||||
// break if there was no event to handle
|
// break if there was no event to handle
|
||||||
// if running embedded in e.g. qt, _eventLoop will be false
|
// if running embedded in e.g. qt, _eventLoop will be false
|
||||||
while(_eventLoop)
|
while(_eventLoop)
|
||||||
{
|
{
|
||||||
|
@ -442,8 +442,15 @@ void CCocoaEventEmitter::submitEvents(CEventServer& server, bool /* allWins */)
|
||||||
processMessage(event, &server);
|
processMessage(event, &server);
|
||||||
}
|
}
|
||||||
|
|
||||||
// forward the event to the cocoa application
|
@try
|
||||||
[NSApp sendEvent:event];
|
{
|
||||||
|
// forward the event to the cocoa application
|
||||||
|
[NSApp sendEvent:event];
|
||||||
|
}
|
||||||
|
@catch(NSException *e)
|
||||||
|
{
|
||||||
|
nlwarning("Exception when sending event: %s", [[e reason] UTF8String]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_server = &server;
|
_server = &server;
|
||||||
|
|
|
@ -457,7 +457,7 @@ CFontGenerator::CFontGenerator (const std::string &fontFileName, const std::stri
|
||||||
nlerror ("FT_New_Face() failed with file '%s': %s", fontFileName.c_str(), getFT2Error(error));
|
nlerror ("FT_New_Face() failed with file '%s': %s", fontFileName.c_str(), getFT2Error(error));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fontExFileName != "")
|
if (!fontExFileName.empty())
|
||||||
{
|
{
|
||||||
error = FT_Attach_File (_Face, fontExFileName.c_str ());
|
error = FT_Attach_File (_Face, fontExFileName.c_str ());
|
||||||
if (error)
|
if (error)
|
||||||
|
|
|
@ -1831,9 +1831,9 @@ void CLandscape::loadTile(uint16 tileId)
|
||||||
if(tile)
|
if(tile)
|
||||||
textName= tile->getRelativeFileName(CTile::additive);
|
textName= tile->getRelativeFileName(CTile::additive);
|
||||||
else
|
else
|
||||||
textName= "";
|
textName.clear();
|
||||||
// If no additive for this tile, rdrpass is NULL.
|
// If no additive for this tile, rdrpass is NULL.
|
||||||
if(textName=="")
|
if(textName.empty())
|
||||||
tileInfo->AdditiveRdrPass= NULL;
|
tileInfo->AdditiveRdrPass= NULL;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1844,7 +1844,7 @@ void CLandscape::loadTile(uint16 tileId)
|
||||||
|
|
||||||
// We may have an alpha part for additive.
|
// We may have an alpha part for additive.
|
||||||
textName= tile->getRelativeFileName (CTile::alpha);
|
textName= tile->getRelativeFileName (CTile::alpha);
|
||||||
if(textName!="")
|
if(!textName.empty())
|
||||||
// Must Use clamp for alpha (although NVidia drivers are buggy), because the texture doesn't tile at all
|
// Must Use clamp for alpha (although NVidia drivers are buggy), because the texture doesn't tile at all
|
||||||
pass.TextureAlpha= findTileTexture(TileBank.getAbsPath()+textName, true);
|
pass.TextureAlpha= findTileTexture(TileBank.getAbsPath()+textName, true);
|
||||||
|
|
||||||
|
@ -1866,7 +1866,7 @@ void CLandscape::loadTile(uint16 tileId)
|
||||||
if(tile)
|
if(tile)
|
||||||
{
|
{
|
||||||
textName= tile->getRelativeFileName(CTile::diffuse);
|
textName= tile->getRelativeFileName(CTile::diffuse);
|
||||||
if(textName!="")
|
if(!textName.empty())
|
||||||
// Avoid using Clamp for diffuse, because of recent NVidia GL drivers Bugs in 77.72
|
// Avoid using Clamp for diffuse, because of recent NVidia GL drivers Bugs in 77.72
|
||||||
pass.TextureDiffuse= findTileTexture(TileBank.getAbsPath()+textName, false);
|
pass.TextureDiffuse= findTileTexture(TileBank.getAbsPath()+textName, false);
|
||||||
else
|
else
|
||||||
|
@ -1880,7 +1880,7 @@ void CLandscape::loadTile(uint16 tileId)
|
||||||
if(tile)
|
if(tile)
|
||||||
{
|
{
|
||||||
textName= tile->getRelativeFileName (CTile::alpha);
|
textName= tile->getRelativeFileName (CTile::alpha);
|
||||||
if(textName!="")
|
if(!textName.empty())
|
||||||
// Must Use clamp for alpha (although NVidia drivers are buggy), because the texture doesn't tile at all
|
// Must Use clamp for alpha (although NVidia drivers are buggy), because the texture doesn't tile at all
|
||||||
pass.TextureAlpha= findTileTexture(TileBank.getAbsPath()+textName, true);
|
pass.TextureAlpha= findTileTexture(TileBank.getAbsPath()+textName, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -213,9 +213,9 @@ void CLandscapeUser::refreshAllZonesAround(const CVector &pos, float radius, std
|
||||||
refreshZonesAround (pos, radius, za, zr);
|
refreshZonesAround (pos, radius, za, zr);
|
||||||
|
|
||||||
// some zone added or removed??
|
// some zone added or removed??
|
||||||
if(za != "")
|
if(!za.empty())
|
||||||
zonesAdded.push_back(za);
|
zonesAdded.push_back(za);
|
||||||
if(zr != "")
|
if(!zr.empty())
|
||||||
zonesRemoved.push_back(zr);
|
zonesRemoved.push_back(zr);
|
||||||
|
|
||||||
_ZoneManager.checkZonesAround ((uint)pos.x, (uint)(-pos.y), (uint)radius);
|
_ZoneManager.checkZonesAround ((uint)pos.x, (uint)(-pos.y), (uint)radius);
|
||||||
|
|
|
@ -174,7 +174,7 @@ UInstanceGroup *CLandscapeIGManager::loadZoneIG(const std::string &name)
|
||||||
{
|
{
|
||||||
NL3D_HAUTO_LAND_MNGR_LOAD_ZONEIG
|
NL3D_HAUTO_LAND_MNGR_LOAD_ZONEIG
|
||||||
|
|
||||||
if(name=="")
|
if(name.empty())
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
// try to find this InstanceGroup.
|
// try to find this InstanceGroup.
|
||||||
|
@ -232,7 +232,7 @@ void CLandscapeIGManager::unloadArrayZoneIG(const std::vector<std::string> &name
|
||||||
void CLandscapeIGManager::unloadZoneIG(const std::string &name)
|
void CLandscapeIGManager::unloadZoneIG(const std::string &name)
|
||||||
{
|
{
|
||||||
NL3D_HAUTO_LAND_MNGR_UNLOAD_ZONEIG
|
NL3D_HAUTO_LAND_MNGR_UNLOAD_ZONEIG
|
||||||
if(name=="")
|
if(name.empty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// try to find this InstanceGroup.
|
// try to find this InstanceGroup.
|
||||||
|
@ -255,7 +255,7 @@ void CLandscapeIGManager::unloadZoneIG(const std::string &name)
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
bool CLandscapeIGManager::isIGAddedToScene(const std::string &name) const
|
bool CLandscapeIGManager::isIGAddedToScene(const std::string &name) const
|
||||||
{
|
{
|
||||||
if(name=="")
|
if(name.empty())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// try to find this InstanceGroup.
|
// try to find this InstanceGroup.
|
||||||
|
@ -272,7 +272,7 @@ bool CLandscapeIGManager::isIGAddedToScene(const std::string &name) const
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
UInstanceGroup *CLandscapeIGManager::getIG(const std::string &name) const
|
UInstanceGroup *CLandscapeIGManager::getIG(const std::string &name) const
|
||||||
{
|
{
|
||||||
if(name=="")
|
if(name.empty())
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
// try to find this InstanceGroup.
|
// try to find this InstanceGroup.
|
||||||
|
|
|
@ -451,7 +451,6 @@ void CInstanceGroup::serial (NLMISC::IStream& f)
|
||||||
_PointLightArray.clear();
|
_PointLightArray.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (version >= 2)
|
if (version >= 2)
|
||||||
f.serial(_GlobalPos);
|
f.serial(_GlobalPos);
|
||||||
|
|
||||||
|
@ -574,10 +573,11 @@ bool CInstanceGroup::addToScene (CScene& scene, IDriver *driver, uint selectedTe
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_Instances[i] = scene.createInstance (shapeName);
|
_Instances[i] = scene.createInstance (shapeName);
|
||||||
}
|
|
||||||
if( _Instances[i] == NULL )
|
if (_Instances[i] == NULL)
|
||||||
{
|
{
|
||||||
nlwarning("Not found '%s' file", shapeName.c_str());
|
nlwarning("Not found '%s' file", shapeName.c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1121,7 +1121,7 @@ void CInstanceGroup::setClusterSystemForInstances(CInstanceGroup *pIG)
|
||||||
void CInstanceGroup::getDynamicPortals (std::vector<std::string> &names)
|
void CInstanceGroup::getDynamicPortals (std::vector<std::string> &names)
|
||||||
{
|
{
|
||||||
for (uint32 i = 0; i < _Portals.size(); ++i)
|
for (uint32 i = 0; i < _Portals.size(); ++i)
|
||||||
if (_Portals[i].getName() != "")
|
if (!_Portals[i].getName().empty())
|
||||||
names.push_back (_Portals[i].getName());
|
names.push_back (_Portals[i].getName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -264,7 +264,7 @@ sint CTileBank::getNumBitmap (CTile::TBitmap bitmap) const
|
||||||
if (!_TileVector[i].isFree())
|
if (!_TileVector[i].isFree())
|
||||||
{
|
{
|
||||||
const std::string &str=_TileVector[i].getRelativeFileName (bitmap);
|
const std::string &str=_TileVector[i].getRelativeFileName (bitmap);
|
||||||
if (str!="")
|
if (!str.empty())
|
||||||
{
|
{
|
||||||
std::vector<char> vect (str.length()+1);
|
std::vector<char> vect (str.length()+1);
|
||||||
memcpy (&*vect.begin(), str.c_str(), str.length()+1);
|
memcpy (&*vect.begin(), str.c_str(), str.length()+1);
|
||||||
|
@ -583,7 +583,7 @@ void CTileBank::removeDisplacementMap (uint mapId)
|
||||||
if (mapId==_DisplacementMap.size()-1)
|
if (mapId==_DisplacementMap.size()-1)
|
||||||
{
|
{
|
||||||
// Resize the array ?
|
// Resize the array ?
|
||||||
while ((mapId>0)&&(_DisplacementMap[mapId]._FileName==""))
|
while ((mapId>0)&&(_DisplacementMap[mapId]._FileName.empty()))
|
||||||
_DisplacementMap.resize (mapId--);
|
_DisplacementMap.resize (mapId--);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -608,7 +608,7 @@ uint CTileBank::getDisplacementMap (const string &fileName)
|
||||||
for (noiseTile=0; noiseTile<_DisplacementMap.size(); noiseTile++)
|
for (noiseTile=0; noiseTile<_DisplacementMap.size(); noiseTile++)
|
||||||
{
|
{
|
||||||
// Same name ?
|
// Same name ?
|
||||||
if (_DisplacementMap[noiseTile]._FileName=="")
|
if (_DisplacementMap[noiseTile]._FileName.empty())
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (noiseTile==_DisplacementMap.size())
|
if (noiseTile==_DisplacementMap.size())
|
||||||
|
@ -1433,7 +1433,7 @@ void CTileSet::deleteBordersIfLast (const CTileBank& bank, CTile::TBitmap type)
|
||||||
while (ite!=_Tile128.end())
|
while (ite!=_Tile128.end())
|
||||||
{
|
{
|
||||||
// If the file name is valid
|
// If the file name is valid
|
||||||
if (bank.getTile (*ite)->getRelativeFileName(type)!="")
|
if (!bank.getTile (*ite)->getRelativeFileName(type).empty())
|
||||||
{
|
{
|
||||||
// Don't delete,
|
// Don't delete,
|
||||||
bDelete=false;
|
bDelete=false;
|
||||||
|
@ -1450,7 +1450,7 @@ void CTileSet::deleteBordersIfLast (const CTileBank& bank, CTile::TBitmap type)
|
||||||
while (ite!=_Tile256.end())
|
while (ite!=_Tile256.end())
|
||||||
{
|
{
|
||||||
// If the file name is valid
|
// If the file name is valid
|
||||||
if (bank.getTile (*ite)->getRelativeFileName(type)!="")
|
if (!bank.getTile (*ite)->getRelativeFileName(type).empty())
|
||||||
{
|
{
|
||||||
// Don't delete,
|
// Don't delete,
|
||||||
bDelete=false;
|
bDelete=false;
|
||||||
|
@ -1474,7 +1474,7 @@ void CTileSet::deleteBordersIfLast (const CTileBank& bank, CTile::TBitmap type)
|
||||||
if (nTile!=-1)
|
if (nTile!=-1)
|
||||||
{
|
{
|
||||||
// If the file name is valid
|
// If the file name is valid
|
||||||
if (bank.getTile (nTile)->getRelativeFileName(type)!="")
|
if (!bank.getTile (nTile)->getRelativeFileName(type).empty())
|
||||||
{
|
{
|
||||||
// Don't delete,
|
// Don't delete,
|
||||||
bDelete=false;
|
bDelete=false;
|
||||||
|
@ -1564,7 +1564,7 @@ const CTileVegetableDesc &CTileSet::getTileVegetableDesc() const
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void CTileSet::loadTileVegetableDesc()
|
void CTileSet::loadTileVegetableDesc()
|
||||||
{
|
{
|
||||||
if(_TileVegetableDescFileName!="")
|
if(!_TileVegetableDescFileName.empty())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,40 +2,40 @@ ADD_SUBDIRECTORY(misc)
|
||||||
|
|
||||||
IF(WITH_3D)
|
IF(WITH_3D)
|
||||||
ADD_SUBDIRECTORY(3d)
|
ADD_SUBDIRECTORY(3d)
|
||||||
ENDIF(WITH_3D)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_GUI)
|
IF(WITH_GUI)
|
||||||
ADD_SUBDIRECTORY(gui)
|
ADD_SUBDIRECTORY(gui)
|
||||||
ENDIF(WITH_GUI)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_GEORGES)
|
IF(WITH_GEORGES)
|
||||||
ADD_SUBDIRECTORY(georges)
|
ADD_SUBDIRECTORY(georges)
|
||||||
ENDIF(WITH_GEORGES)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_LIGO)
|
IF(WITH_LIGO)
|
||||||
ADD_SUBDIRECTORY(ligo)
|
ADD_SUBDIRECTORY(ligo)
|
||||||
ENDIF(WITH_LIGO)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_LOGIC)
|
IF(WITH_LOGIC)
|
||||||
ADD_SUBDIRECTORY(logic)
|
ADD_SUBDIRECTORY(logic)
|
||||||
ENDIF(WITH_LOGIC)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NET)
|
IF(WITH_NET)
|
||||||
ADD_SUBDIRECTORY(net)
|
ADD_SUBDIRECTORY(net)
|
||||||
ENDIF(WITH_NET)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_SOUND)
|
IF(WITH_SOUND)
|
||||||
ADD_SUBDIRECTORY(sound)
|
ADD_SUBDIRECTORY(sound)
|
||||||
ENDIF(WITH_SOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NEL_CEGUI)
|
IF(WITH_NEL_CEGUI)
|
||||||
ADD_SUBDIRECTORY(cegui)
|
ADD_SUBDIRECTORY(cegui)
|
||||||
ENDIF(WITH_NEL_CEGUI)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_PACS)
|
IF(WITH_PACS)
|
||||||
ADD_SUBDIRECTORY(pacs)
|
ADD_SUBDIRECTORY(pacs)
|
||||||
ENDIF(WITH_PACS)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NEL_TOOLS)
|
IF(WITH_NEL_TOOLS)
|
||||||
ADD_SUBDIRECTORY(pipeline)
|
ADD_SUBDIRECTORY(pipeline)
|
||||||
ENDIF(WITH_NEL_TOOLS)
|
ENDIF()
|
||||||
|
|
|
@ -14,4 +14,4 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} -DNEL_CEGUIRENDERER_EXPORTS)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelceguirenderer RUNTIME DESTINATION ${NL_BIN_PREFIX} LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelceguirenderer RUNTIME DESTINATION ${NL_BIN_PREFIX} LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -17,10 +17,10 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelgeorges ${CMAKE_CURRENT_SOURCE_DIR}/stdgeorges.h ${CMAKE_CURRENT_SOURCE_DIR}/stdgeorges.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelgeorges ${CMAKE_CURRENT_SOURCE_DIR}/stdgeorges.h ${CMAKE_CURRENT_SOURCE_DIR}/stdgeorges.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
NL_GEN_PC(nel-georges.pc)
|
NL_GEN_PC(nel-georges.pc)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelgeorges LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelgeorges LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -18,8 +18,8 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS} ${CURL_DEFINITIONS} ${LUABIND_DEFINITIONS
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelgui ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelgui ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpch.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelgui LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelgui LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -572,7 +572,7 @@ namespace NLGUI
|
||||||
curl_easy_cleanup(it->curl);
|
curl_easy_cleanup(it->curl);
|
||||||
|
|
||||||
string tmpfile = it->dest + ".tmp";
|
string tmpfile = it->dest + ".tmp";
|
||||||
if(res != CURLE_OK || r < 200 || r >= 300 || ((it->md5sum != "") && (it->md5sum != getMD5(tmpfile).toString())))
|
if(res != CURLE_OK || r < 200 || r >= 300 || (!it->md5sum.empty() && (it->md5sum != getMD5(tmpfile).toString())))
|
||||||
{
|
{
|
||||||
NLMISC::CFile::deleteFile(tmpfile.c_str());
|
NLMISC::CFile::deleteFile(tmpfile.c_str());
|
||||||
}
|
}
|
||||||
|
@ -5500,6 +5500,19 @@ namespace NLGUI
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ***************************************************************************
|
||||||
|
int CGroupHTML::luaRenderHtml(CLuaState &ls)
|
||||||
|
{
|
||||||
|
const char *funcName = "renderHtml";
|
||||||
|
CLuaIHM::checkArgCount(ls, funcName, 1);
|
||||||
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TSTRING);
|
||||||
|
std::string html = ls.toString(1);
|
||||||
|
|
||||||
|
renderHtmlString(html);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
int CGroupHTML::luaInsertText(CLuaState &ls)
|
int CGroupHTML::luaInsertText(CLuaState &ls)
|
||||||
{
|
{
|
||||||
|
|
|
@ -422,7 +422,7 @@ namespace NLGUI
|
||||||
{
|
{
|
||||||
nlassert(key);
|
nlassert(key);
|
||||||
nlassert(isValid());
|
nlassert(isValid());
|
||||||
if (!isTable()) throw ELuaNotATable(NLMISC::toString("Trying to set a value '%d" NL_I64 "' at key %s on object '%s' of type %s (not a table).", value, key, getId().c_str(), getTypename()));
|
if (!isTable()) throw ELuaNotATable(NLMISC::toString("Trying to set a value '%" NL_I64 "d' at key %s on object '%s' of type %s (not a table).", value, key, getId().c_str(), getTypename()));
|
||||||
CLuaStackChecker lsc(_LuaState);
|
CLuaStackChecker lsc(_LuaState);
|
||||||
push();
|
push();
|
||||||
_LuaState->push(key);
|
_LuaState->push(key);
|
||||||
|
|
|
@ -1430,7 +1430,7 @@ namespace NLGUI
|
||||||
// Append to the last line
|
// Append to the last line
|
||||||
_Lines.back()->addWord(ucCurrentWord, 0, wordFormat, _FontWidth, *TextContext);
|
_Lines.back()->addWord(ucCurrentWord, 0, wordFormat, _FontWidth, *TextContext);
|
||||||
// reset the word
|
// reset the word
|
||||||
ucCurrentWord = ucstring("");
|
ucCurrentWord.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -442,7 +442,7 @@ namespace NLGUI
|
||||||
if (sZeStart[sZeStart.size()-1] == ':')
|
if (sZeStart[sZeStart.size()-1] == ':')
|
||||||
sZeStart = sZeStart.substr(0, sZeStart.size()-1);
|
sZeStart = sZeStart.substr(0, sZeStart.size()-1);
|
||||||
|
|
||||||
while (sZeStart != "")
|
while (!sZeStart.empty())
|
||||||
{
|
{
|
||||||
if (sEltId[0] == ':')
|
if (sEltId[0] == ':')
|
||||||
sTmp = sZeStart + sEltId;
|
sTmp = sZeStart + sEltId;
|
||||||
|
|
|
@ -15,10 +15,10 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelligo ${CMAKE_CURRENT_SOURCE_DIR}/stdligo.h ${CMAKE_CURRENT_SOURCE_DIR}/stdligo.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelligo ${CMAKE_CURRENT_SOURCE_DIR}/stdligo.h ${CMAKE_CURRENT_SOURCE_DIR}/stdligo.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
NL_GEN_PC(nel-ligo.pc)
|
NL_GEN_PC(nel-ligo.pc)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelligo LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelligo LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -15,8 +15,8 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nellogic ${CMAKE_CURRENT_SOURCE_DIR}/stdlogic.h ${CMAKE_CURRENT_SOURCE_DIR}/stdlogic.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nellogic ${CMAKE_CURRENT_SOURCE_DIR}/stdlogic.h ${CMAKE_CURRENT_SOURCE_DIR}/stdlogic.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nellogic LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nellogic LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -179,34 +179,34 @@ IF(WITH_GTK)
|
||||||
INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
|
INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
|
||||||
ADD_DEFINITIONS(-DNL_USE_GTK)
|
ADD_DEFINITIONS(-DNL_USE_GTK)
|
||||||
TARGET_LINK_LIBRARIES(nelmisc ${GTK2_LIBRARIES})
|
TARGET_LINK_LIBRARIES(nelmisc ${GTK2_LIBRARIES})
|
||||||
ENDIF(GTK2_FOUND)
|
ENDIF()
|
||||||
ENDIF(WITH_GTK)
|
ENDIF()
|
||||||
|
|
||||||
IF(JPEG_FOUND)
|
IF(JPEG_FOUND)
|
||||||
INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
|
||||||
ADD_DEFINITIONS(-DUSE_JPEG)
|
ADD_DEFINITIONS(-DUSE_JPEG)
|
||||||
TARGET_LINK_LIBRARIES(nelmisc ${JPEG_LIBRARY})
|
TARGET_LINK_LIBRARIES(nelmisc ${JPEG_LIBRARY})
|
||||||
ENDIF(JPEG_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(GIF_FOUND)
|
IF(GIF_FOUND)
|
||||||
INCLUDE_DIRECTORIES(${GIF_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${GIF_INCLUDE_DIR})
|
||||||
ADD_DEFINITIONS(-DUSE_GIF)
|
ADD_DEFINITIONS(-DUSE_GIF)
|
||||||
TARGET_LINK_LIBRARIES(nelmisc ${GIF_LIBRARY})
|
TARGET_LINK_LIBRARIES(nelmisc ${GIF_LIBRARY})
|
||||||
ENDIF(GIF_FOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_STATIC OR WIN32)
|
IF(WITH_STATIC OR WIN32)
|
||||||
TARGET_LINK_LIBRARIES(nelmisc ${PNG_LIBRARIES})
|
TARGET_LINK_LIBRARIES(nelmisc ${PNG_LIBRARIES})
|
||||||
ELSE(WITH_STATIC OR WIN32)
|
ELSE()
|
||||||
# Link only with libpng shared library
|
# Link only with libpng shared library
|
||||||
TARGET_LINK_LIBRARIES(nelmisc ${PNG_LIBRARY})
|
TARGET_LINK_LIBRARIES(nelmisc ${PNG_LIBRARY})
|
||||||
ENDIF(WITH_STATIC OR WIN32)
|
ENDIF()
|
||||||
|
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
TARGET_LINK_LIBRARIES(nelmisc -lc -ldl)
|
TARGET_LINK_LIBRARIES(nelmisc -lc -ldl)
|
||||||
IF(NOT APPLE)
|
IF(NOT APPLE)
|
||||||
TARGET_LINK_LIBRARIES(nelmisc -lrt)
|
TARGET_LINK_LIBRARIES(nelmisc -lrt)
|
||||||
ENDIF(NOT APPLE)
|
ENDIF()
|
||||||
ENDIF(UNIX)
|
ENDIF()
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${PNG_INCLUDE_DIR} config_file)
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR} ${PNG_INCLUDE_DIR} config_file)
|
||||||
|
|
||||||
|
@ -220,10 +220,10 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelmisc ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.h ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelmisc ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.h ${CMAKE_CURRENT_SOURCE_DIR}/stdmisc.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
NL_GEN_PC(nel-misc.pc)
|
NL_GEN_PC(nel-misc.pc)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelmisc LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelmisc LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
#include "nel/misc/app_context.h"
|
#include "nel/misc/app_context.h"
|
||||||
#include "nel/misc/dynloadlib.h"
|
#include "nel/misc/dynloadlib.h"
|
||||||
#include "nel/misc/command.h"
|
#include "nel/misc/command.h"
|
||||||
#include "nel/misc/system_utils.h"
|
|
||||||
|
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
|
|
||||||
|
@ -72,9 +71,6 @@ INelContext::~INelContext()
|
||||||
|
|
||||||
CInstanceCounterLocalManager::releaseInstance();
|
CInstanceCounterLocalManager::releaseInstance();
|
||||||
|
|
||||||
// uninit some systems stuff
|
|
||||||
CSystemUtils::uninit();
|
|
||||||
|
|
||||||
_NelContext = NULL;
|
_NelContext = NULL;
|
||||||
*(_getInstance()) = NULL;
|
*(_getInstance()) = NULL;
|
||||||
}
|
}
|
||||||
|
@ -94,9 +90,6 @@ void INelContext::contextReady()
|
||||||
// set numeric locale to C to avoid the use of decimal separators different of a dot
|
// set numeric locale to C to avoid the use of decimal separators different of a dot
|
||||||
char *locale = setlocale(LC_NUMERIC, "C");
|
char *locale = setlocale(LC_NUMERIC, "C");
|
||||||
|
|
||||||
// init some systems stuff
|
|
||||||
CSystemUtils::init();
|
|
||||||
|
|
||||||
// register any pending thinks
|
// register any pending thinks
|
||||||
|
|
||||||
// register local instance counter in the global instance counter manager
|
// register local instance counter in the global instance counter manager
|
||||||
|
|
|
@ -369,6 +369,51 @@ void CBitmap::makeOpaque()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*-------------------------------------------------------------------*\
|
||||||
|
makeTransparentPixelsBlack
|
||||||
|
\*-------------------------------------------------------------------*/
|
||||||
|
void CBitmap::makeTransparentPixelsBlack()
|
||||||
|
{
|
||||||
|
if (_Width*_Height == 0) return;
|
||||||
|
|
||||||
|
uint pixelSize;
|
||||||
|
|
||||||
|
switch (PixelFormat)
|
||||||
|
{
|
||||||
|
case RGBA: pixelSize = 4; break;
|
||||||
|
case AlphaLuminance: pixelSize = 2; break;
|
||||||
|
default: return;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint colorsSize = pixelSize - 1;
|
||||||
|
|
||||||
|
for (uint8 m = 0; m < _MipMapCount; ++m)
|
||||||
|
{
|
||||||
|
// get a pointer on original data
|
||||||
|
uint8 *data = _Data[m].getPtr();
|
||||||
|
|
||||||
|
// end of data
|
||||||
|
uint8 *endData = data + _Data[m].size();
|
||||||
|
|
||||||
|
// first alpha
|
||||||
|
data += pixelSize - 1;
|
||||||
|
|
||||||
|
// replace all alpha values by 255
|
||||||
|
while (data < endData)
|
||||||
|
{
|
||||||
|
// fully transparent pixel
|
||||||
|
if (*data == 0)
|
||||||
|
{
|
||||||
|
// make colors black
|
||||||
|
memset(data - colorsSize, 0, colorsSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
data += pixelSize;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------*\
|
/*-------------------------------------------------------------------*\
|
||||||
isAlphaUniform
|
isAlphaUniform
|
||||||
\*-------------------------------------------------------------------*/
|
\*-------------------------------------------------------------------*/
|
||||||
|
@ -1792,7 +1837,7 @@ void CBitmap::releaseMipMaps()
|
||||||
\*-------------------------------------------------------------------*/
|
\*-------------------------------------------------------------------*/
|
||||||
void CBitmap::resample(sint32 nNewWidth, sint32 nNewHeight)
|
void CBitmap::resample(sint32 nNewWidth, sint32 nNewHeight)
|
||||||
{
|
{
|
||||||
nlassert(PixelFormat == RGBA || PixelFormat == Luminance);
|
nlassert(PixelFormat == RGBA || PixelFormat == Luminance || PixelFormat == AlphaLuminance);
|
||||||
bool needRebuild = false;
|
bool needRebuild = false;
|
||||||
|
|
||||||
// Deleting mipmaps
|
// Deleting mipmaps
|
||||||
|
@ -1832,6 +1877,58 @@ void CBitmap::resample(sint32 nNewWidth, sint32 nNewHeight)
|
||||||
resamplePicture8 (&_Data[0][0], pDestGray, _Width, _Height, nNewWidth, nNewHeight);
|
resamplePicture8 (&_Data[0][0], pDestGray, _Width, _Height, nNewWidth, nNewHeight);
|
||||||
//logResample("Resample: 60");
|
//logResample("Resample: 60");
|
||||||
}
|
}
|
||||||
|
else if (PixelFormat == AlphaLuminance)
|
||||||
|
{
|
||||||
|
pDestui.resize(nNewWidth*nNewHeight*2);
|
||||||
|
|
||||||
|
uint16 *pSrc = (uint16*)&_Data[0][0];
|
||||||
|
uint16 *pDest = (uint16*)&pDestui[0];
|
||||||
|
|
||||||
|
size_t srcSize = _Width*_Width;
|
||||||
|
uint8 *pSrcGray = new uint8[srcSize];
|
||||||
|
uint8 *pSrcAlpha = new uint8[srcSize];
|
||||||
|
|
||||||
|
// set iterators
|
||||||
|
uint16 *i = (uint16*)pSrc;
|
||||||
|
uint16 *iEnd = (uint16*)i + srcSize;
|
||||||
|
uint8 *iGray = pSrcGray;
|
||||||
|
uint8 *iAlpha = pSrcAlpha;
|
||||||
|
|
||||||
|
// copy alpha and gray in distinct arrays
|
||||||
|
while (i < iEnd)
|
||||||
|
{
|
||||||
|
*(iGray++) = (*i) & 0xff;
|
||||||
|
*(iAlpha++) = ((*i) >> 8) & 0xff;
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t destSize = nNewWidth*nNewHeight;
|
||||||
|
|
||||||
|
// resample gray values array
|
||||||
|
uint8 *pDestGray = new uint8[destSize];
|
||||||
|
resamplePicture8(pSrcGray, pDestGray, _Width, _Height, nNewWidth, nNewHeight);
|
||||||
|
delete[] pSrcGray;
|
||||||
|
|
||||||
|
// resample alpha values array
|
||||||
|
uint8 *pDestAlpha = new uint8[destSize];
|
||||||
|
resamplePicture8(pSrcAlpha, pDestAlpha, _Width, _Height, nNewWidth, nNewHeight);
|
||||||
|
delete[] pSrcAlpha;
|
||||||
|
|
||||||
|
// set iterators
|
||||||
|
i = (uint16*)pDest;
|
||||||
|
iEnd = (uint16*)i + destSize;
|
||||||
|
iGray = pDestGray;
|
||||||
|
iAlpha = pDestAlpha;
|
||||||
|
|
||||||
|
// merge alpha and gray in destination array
|
||||||
|
while (i < iEnd)
|
||||||
|
{
|
||||||
|
*(i++) = *(iGray++) | (*(iAlpha++) << 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
delete[] pDestGray;
|
||||||
|
delete[] pDestAlpha;
|
||||||
|
}
|
||||||
|
|
||||||
NLMISC::contReset(_Data[0]); // free memory
|
NLMISC::contReset(_Data[0]); // free memory
|
||||||
//logResample("Resample: 70");
|
//logResample("Resample: 70");
|
||||||
|
@ -2148,7 +2245,7 @@ void CBitmap::resamplePicture32Fast (const NLMISC::CRGBA *pSrc, NLMISC::CRGBA *p
|
||||||
|
|
||||||
|
|
||||||
/*-------------------------------------------------------------------*\
|
/*-------------------------------------------------------------------*\
|
||||||
resamplePicture32
|
resamplePicture8
|
||||||
\*-------------------------------------------------------------------*/
|
\*-------------------------------------------------------------------*/
|
||||||
void CBitmap::resamplePicture8 (const uint8 *pSrc, uint8 *pDest,
|
void CBitmap::resamplePicture8 (const uint8 *pSrc, uint8 *pDest,
|
||||||
sint32 nSrcWidth, sint32 nSrcHeight,
|
sint32 nSrcWidth, sint32 nSrcHeight,
|
||||||
|
|
|
@ -141,7 +141,7 @@ bool CCmdArgs::needAdditionalArg() const
|
||||||
const TArg &arg = _Args[i];
|
const TArg &arg = _Args[i];
|
||||||
|
|
||||||
// they don't have any short or long name, but need a name in help
|
// they don't have any short or long name, but need a name in help
|
||||||
if (arg.shortName.empty() && arg.longName.empty() && !arg.helpName.empty() && arg.required)
|
if (arg.shortName.empty() && arg.longName.empty() && !arg.helpName.empty() && arg.required && !arg.found)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -363,7 +363,7 @@ bool CCmdArgs::parse(const std::vector<std::string> &argv)
|
||||||
}
|
}
|
||||||
|
|
||||||
// process help if requested or if required arguments are missing
|
// process help if requested or if required arguments are missing
|
||||||
if (haveLongArg("help") || (needAdditionalArg() && !haveAdditionalArg()))
|
if (haveLongArg("help") || needAdditionalArg())
|
||||||
{
|
{
|
||||||
displayHelp();
|
displayHelp();
|
||||||
return false;
|
return false;
|
||||||
|
@ -418,7 +418,7 @@ void CCmdArgs::displayHelp()
|
||||||
|
|
||||||
if (!_Description.empty())
|
if (!_Description.empty())
|
||||||
{
|
{
|
||||||
printf("\n%s", _Description.c_str());
|
printf("\n%s\n", _Description.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("\nWhere options are:\n");
|
printf("\nWhere options are:\n");
|
||||||
|
@ -443,7 +443,6 @@ void CCmdArgs::displayHelp()
|
||||||
if (!arg.helpName.empty())
|
if (!arg.helpName.empty())
|
||||||
{
|
{
|
||||||
syntaxes.push_back(toString("-%s <%s>", arg.shortName.c_str(), arg.helpName.c_str()));
|
syntaxes.push_back(toString("-%s <%s>", arg.shortName.c_str(), arg.helpName.c_str()));
|
||||||
syntaxes.push_back(toString("-%s<%s>", arg.shortName.c_str(), arg.helpName.c_str()));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -459,12 +458,6 @@ void CCmdArgs::displayHelp()
|
||||||
// display first syntax for long argument, --arg <value>
|
// display first syntax for long argument, --arg <value>
|
||||||
syntaxes.push_back(toString("--%s <%s>", arg.longName.c_str(), arg.helpName.c_str()));
|
syntaxes.push_back(toString("--%s <%s>", arg.longName.c_str(), arg.helpName.c_str()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!arg.helpName.empty())
|
|
||||||
{
|
|
||||||
// display second syntax for long argument, --arg=<value>
|
|
||||||
syntaxes.push_back(toString("--%s=<%s>", arg.longName.c_str(), arg.helpName.c_str()));
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
syntaxes.push_back(toString("--%s", arg.longName.c_str()));
|
syntaxes.push_back(toString("--%s", arg.longName.c_str()));
|
||||||
|
|
|
@ -412,7 +412,7 @@ void CConfigFile::reparse (bool lookupPaths)
|
||||||
if (!CPath::lookup(fn, false).empty())
|
if (!CPath::lookup(fn, false).empty())
|
||||||
{
|
{
|
||||||
ucstring content;
|
ucstring content;
|
||||||
CI18N::readTextFile(fn, content, true, true, true);
|
CI18N::readTextFile(fn, content, true, true);
|
||||||
string utf8 = content.toUtf8();
|
string utf8 = content.toUtf8();
|
||||||
|
|
||||||
CMemStream stream;
|
CMemStream stream;
|
||||||
|
|
|
@ -1429,22 +1429,27 @@ int getLastError()
|
||||||
std::string formatErrorMessage(int errorCode)
|
std::string formatErrorMessage(int errorCode)
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
LPVOID lpMsgBuf;
|
LPVOID lpMsgBuf = NULL;
|
||||||
FormatMessage(
|
DWORD len = FormatMessageW(
|
||||||
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||||
NULL,
|
NULL,
|
||||||
errorCode,
|
errorCode,
|
||||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
||||||
(LPTSTR) &lpMsgBuf,
|
(LPWSTR) &lpMsgBuf,
|
||||||
0,
|
0,
|
||||||
NULL
|
NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
string ret = (char*)lpMsgBuf;
|
// empty buffer, an error occured
|
||||||
|
if (len == 0) return toString("FormatMessage returned error %d", getLastError());
|
||||||
|
|
||||||
|
// convert wchar_t* to std::string
|
||||||
|
string ret = wideToUtf8(lpMsgBuf);
|
||||||
|
|
||||||
// Free the buffer.
|
// Free the buffer.
|
||||||
LocalFree( lpMsgBuf );
|
LocalFree(lpMsgBuf);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -117,7 +117,7 @@ bool loadStringFile(const std::string filename, vector<TStringInfo> &stringInfos
|
||||||
*/
|
*/
|
||||||
ucstring text;
|
ucstring text;
|
||||||
|
|
||||||
CI18N::readTextFile(filename, text, false, false, true, CI18N::LINE_FMT_CRLF);
|
CI18N::readTextFile(filename, text, false, true, CI18N::LINE_FMT_LF);
|
||||||
// CI18N::readTextBuffer(buffer, size, text);
|
// CI18N::readTextBuffer(buffer, size, text);
|
||||||
// delete [] buffer;
|
// delete [] buffer;
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ bool loadStringFile(const std::string filename, vector<TStringInfo> &stringInfos
|
||||||
if (!CI18N::parseLabel(first, last, si.Identifier))
|
if (!CI18N::parseLabel(first, last, si.Identifier))
|
||||||
{
|
{
|
||||||
uint32 line = countLine(text, first);
|
uint32 line = countLine(text, first);
|
||||||
nlwarning("DT: Fatal : In '%s', line %u: Invalid label after '%s'\n",
|
nlwarning("DT: Fatal : In '%s', line %u: Invalid label after '%s'",
|
||||||
filename.c_str(),
|
filename.c_str(),
|
||||||
line,
|
line,
|
||||||
lastLabel.c_str());
|
lastLabel.c_str());
|
||||||
|
@ -167,7 +167,7 @@ bool loadStringFile(const std::string filename, vector<TStringInfo> &stringInfos
|
||||||
if (!CI18N::parseMarkedString(openMark, closeMark, first, last, si.Text))
|
if (!CI18N::parseMarkedString(openMark, closeMark, first, last, si.Text))
|
||||||
{
|
{
|
||||||
uint32 line = countLine(text, first);
|
uint32 line = countLine(text, first);
|
||||||
nlwarning("DT: Fatal : In '%s', line %u: Invalid text value for label %s\n",
|
nlwarning("DT: Fatal : In '%s', line %u: Invalid text value for label %s",
|
||||||
filename.c_str(),
|
filename.c_str(),
|
||||||
line,
|
line,
|
||||||
lastLabel.c_str());
|
lastLabel.c_str());
|
||||||
|
@ -181,7 +181,7 @@ bool loadStringFile(const std::string filename, vector<TStringInfo> &stringInfos
|
||||||
if (!CI18N::parseMarkedString(openMark, closeMark, first, last, si.Text2))
|
if (!CI18N::parseMarkedString(openMark, closeMark, first, last, si.Text2))
|
||||||
{
|
{
|
||||||
uint32 line = countLine(text, first);
|
uint32 line = countLine(text, first);
|
||||||
nlwarning("DT: Fatal: In '%s' line %u: Invalid text2 value label %s\n",
|
nlwarning("DT: Fatal: In '%s' line %u: Invalid text2 value label %s",
|
||||||
filename.c_str(),
|
filename.c_str(),
|
||||||
line,
|
line,
|
||||||
lastLabel.c_str());
|
lastLabel.c_str());
|
||||||
|
@ -313,7 +313,7 @@ bool readPhraseFile(const std::string &filename, vector<TPhrase> &phrases, bool
|
||||||
{
|
{
|
||||||
ucstring doc;
|
ucstring doc;
|
||||||
|
|
||||||
CI18N::readTextFile(filename, doc, false, false, true, CI18N::LINE_FMT_CRLF);
|
CI18N::readTextFile(filename, doc, false, true, CI18N::LINE_FMT_LF);
|
||||||
|
|
||||||
return readPhraseFileFromString(doc, filename, phrases, forceRehash);
|
return readPhraseFileFromString(doc, filename, phrases, forceRehash);
|
||||||
}
|
}
|
||||||
|
@ -416,9 +416,14 @@ bool readPhraseFileFromString(ucstring const& doc, const std::string &filename,
|
||||||
phrase.Clauses.size()+1);
|
phrase.Clauses.size()+1);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
clause.Conditions += "(" + cond + ") ";
|
|
||||||
|
// only prepend a space if required
|
||||||
|
if (!clause.Conditions.empty()) clause.Conditions += " ";
|
||||||
|
|
||||||
|
clause.Conditions += "(" + cond + ")";
|
||||||
CI18N::skipWhiteSpace(first, last, &clause.Comments);
|
CI18N::skipWhiteSpace(first, last, &clause.Comments);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (first == last)
|
if (first == last)
|
||||||
{
|
{
|
||||||
nlwarning("DT: in '%s': Found end of file in non closed block for phrase %s\n",
|
nlwarning("DT: in '%s': Found end of file in non closed block for phrase %s\n",
|
||||||
|
@ -577,7 +582,7 @@ ucstring preparePhraseFile(const vector<TPhrase> &phrases, bool removeDiffCommen
|
||||||
if (!c.Comments.empty())
|
if (!c.Comments.empty())
|
||||||
{
|
{
|
||||||
ucstring comment = tabLines(1, c.Comments);
|
ucstring comment = tabLines(1, c.Comments);
|
||||||
ret += comment; // + '\r'+'\n';
|
ret += comment; // + '\n';
|
||||||
}
|
}
|
||||||
if (!c.Conditions.empty())
|
if (!c.Conditions.empty())
|
||||||
{
|
{
|
||||||
|
@ -626,7 +631,7 @@ bool loadExcelSheet(const string filename, TWorksheet &worksheet, bool checkUniq
|
||||||
fp.close();
|
fp.close();
|
||||||
|
|
||||||
ucstring str;
|
ucstring str;
|
||||||
CI18N::readTextFile(filename, str, false, false, false, CI18N::LINE_FMT_CRLF);
|
CI18N::readTextFile(filename, str, false, false, CI18N::LINE_FMT_LF);
|
||||||
|
|
||||||
if (!readExcelSheet(str, worksheet, checkUnique))
|
if (!readExcelSheet(str, worksheet, checkUnique))
|
||||||
return false;
|
return false;
|
||||||
|
@ -646,6 +651,8 @@ bool readExcelSheet(const ucstring &str, TWorksheet &worksheet, bool checkUnique
|
||||||
strArray[strArray.size()-1]= 0;
|
strArray[strArray.size()-1]= 0;
|
||||||
memcpy(&strArray[0], &str[0], str.size()*sizeof(ucchar));
|
memcpy(&strArray[0], &str[0], str.size()*sizeof(ucchar));
|
||||||
|
|
||||||
|
// size of new line characters
|
||||||
|
size_t sizeOfNl = nl.length();
|
||||||
|
|
||||||
// **** Build array of lines. just point to strArray, and fill 0 where appropriated
|
// **** Build array of lines. just point to strArray, and fill 0 where appropriated
|
||||||
vector<ucchar*> lines;
|
vector<ucchar*> lines;
|
||||||
|
@ -660,10 +667,10 @@ bool readExcelSheet(const ucstring &str, TWorksheet &worksheet, bool checkUnique
|
||||||
// nldebug("Found line : [%s]", ucstring(&strArray[lastPos]).toString().c_str());
|
// nldebug("Found line : [%s]", ucstring(&strArray[lastPos]).toString().c_str());
|
||||||
lines.push_back(&strArray[lastPos]);
|
lines.push_back(&strArray[lastPos]);
|
||||||
}
|
}
|
||||||
lastPos = pos + 2;
|
lastPos = pos + sizeOfNl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Must add last line if no \r\n ending
|
// Must add last line if no \n ending
|
||||||
if (lastPos < str.size())
|
if (lastPos < str.size())
|
||||||
{
|
{
|
||||||
pos= str.size();
|
pos= str.size();
|
||||||
|
|
|
@ -1082,7 +1082,7 @@ NLMISC_CATEGORISED_COMMAND(nel,displayMeasures, "display hierarchical timer", "[
|
||||||
}
|
}
|
||||||
|
|
||||||
sint depth = 0;
|
sint depth = 0;
|
||||||
bool hasDepth = (sscanf(args[0].c_str(), "%d", &depth) == 1 || (args.size() > 1 && sscanf(args[1].c_str(), "%d", &depth) == 1));
|
bool hasDepth = (fromString(args[0], depth) || (args.size() > 1 && fromString(args[1], depth)));
|
||||||
|
|
||||||
CASE_DISPLAYMEASURES(NoSort, -3)
|
CASE_DISPLAYMEASURES(NoSort, -3)
|
||||||
CASE_DISPLAYMEASURES(TotalTime, -2)
|
CASE_DISPLAYMEASURES(TotalTime, -2)
|
||||||
|
|
|
@ -502,25 +502,39 @@ void CI18N::skipWhiteSpace(ucstring::const_iterator &it, ucstring::const_iterato
|
||||||
if (storeComments && *it == '/' && it+1 != last && *(it+1) == '/')
|
if (storeComments && *it == '/' && it+1 != last && *(it+1) == '/')
|
||||||
{
|
{
|
||||||
// found a one line C comment. Store it until end of line.
|
// found a one line C comment. Store it until end of line.
|
||||||
while (it != last && *it != '\n')
|
while (it != last && (*it != '\n' && *it != '\r'))
|
||||||
storeComments->push_back(*it++);
|
storeComments->push_back(*it++);
|
||||||
|
|
||||||
// store the final '\n'
|
// store the final '\n'
|
||||||
if (it != last)
|
if (it != last)
|
||||||
storeComments->push_back(*it++);
|
storeComments->push_back('\n');
|
||||||
}
|
}
|
||||||
else if (storeComments && *it == '/' && it+1 != last && *(it+1) == '*')
|
else if (storeComments && *it == '/' && it+1 != last && *(it+1) == '*')
|
||||||
{
|
{
|
||||||
// found a multi line C++ comment. store until we found the closing '*/'
|
// found a multi line C++ comment. store until we found the closing '*/'
|
||||||
while (it != last && !(*it == '*' && it+1 != last && *(it+1) == '/'))
|
while (it != last && !(*it == '*' && it + 1 != last && *(it + 1) == '/'))
|
||||||
storeComments->push_back(*it++);
|
{
|
||||||
|
// don't put \r
|
||||||
|
if (*it == '\r')
|
||||||
|
{
|
||||||
|
// skip it
|
||||||
|
++it;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
storeComments->push_back(*it++);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// store the final '*'
|
// store the final '*'
|
||||||
if (it != last)
|
if (it != last)
|
||||||
storeComments->push_back(*it++);
|
storeComments->push_back(*it++);
|
||||||
|
|
||||||
// store the final '/'
|
// store the final '/'
|
||||||
if (it != last)
|
if (it != last)
|
||||||
storeComments->push_back(*it++);
|
storeComments->push_back(*it++);
|
||||||
|
|
||||||
// and a new line.
|
// and a new line.
|
||||||
storeComments->push_back('\r');
|
|
||||||
storeComments->push_back('\n');
|
storeComments->push_back('\n');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -656,7 +670,6 @@ bool CI18N::parseMarkedString(ucchar openMark, ucchar closeMark, ucstring::const
|
||||||
|
|
||||||
void CI18N::readTextFile(const string &filename,
|
void CI18N::readTextFile(const string &filename,
|
||||||
ucstring &result,
|
ucstring &result,
|
||||||
bool forceUtf8,
|
|
||||||
bool fileLookup,
|
bool fileLookup,
|
||||||
bool preprocess,
|
bool preprocess,
|
||||||
TLineFormat lineFmt,
|
TLineFormat lineFmt,
|
||||||
|
@ -666,7 +679,7 @@ void CI18N::readTextFile(const string &filename,
|
||||||
TReadContext readContext;
|
TReadContext readContext;
|
||||||
|
|
||||||
// call the inner function
|
// call the inner function
|
||||||
_readTextFile(filename, result, forceUtf8, fileLookup, preprocess, lineFmt, warnIfIncludesNotFound, readContext);
|
_readTextFile(filename, result, fileLookup, preprocess, lineFmt, warnIfIncludesNotFound, readContext);
|
||||||
|
|
||||||
if (!readContext.IfStack.empty())
|
if (!readContext.IfStack.empty())
|
||||||
{
|
{
|
||||||
|
@ -709,7 +722,6 @@ void CI18N::skipLine(ucstring::const_iterator &it, ucstring::const_iterator end,
|
||||||
|
|
||||||
void CI18N::_readTextFile(const string &filename,
|
void CI18N::_readTextFile(const string &filename,
|
||||||
ucstring &result,
|
ucstring &result,
|
||||||
bool forceUtf8,
|
|
||||||
bool fileLookup,
|
bool fileLookup,
|
||||||
bool preprocess,
|
bool preprocess,
|
||||||
TLineFormat lineFmt,
|
TLineFormat lineFmt,
|
||||||
|
@ -743,7 +755,7 @@ void CI18N::_readTextFile(const string &filename,
|
||||||
|
|
||||||
// Transform the string in ucstring according to format header
|
// Transform the string in ucstring according to format header
|
||||||
if (!text.empty())
|
if (!text.empty())
|
||||||
readTextBuffer((uint8*)&text[0], (uint)text.size(), result, forceUtf8);
|
readTextBuffer((uint8*)&text[0], (uint)text.size(), result);
|
||||||
|
|
||||||
if (preprocess)
|
if (preprocess)
|
||||||
{
|
{
|
||||||
|
@ -819,7 +831,7 @@ void CI18N::_readTextFile(const string &filename,
|
||||||
subFilename.c_str());
|
subFilename.c_str());
|
||||||
|
|
||||||
ucstring inserted;
|
ucstring inserted;
|
||||||
_readTextFile(subFilename, inserted, forceUtf8, fileLookup, preprocess, lineFmt, warnIfIncludesNotFound, readContext);
|
_readTextFile(subFilename, inserted, fileLookup, preprocess, lineFmt, warnIfIncludesNotFound, readContext);
|
||||||
final += inserted;
|
final += inserted;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -873,7 +885,7 @@ void CI18N::_readTextFile(const string &filename,
|
||||||
subFilename.c_str());
|
subFilename.c_str());
|
||||||
|
|
||||||
ucstring inserted;
|
ucstring inserted;
|
||||||
_readTextFile(subFilename, inserted, forceUtf8, fileLookup, preprocess, lineFmt, warnIfIncludesNotFound, readContext);
|
_readTextFile(subFilename, inserted, fileLookup, preprocess, lineFmt, warnIfIncludesNotFound, readContext);
|
||||||
final += inserted;
|
final += inserted;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1109,7 +1121,7 @@ void CI18N::_readTextFile(const string &filename,
|
||||||
temp.append(result.begin()+lastPos, result.end());
|
temp.append(result.begin()+lastPos, result.end());
|
||||||
result.swap(temp);
|
result.swap(temp);
|
||||||
|
|
||||||
temp = "";
|
temp.clear();
|
||||||
|
|
||||||
// second loop with the '\n'
|
// second loop with the '\n'
|
||||||
pos = 0;
|
pos = 0;
|
||||||
|
@ -1137,28 +1149,13 @@ void CI18N::_readTextFile(const string &filename,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CI18N::readTextBuffer(uint8 *buffer, uint size, ucstring &result, bool forceUtf8)
|
void CI18N::readTextBuffer(uint8 *buffer, uint size, ucstring &result)
|
||||||
{
|
{
|
||||||
static uint8 utf16Header[] = { 0xffu, 0xfeu };
|
static uint8 utf16Header[] = { 0xffu, 0xfeu };
|
||||||
static uint8 utf16RevHeader[] = { 0xfeu, 0xffu };
|
static uint8 utf16RevHeader[] = { 0xfeu, 0xffu };
|
||||||
static uint8 utf8Header[] = { 0xefu, 0xbbu, 0xbfu };
|
static uint8 utf8Header[] = { 0xefu, 0xbbu, 0xbfu };
|
||||||
|
|
||||||
if (forceUtf8)
|
if (size>=3 &&
|
||||||
{
|
|
||||||
if (size>=3 &&
|
|
||||||
buffer[0]==utf8Header[0] &&
|
|
||||||
buffer[1]==utf8Header[1] &&
|
|
||||||
buffer[2]==utf8Header[2]
|
|
||||||
)
|
|
||||||
{
|
|
||||||
// remove utf8 header
|
|
||||||
buffer+= 3;
|
|
||||||
size-=3;
|
|
||||||
}
|
|
||||||
string text((char*)buffer, size);
|
|
||||||
result.fromUtf8(text);
|
|
||||||
}
|
|
||||||
else if (size>=3 &&
|
|
||||||
buffer[0]==utf8Header[0] &&
|
buffer[0]==utf8Header[0] &&
|
||||||
buffer[1]==utf8Header[1] &&
|
buffer[1]==utf8Header[1] &&
|
||||||
buffer[2]==utf8Header[2]
|
buffer[2]==utf8Header[2]
|
||||||
|
@ -1211,10 +1208,9 @@ void CI18N::readTextBuffer(uint8 *buffer, uint size, ucstring &result, bool forc
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// hum.. ascii read ?
|
// all text files without BOM are now parsed as UTF-8 by default
|
||||||
// so, just do a direct conversion
|
|
||||||
string text((char*)buffer, size);
|
string text((char*)buffer, size);
|
||||||
result = text;
|
result.fromUtf8(text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2148,7 +2148,7 @@ bool CFile::setFileModificationDate(const std::string &filename, uint32 modTime)
|
||||||
FILETIME accessFileTime;
|
FILETIME accessFileTime;
|
||||||
FILETIME modFileTime;
|
FILETIME modFileTime;
|
||||||
|
|
||||||
// read the current the files times
|
// read the current file time
|
||||||
if (GetFileTime(h, &creationFileTime, &accessFileTime, &modFileTime) == 0)
|
if (GetFileTime(h, &creationFileTime, &accessFileTime, &modFileTime) == 0)
|
||||||
{
|
{
|
||||||
nlwarning("Can't set modification date on file '%s' : %s", fn.c_str(), formatErrorMessage(getLastError()).c_str());
|
nlwarning("Can't set modification date on file '%s' : %s", fn.c_str(), formatErrorMessage(getLastError()).c_str());
|
||||||
|
|
|
@ -76,12 +76,21 @@ namespace NLMISC {
|
||||||
|
|
||||||
nlWindow CSystemUtils::s_window = EmptyWindow;
|
nlWindow CSystemUtils::s_window = EmptyWindow;
|
||||||
|
|
||||||
|
#ifdef NL_OS_WINDOWS
|
||||||
|
static bool s_mustUninit = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
bool CSystemUtils::init()
|
bool CSystemUtils::init()
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
// initialize COM
|
// initialize COM
|
||||||
HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
|
if (!s_mustUninit)
|
||||||
if (FAILED(hr)) return false;
|
{
|
||||||
|
HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED);
|
||||||
|
if (FAILED(hr)) return false;
|
||||||
|
|
||||||
|
s_mustUninit = true;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -91,7 +100,12 @@ bool CSystemUtils::uninit()
|
||||||
{
|
{
|
||||||
#ifdef NL_OS_WINDOWS
|
#ifdef NL_OS_WINDOWS
|
||||||
// uninitialize COM
|
// uninitialize COM
|
||||||
CoUninitialize();
|
if (s_mustUninit)
|
||||||
|
{
|
||||||
|
CoUninitialize();
|
||||||
|
|
||||||
|
s_mustUninit = false;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -40,7 +40,10 @@ void CWin32Util::localizeWindow(HWND wnd)
|
||||||
std::string winText = wideToUtf8(str);
|
std::string winText = wideToUtf8(str);
|
||||||
if (CI18N::hasTranslation(winText))
|
if (CI18N::hasTranslation(winText))
|
||||||
{
|
{
|
||||||
SetWindowTextW(wnd, (const WCHAR *) CI18N::get(winText).c_str());
|
if (!SetWindowTextW(wnd, (const WCHAR *) CI18N::get(winText).c_str()))
|
||||||
|
{
|
||||||
|
nlwarning("SetWindowText failed: %s", formatErrorMessage(getLastError()).c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
HWND currSon = GetWindow(wnd, GW_CHILD);
|
HWND currSon = GetWindow(wnd, GW_CHILD);
|
||||||
|
|
|
@ -217,8 +217,13 @@ LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
ucstring ucs;
|
ucstring ucs;
|
||||||
// convert the text from UTF-8 to unicode
|
// convert the text from UTF-8 to unicode
|
||||||
ucs.fromUtf8(cwd->_History[cwd->_PosInHistory]);
|
ucs.fromUtf8(cwd->_History[cwd->_PosInHistory]);
|
||||||
|
|
||||||
// set the text as unicode string
|
// set the text as unicode string
|
||||||
SetWindowTextW(cwd->_HInputEdit, (LPCWSTR)ucs.c_str());
|
if (!SetWindowTextW(cwd->_HInputEdit, (LPCWSTR)ucs.c_str()))
|
||||||
|
{
|
||||||
|
nlwarning("SetWindowText failed: %s", formatErrorMessage(getLastError()).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
SendMessageA (cwd->_HInputEdit, EM_SETSEL, (WPARAM)ucs.size(), (LPARAM)ucs.size());
|
SendMessageA (cwd->_HInputEdit, EM_SETSEL, (WPARAM)ucs.size(), (LPARAM)ucs.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -234,8 +239,13 @@ LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||||
ucstring ucs;
|
ucstring ucs;
|
||||||
// convert the text from UTF-8 to unicode
|
// convert the text from UTF-8 to unicode
|
||||||
ucs.fromUtf8(cwd->_History[cwd->_PosInHistory]);
|
ucs.fromUtf8(cwd->_History[cwd->_PosInHistory]);
|
||||||
|
|
||||||
// set the text as unicode string
|
// set the text as unicode string
|
||||||
SetWindowTextW(cwd->_HInputEdit, (LPCWSTR)ucs.c_str());
|
if (!SetWindowTextW(cwd->_HInputEdit, (LPCWSTR)ucs.c_str()))
|
||||||
|
{
|
||||||
|
nlwarning("SetWindowText failed: %s", formatErrorMessage(getLastError()).c_str());
|
||||||
|
}
|
||||||
|
|
||||||
SendMessageA (cwd->_HInputEdit, EM_SETSEL, (WPARAM)ucs.size(), (LPARAM)ucs.size());
|
SendMessageA (cwd->_HInputEdit, EM_SETSEL, (WPARAM)ucs.size(), (LPARAM)ucs.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -352,7 +362,10 @@ void CWinDisplayer::setTitleBar (const string &titleBar)
|
||||||
|
|
||||||
nldebug("SERVICE: Set title bar to '%s'", wn.c_str());
|
nldebug("SERVICE: Set title bar to '%s'", wn.c_str());
|
||||||
|
|
||||||
SetWindowTextW (_HWnd, (LPWSTR)ucstring::makeFromUtf8(wn).c_str());
|
if (!SetWindowTextW(_HWnd, (LPWSTR)ucstring::makeFromUtf8(wn).c_str()))
|
||||||
|
{
|
||||||
|
nlwarning("SetWindowText failed: %s", formatErrorMessage(getLastError()).c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CWinDisplayer::open (string titleBar, bool iconified, sint x, sint y, sint w, sint h, sint hs, sint fs, const std::string &fn, bool ww, CLog *log)
|
void CWinDisplayer::open (string titleBar, bool iconified, sint x, sint y, sint w, sint h, sint hs, sint fs, const std::string &fn, bool ww, CLog *log)
|
||||||
|
|
|
@ -9,8 +9,8 @@ IF(WITH_GTK)
|
||||||
IF(GTK2_FOUND)
|
IF(GTK2_FOUND)
|
||||||
INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
|
INCLUDE_DIRECTORIES(${GTK2_INCLUDE_DIRS})
|
||||||
ADD_DEFINITIONS(-DNL_USE_GTK)
|
ADD_DEFINITIONS(-DNL_USE_GTK)
|
||||||
ENDIF(GTK2_FOUND)
|
ENDIF()
|
||||||
ENDIF(WITH_GTK)
|
ENDIF()
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(nelnet nelmisc)
|
TARGET_LINK_LIBRARIES(nelnet nelmisc)
|
||||||
NL_DEFAULT_PROPS(nelnet "NeL, Library: NeL Net")
|
NL_DEFAULT_PROPS(nelnet "NeL, Library: NeL Net")
|
||||||
|
@ -20,10 +20,10 @@ NL_ADD_LIB_SUFFIX(nelnet)
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelnet ${CMAKE_CURRENT_SOURCE_DIR}/stdnet.h ${CMAKE_CURRENT_SOURCE_DIR}/stdnet.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelnet ${CMAKE_CURRENT_SOURCE_DIR}/stdnet.h ${CMAKE_CURRENT_SOURCE_DIR}/stdnet.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
NL_GEN_PC(nel-net.pc)
|
NL_GEN_PC(nel-net.pc)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelnet LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelnet LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -15,10 +15,10 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelpacs ${CMAKE_CURRENT_SOURCE_DIR}/stdpacs.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpacs.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelpacs ${CMAKE_CURRENT_SOURCE_DIR}/stdpacs.h ${CMAKE_CURRENT_SOURCE_DIR}/stdpacs.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
NL_GEN_PC(nel-pacs.pc)
|
NL_GEN_PC(nel-pacs.pc)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelpacs LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelpacs LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -1221,7 +1221,7 @@ void NLPACS::CGlobalRetriever::findCollisionChains(CCollisionSurfaceTemp &cst, c
|
||||||
|
|
||||||
if (!localRetriever.isLoaded())
|
if (!localRetriever.isLoaded())
|
||||||
{
|
{
|
||||||
nlwarning("local retriever %d in %s not loaded, findCollisionChains in this retriever aborted", localRetrieverId, _RetrieverBank->getNamePrefix().c_str());
|
nldebug("local retriever %d in %s not loaded, findCollisionChains in this retriever aborted", localRetrieverId, _RetrieverBank->getNamePrefix().c_str());
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,4 +15,4 @@ NL_ADD_LIB_SUFFIX(nelpipeline)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelpipeline LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelpipeline LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -93,7 +93,7 @@ TARGET_LINK_LIBRARIES(nelsound ${VORBISFILE_LIBRARY} ${VORBIS_LIBRARY})
|
||||||
IF(WITH_STATIC)
|
IF(WITH_STATIC)
|
||||||
# Add libogg dependency only if target is static because to libvorbisfile
|
# Add libogg dependency only if target is static because to libvorbisfile
|
||||||
TARGET_LINK_LIBRARIES(nelsound ${OGG_LIBRARY})
|
TARGET_LINK_LIBRARIES(nelsound ${OGG_LIBRARY})
|
||||||
ENDIF(WITH_STATIC)
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${LIBXML2_INCLUDE_DIR})
|
||||||
|
@ -108,12 +108,12 @@ ADD_DEFINITIONS(${LIBXML2_DEFINITIONS})
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelsound ${CMAKE_CURRENT_SOURCE_DIR}/stdsound.h ${CMAKE_CURRENT_SOURCE_DIR}/stdsound.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelsound ${CMAKE_CURRENT_SOURCE_DIR}/stdsound.h ${CMAKE_CURRENT_SOURCE_DIR}/stdsound.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
NL_GEN_PC(nel-sound.pc)
|
NL_GEN_PC(nel-sound.pc)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelsound LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelsound LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(driver)
|
ADD_SUBDIRECTORY(driver)
|
||||||
|
|
|
@ -94,7 +94,7 @@ IAudioDecoder *IAudioDecoder::createAudioDecoder(const std::string &type, NLMISC
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool IAudioDecoder::getInfo(const std::string &filepath, std::string &artist, std::string &title)
|
bool IAudioDecoder::getInfo(const std::string &filepath, std::string &artist, std::string &title, float &length)
|
||||||
{
|
{
|
||||||
std::string lookup = CPath::lookup(filepath, false);
|
std::string lookup = CPath::lookup(filepath, false);
|
||||||
if (lookup.empty())
|
if (lookup.empty())
|
||||||
|
@ -111,7 +111,7 @@ bool IAudioDecoder::getInfo(const std::string &filepath, std::string &artist, st
|
||||||
ifile.setCacheFileOnOpen(false);
|
ifile.setCacheFileOnOpen(false);
|
||||||
ifile.allowBNPCacheFileOnOpen(false);
|
ifile.allowBNPCacheFileOnOpen(false);
|
||||||
if (ifile.open(lookup))
|
if (ifile.open(lookup))
|
||||||
return CAudioDecoderVorbis::getInfo(&ifile, artist, title);
|
return CAudioDecoderVorbis::getInfo(&ifile, artist, title, length);
|
||||||
|
|
||||||
nlwarning("Unable to open: '%s'", filepath.c_str());
|
nlwarning("Unable to open: '%s'", filepath.c_str());
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,7 +117,7 @@ CAudioDecoderVorbis::~CAudioDecoderVorbis()
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Get information on a music file (only artist and title at the moment).
|
/// Get information on a music file (only artist and title at the moment).
|
||||||
bool CAudioDecoderVorbis::getInfo(NLMISC::IStream *stream, std::string &artist, std::string &title)
|
bool CAudioDecoderVorbis::getInfo(NLMISC::IStream *stream, std::string &artist, std::string &title, float &length)
|
||||||
{
|
{
|
||||||
CAudioDecoderVorbis mbv(stream, false); // just opens and closes the oggvorbisfile thing :)
|
CAudioDecoderVorbis mbv(stream, false); // just opens and closes the oggvorbisfile thing :)
|
||||||
vorbis_comment *vc = ov_comment(&mbv._OggVorbisFile, -1);
|
vorbis_comment *vc = ov_comment(&mbv._OggVorbisFile, -1);
|
||||||
|
@ -125,6 +125,7 @@ bool CAudioDecoderVorbis::getInfo(NLMISC::IStream *stream, std::string &artist,
|
||||||
if (title_c) title = title_c; else title.clear();
|
if (title_c) title = title_c; else title.clear();
|
||||||
char *artist_c = vorbis_comment_query(vc, "artist", 0);
|
char *artist_c = vorbis_comment_query(vc, "artist", 0);
|
||||||
if (artist_c) artist = artist_c; else artist.clear();
|
if (artist_c) artist = artist_c; else artist.clear();
|
||||||
|
length = (float)ov_time_total(&mbv._OggVorbisFile, -1);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1797,7 +1797,7 @@ void CAudioMixerUser::addSource( CSourceCommon *source )
|
||||||
_Sources.insert( source );
|
_Sources.insert( source );
|
||||||
|
|
||||||
// _profile(( "AM: ADDSOURCE, SOUND: %d, TRACK: %p, NAME=%s", source->getSound(), source->getTrack(),
|
// _profile(( "AM: ADDSOURCE, SOUND: %d, TRACK: %p, NAME=%s", source->getSound(), source->getTrack(),
|
||||||
// source->getSound() && (source->getSound()->getName()!="") ? source->getSound()->getName().c_str() : "" ));
|
// source->getSound() && (!source->getSound()->getName().empty()) ? source->getSound()->getName().c_str() : "" ));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2684,17 +2684,17 @@ float CAudioMixerUser::getMusicLength()
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
bool CAudioMixerUser::getSongTitle(const std::string &filename, std::string &result)
|
bool CAudioMixerUser::getSongTitle(const std::string &filename, std::string &result, float &length)
|
||||||
{
|
{
|
||||||
if (_SoundDriver)
|
if (_SoundDriver)
|
||||||
{
|
{
|
||||||
std::string artist;
|
std::string artist;
|
||||||
std::string title;
|
std::string title;
|
||||||
|
|
||||||
if (!_SoundDriver->getMusicInfo(filename, artist, title))
|
if (!_SoundDriver->getMusicInfo(filename, artist, title, length))
|
||||||
{
|
{
|
||||||
// use 3rd party libraries supported formats
|
// use 3rd party libraries supported formats
|
||||||
IAudioDecoder::getInfo(filename, artist, title);
|
IAudioDecoder::getInfo(filename, artist, title, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!title.empty())
|
if (!title.empty())
|
||||||
|
@ -2715,6 +2715,7 @@ bool CAudioMixerUser::getSongTitle(const std::string &filename, std::string &res
|
||||||
}
|
}
|
||||||
|
|
||||||
result = "???";
|
result = "???";
|
||||||
|
length = 0;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,24 +12,24 @@ NL_ADD_LIB_SUFFIX(nelsnd_lowlevel)
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nelsnd_lowlevel ${CMAKE_CURRENT_SOURCE_DIR}/stdsound_lowlevel.h ${CMAKE_CURRENT_SOURCE_DIR}/stdsound_lowlevel.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nelsnd_lowlevel ${CMAKE_CURRENT_SOURCE_DIR}/stdsound_lowlevel.h ${CMAKE_CURRENT_SOURCE_DIR}/stdsound_lowlevel.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS nelsnd_lowlevel LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nelsnd_lowlevel LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_OPENAL)
|
IF(WITH_DRIVER_OPENAL)
|
||||||
ADD_SUBDIRECTORY(openal)
|
ADD_SUBDIRECTORY(openal)
|
||||||
ENDIF(WITH_DRIVER_OPENAL)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_FMOD)
|
IF(WITH_DRIVER_FMOD)
|
||||||
ADD_SUBDIRECTORY(fmod)
|
ADD_SUBDIRECTORY(fmod)
|
||||||
ENDIF(WITH_DRIVER_FMOD)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_DSOUND)
|
IF(WITH_DRIVER_DSOUND)
|
||||||
ADD_SUBDIRECTORY(dsound)
|
ADD_SUBDIRECTORY(dsound)
|
||||||
ENDIF(WITH_DRIVER_DSOUND)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_DRIVER_XAUDIO2)
|
IF(WITH_DRIVER_XAUDIO2)
|
||||||
ADD_SUBDIRECTORY(xaudio2)
|
ADD_SUBDIRECTORY(xaudio2)
|
||||||
ENDIF(WITH_DRIVER_XAUDIO2)
|
ENDIF()
|
||||||
|
|
|
@ -115,7 +115,7 @@ public:
|
||||||
* \param artist returns the song artist (empty if not available)
|
* \param artist returns the song artist (empty if not available)
|
||||||
* \param title returns the title (empty if not available)
|
* \param title returns the title (empty if not available)
|
||||||
*/
|
*/
|
||||||
virtual bool getMusicInfo(const std::string & /* filepath */, std::string &artist, std::string &title) { artist.clear(); title.clear(); return false; }
|
virtual bool getMusicInfo(const std::string & /* filepath */, std::string &artist, std::string &title, float &length) { artist.clear(); title.clear(); length = 0.f; return false; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
|
@ -496,7 +496,7 @@ bool getTag (std::string &result, const char *tag, FSOUND_STREAM *stream)
|
||||||
* \param artist returns the song artist (empty if not available)
|
* \param artist returns the song artist (empty if not available)
|
||||||
* \param title returns the title (empty if not available)
|
* \param title returns the title (empty if not available)
|
||||||
*/
|
*/
|
||||||
bool CSoundDriverFMod::getMusicInfo(const std::string &filepath, std::string &artist, std::string &title)
|
bool CSoundDriverFMod::getMusicInfo(const std::string &filepath, std::string &artist, std::string &title, float &length)
|
||||||
{
|
{
|
||||||
/* Open a stream, get the tag if it exists, close the stream */
|
/* Open a stream, get the tag if it exists, close the stream */
|
||||||
string pathName = CPath::lookup(filepath, false);
|
string pathName = CPath::lookup(filepath, false);
|
||||||
|
@ -526,6 +526,8 @@ bool CSoundDriverFMod::getMusicInfo(const std::string &filepath, std::string &ar
|
||||||
{
|
{
|
||||||
getTag(artist, "ARTIST", stream);
|
getTag(artist, "ARTIST", stream);
|
||||||
getTag(title, "TITLE", stream);
|
getTag(title, "TITLE", stream);
|
||||||
|
// get length of the music in seconds
|
||||||
|
length = (float)FSOUND_Stream_GetLengthMs(stream) / 1000.f;
|
||||||
FSOUND_Stream_Close(stream);
|
FSOUND_Stream_Close(stream);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ public:
|
||||||
* \param artist returns the song artist (empty if not available)
|
* \param artist returns the song artist (empty if not available)
|
||||||
* \param title returns the title (empty if not available)
|
* \param title returns the title (empty if not available)
|
||||||
*/
|
*/
|
||||||
virtual bool getMusicInfo(const std::string &filepath, std::string &artist, std::string &title);
|
virtual bool getMusicInfo(const std::string &filepath, std::string &artist, std::string &title, float &length);
|
||||||
|
|
||||||
// also check that the channel still exist (avoid any free problem)
|
// also check that the channel still exist (avoid any free problem)
|
||||||
void markMusicChannelEnded(void *stream, CMusicChannelFMod *musicChannel);
|
void markMusicChannelEnded(void *stream, CMusicChannelFMod *musicChannel);
|
||||||
|
|
|
@ -48,9 +48,9 @@ IF(WIN32 AND WITH_3D)
|
||||||
IF(MAXSDK_FOUND)
|
IF(MAXSDK_FOUND)
|
||||||
ADD_SUBDIRECTORY(plugin_max)
|
ADD_SUBDIRECTORY(plugin_max)
|
||||||
ADD_SUBDIRECTORY(ligo)
|
ADD_SUBDIRECTORY(ligo)
|
||||||
ENDIF(MAXSDK_FOUND)
|
ENDIF()
|
||||||
ENDIF(WITH_NEL_MAXPLUGIN)
|
ENDIF()
|
||||||
ENDIF(MFC_FOUND)
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_NEL_TOOLS AND WITH_3D)
|
IF(WITH_NEL_TOOLS AND WITH_3D)
|
||||||
|
@ -59,8 +59,8 @@ IF(WITH_NEL_TOOLS AND WITH_3D)
|
||||||
IF(MFC_FOUND)
|
IF(MFC_FOUND)
|
||||||
ADD_SUBDIRECTORY(object_viewer_exe)
|
ADD_SUBDIRECTORY(object_viewer_exe)
|
||||||
ADD_SUBDIRECTORY(tile_edit)
|
ADD_SUBDIRECTORY(tile_edit)
|
||||||
ENDIF(MFC_FOUND)
|
ENDIF()
|
||||||
ENDIF(WIN32)
|
ENDIF()
|
||||||
|
|
||||||
IF(WITH_QT OR WITH_QT5)
|
IF(WITH_QT OR WITH_QT5)
|
||||||
ADD_SUBDIRECTORY(tile_edit_qt)
|
ADD_SUBDIRECTORY(tile_edit_qt)
|
||||||
|
|
|
@ -24,8 +24,7 @@
|
||||||
#include "nel/misc/log.h"
|
#include "nel/misc/log.h"
|
||||||
#include "nel/misc/path.h"
|
#include "nel/misc/path.h"
|
||||||
#include "nel/misc/uv.h"
|
#include "nel/misc/uv.h"
|
||||||
|
#include "nel/misc/cmd_args.h"
|
||||||
//#include "windows.h"
|
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -36,21 +35,9 @@ using namespace std;
|
||||||
using namespace NLMISC;
|
using namespace NLMISC;
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
//char sExeDir[MAX_PATH];
|
void outString(const string &sText)
|
||||||
std::string sExeDir;
|
|
||||||
NLMISC::CApplicationContext _ApplicationContext;
|
|
||||||
|
|
||||||
void outString (const string &sText)
|
|
||||||
{
|
{
|
||||||
std::string sCurDir = CPath::getCurrentPath();
|
printf("%s\n", sText.c_str());
|
||||||
CPath::setCurrentPath(sExeDir.c_str());
|
|
||||||
//char sCurDir[MAX_PATH];
|
|
||||||
//GetCurrentDirectory (MAX_PATH, sCurDir);
|
|
||||||
//SetCurrentDirectory (sExeDir);
|
|
||||||
NLMISC::createDebug ();
|
|
||||||
NLMISC::InfoLog->displayRaw(sText.c_str());
|
|
||||||
//SetCurrentDirectory (sCurDir);
|
|
||||||
CPath::setCurrentPath(sCurDir.c_str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
|
@ -59,7 +46,7 @@ const uint32 posStep= 4;
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// Try all position to put pSrc in pDst
|
// Try all position to put pSrc in pDst
|
||||||
bool tryAllPos (NLMISC::CBitmap *pSrc, NLMISC::CBitmap *pDst, sint32 &x, sint32 &y)
|
bool tryAllPos(NLMISC::CBitmap *pSrc, NLMISC::CBitmap *pDst, sint32 &x, sint32 &y)
|
||||||
{
|
{
|
||||||
uint32 i, j;
|
uint32 i, j;
|
||||||
CObjectVector<uint8> &rSrcPix = pSrc->getPixels();
|
CObjectVector<uint8> &rSrcPix = pSrc->getPixels();
|
||||||
|
@ -99,7 +86,7 @@ bool tryAllPos (NLMISC::CBitmap *pSrc, NLMISC::CBitmap *pDst, sint32 &x, sint32
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
void putPixel(uint8 *dst, uint8 *src, bool alphaTransfert)
|
void putPixel(uint8 *dst, uint8 *src, bool alphaTransfert)
|
||||||
{
|
{
|
||||||
dst[0] = src[0];
|
dst[0] = src[0];
|
||||||
dst[1] = src[1];
|
dst[1] = src[1];
|
||||||
|
@ -111,7 +98,7 @@ void putPixel(uint8 *dst, uint8 *src, bool alphaTransfert)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
bool putIn (NLMISC::CBitmap *pSrc, NLMISC::CBitmap *pDst, sint32 x, sint32 y, bool alphaTransfert=true)
|
bool putIn(NLMISC::CBitmap *pSrc, NLMISC::CBitmap *pDst, sint32 x, sint32 y, bool alphaTransfert=true)
|
||||||
{
|
{
|
||||||
uint8 *rSrcPix = &pSrc->getPixels()[0];
|
uint8 *rSrcPix = &pSrc->getPixels()[0];
|
||||||
uint8 *rDstPix = &pDst->getPixels()[0];
|
uint8 *rDstPix = &pDst->getPixels()[0];
|
||||||
|
@ -158,18 +145,17 @@ bool putIn (NLMISC::CBitmap *pSrc, NLMISC::CBitmap *pDst, sint32 x, sint32 y, bo
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
string getBaseName (const string &fullname)
|
string getBaseName(const string &fullname)
|
||||||
{
|
{
|
||||||
string sTmp2;
|
string basename;
|
||||||
string::size_type pos = fullname.rfind('_');
|
string::size_type pos = fullname.rfind('_');
|
||||||
if (pos != string::npos)
|
if (pos != string::npos) basename = fullname.substr(0, pos+1);
|
||||||
sTmp2 = fullname.substr(0, pos+1);
|
return basename;
|
||||||
return sTmp2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// resize the bitmap to the next power of 2 and preserve content
|
// resize the bitmap to the next power of 2 and preserve content
|
||||||
void enlargeCanvas (NLMISC::CBitmap &b)
|
void enlargeCanvas(NLMISC::CBitmap &b)
|
||||||
{
|
{
|
||||||
sint32 nNewWidth = b.getWidth(), nNewHeight = b.getHeight();
|
sint32 nNewWidth = b.getWidth(), nNewHeight = b.getHeight();
|
||||||
if (nNewWidth > nNewHeight)
|
if (nNewWidth > nNewHeight)
|
||||||
|
@ -188,65 +174,209 @@ void enlargeCanvas (NLMISC::CBitmap &b)
|
||||||
b = b2;
|
b = b2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool writeFileDependingOnFilename(const std::string &filename, CBitmap &bitmap)
|
||||||
|
{
|
||||||
|
NLMISC::COFile out;
|
||||||
|
|
||||||
|
if (out.open(filename))
|
||||||
|
{
|
||||||
|
if (toLower(filename).find(".png") != string::npos)
|
||||||
|
{
|
||||||
|
bitmap.writePNG(out, 32);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bitmap.writeTGA(out, 32);
|
||||||
|
}
|
||||||
|
|
||||||
|
out.close();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
// main
|
// main
|
||||||
// ***************************************************************************
|
// ***************************************************************************
|
||||||
int main(int nNbArg, char **ppArgs)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
//GetCurrentDirectory (MAX_PATH, sExeDir);
|
CApplicationContext applicationContext;
|
||||||
sExeDir = CPath::getCurrentPath();
|
|
||||||
|
// Parse Command Line.
|
||||||
|
NLMISC::CCmdArgs args;
|
||||||
|
|
||||||
|
args.setDescription("Build a huge interface texture from several small elements to optimize video memory usage.");
|
||||||
|
args.addArg("f", "format", "format", "Output format (png or tga)");
|
||||||
|
args.addArg("s", "subset", "existing_uv_txt_name", "Build a subset of an existing interface definition while preserving the existing texture ids, to support freeing up VRAM by switching to the subset without rebuilding the entire interface.");
|
||||||
|
args.addArg("x", "extract", "", "Extract all interface elements from <output_filename> to <input_path>.");
|
||||||
|
args.addAdditionalArg("output_filename", "PNG or TGA file to generate", true);
|
||||||
|
args.addAdditionalArg("input_path", "Path that containts interfaces elements", false);
|
||||||
|
|
||||||
|
if (!args.parse(argc, argv)) return 1;
|
||||||
|
|
||||||
if (nNbArg < 3)
|
|
||||||
{
|
|
||||||
outString ("ERROR : Wrong number of arguments\n");
|
|
||||||
outString ("USAGE : build_interface [-s<existing_uv_txt_name>] <out_tga_name> <path_maps1> [path_maps2] [path_maps3] ....\n");
|
|
||||||
outString (" -s : build a subset of an existing interface definition while preserving the existing texture ids,");
|
|
||||||
outString (" to support freeing up VRAM by switching to the subset without rebuilding the entire interface\n");
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
// build as a subset of existing interface
|
// build as a subset of existing interface
|
||||||
bool buildSubset = false;
|
bool buildSubset = false;
|
||||||
string existingUVfilename;
|
string existingUVfilename;
|
||||||
list<string> inputDirs;
|
|
||||||
for ( uint i=1; (sint)i<nNbArg; ++i )
|
if (args.haveArg("s"))
|
||||||
{
|
{
|
||||||
if ( ppArgs[i][0] == '-' )
|
buildSubset = true;
|
||||||
{
|
existingUVfilename = args.getArg("s").front();
|
||||||
switch ( ppArgs[i][1] )
|
|
||||||
{
|
|
||||||
case 'S':
|
|
||||||
case 's':
|
|
||||||
buildSubset = true;
|
|
||||||
existingUVfilename = string( ppArgs[i]+2 );
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
inputDirs.push_back(ppArgs[i]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
string fmtName;
|
// extract all interface elements
|
||||||
uint iNumDirs = (uint)inputDirs.size();
|
bool extractElements = args.haveArg("x");
|
||||||
if( iNumDirs )
|
|
||||||
|
// output format
|
||||||
|
std::string outputFormat;
|
||||||
|
|
||||||
|
if (args.haveArg("f"))
|
||||||
{
|
{
|
||||||
fmtName = inputDirs.front();
|
outputFormat = args.getArg("f").front();
|
||||||
inputDirs.pop_front();
|
|
||||||
--iNumDirs;
|
if (outputFormat != "png" && outputFormat != "tga")
|
||||||
|
{
|
||||||
|
outString(toString("ERROR: Format %s not supported, only png and tga formats are", outputFormat.c_str()));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<std::string> inputDirs = args.getAdditionalArg("input_path");
|
||||||
|
|
||||||
|
string fmtName = args.getAdditionalArg("output_filename").front();
|
||||||
|
|
||||||
|
// append PNG extension if no one provided
|
||||||
|
if (fmtName.rfind('.') == string::npos) fmtName += "." + (outputFormat.empty() ? "png":outputFormat);
|
||||||
|
|
||||||
|
if (extractElements)
|
||||||
|
{
|
||||||
|
if (inputDirs.empty())
|
||||||
|
{
|
||||||
|
outString(toString("ERROR: No input directories specified"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// name of UV file
|
||||||
|
existingUVfilename = fmtName.substr(0, fmtName.rfind('.'));
|
||||||
|
existingUVfilename += ".txt";
|
||||||
|
|
||||||
|
// Load existing UV file
|
||||||
|
CIFile iFile;
|
||||||
|
string filename = CPath::lookup(existingUVfilename, false);
|
||||||
|
|
||||||
|
if (filename.empty() || !iFile.open(filename))
|
||||||
|
{
|
||||||
|
outString(toString("ERROR: Unable to open %s", existingUVfilename.c_str()));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load existing bitmap file
|
||||||
|
CIFile bitmapFile;
|
||||||
|
|
||||||
|
if (!bitmapFile.open(fmtName))
|
||||||
|
{
|
||||||
|
outString(toString("ERROR: Unable to open %s", fmtName.c_str()));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// load bitmap
|
||||||
|
CBitmap textureBitmap;
|
||||||
|
uint8 colors = textureBitmap.load(bitmapFile);
|
||||||
|
|
||||||
|
// file already loaded in memory, close it
|
||||||
|
bitmapFile.close();
|
||||||
|
|
||||||
|
if (colors != 32)
|
||||||
|
{
|
||||||
|
outString(toString("ERROR: %s is not a RGBA bitmap", existingUVfilename.c_str()));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// make sure transparent pixels are black
|
||||||
|
textureBitmap.makeTransparentPixelsBlack();
|
||||||
|
|
||||||
|
float textureWidth = (float)textureBitmap.getWidth();
|
||||||
|
float textureHeight = (float)textureBitmap.getHeight();
|
||||||
|
|
||||||
|
char bufTmp[256], tgaName[256];
|
||||||
|
string sTGAname;
|
||||||
|
float uvMinU, uvMinV, uvMaxU, uvMaxV;
|
||||||
|
while (!iFile.eof())
|
||||||
|
{
|
||||||
|
iFile.getline(bufTmp, 256);
|
||||||
|
|
||||||
|
if (sscanf(bufTmp, "%s %f %f %f %f", tgaName, &uvMinU, &uvMinV, &uvMaxU, &uvMaxV) != 5)
|
||||||
|
{
|
||||||
|
nlwarning("Can't parse %s", bufTmp);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
float xf = uvMinU * textureWidth;
|
||||||
|
float yf = uvMinV * textureHeight;
|
||||||
|
float widthf = (uvMaxU - uvMinU) * textureWidth;
|
||||||
|
float heightf = (uvMaxV - uvMinV) * textureHeight;
|
||||||
|
|
||||||
|
uint x = (uint)xf;
|
||||||
|
uint y = (uint)yf;
|
||||||
|
uint width = (uint)widthf;
|
||||||
|
uint height = (uint)heightf;
|
||||||
|
|
||||||
|
if ((float)x != xf || (float)y != yf || (float)width != widthf || (float)height != heightf)
|
||||||
|
{
|
||||||
|
nlwarning("Wrong round");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (width && height)
|
||||||
|
{
|
||||||
|
// create bitmap
|
||||||
|
CBitmap bitmap;
|
||||||
|
bitmap.resize(width, height);
|
||||||
|
bitmap.blit(textureBitmap, x, y, width, height, 0, 0);
|
||||||
|
|
||||||
|
sTGAname = inputDirs.front() + "/" + tgaName;
|
||||||
|
|
||||||
|
// force specific format instead of using original one
|
||||||
|
if (!outputFormat.empty())
|
||||||
|
{
|
||||||
|
sTGAname = sTGAname.substr(0, sTGAname.rfind('.'));
|
||||||
|
sTGAname += "." + outputFormat;
|
||||||
|
}
|
||||||
|
|
||||||
|
// write the file
|
||||||
|
if (writeFileDependingOnFilename(sTGAname, bitmap))
|
||||||
|
{
|
||||||
|
outString(toString("Writing file %s", sTGAname.c_str()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
outString(toString("Unable to writing file %s", sTGAname.c_str()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
outString(toString("Bitmap with wrong size"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
vector<string> AllMapNames;
|
vector<string> AllMapNames;
|
||||||
list<string>::iterator it = inputDirs.begin();
|
vector<string>::iterator it = inputDirs.begin(), itEnd = inputDirs.end();
|
||||||
list<string>::iterator itEnd = inputDirs.end();
|
|
||||||
while( it != itEnd )
|
while( it != itEnd )
|
||||||
{
|
{
|
||||||
string sDir = *it++;
|
string sDir = *it++;
|
||||||
|
|
||||||
if( !CFile::isDirectory(sDir) )
|
if( !CFile::isDirectory(sDir) )
|
||||||
{
|
{
|
||||||
outString (string("ERROR : directory ") + sDir + " does not exist\n");
|
outString(toString("ERROR: directory %s does not exist", sDir.c_str()));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
CPath::getPathContent(sDir, false, false, true, AllMapNames);
|
CPath::getPathContent(sDir, false, false, true, AllMapNames);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -264,13 +394,16 @@ int main(int nNbArg, char **ppArgs)
|
||||||
{
|
{
|
||||||
pBtmp = new NLMISC::CBitmap;
|
pBtmp = new NLMISC::CBitmap;
|
||||||
NLMISC::CIFile inFile;
|
NLMISC::CIFile inFile;
|
||||||
if (!inFile.open( AllMapNames[i] )) throw NLMISC::Exception("Unable to open " + AllMapNames[i]);
|
|
||||||
|
if (!inFile.open(AllMapNames[i])) throw NLMISC::Exception(toString("Unable to open %s", AllMapNames[i].c_str()));
|
||||||
|
|
||||||
uint8 colors = pBtmp->load(inFile);
|
uint8 colors = pBtmp->load(inFile);
|
||||||
|
|
||||||
|
if (!colors) throw NLMISC::Exception(toString("%s is not a bitmap", AllMapNames[i].c_str()));
|
||||||
|
|
||||||
if (pBtmp->getPixelFormat() != CBitmap::RGBA)
|
if (pBtmp->getPixelFormat() != CBitmap::RGBA)
|
||||||
{
|
{
|
||||||
nlwarning("Converting %s to RGBA (32 bits), originally using %u bits...", AllMapNames[i].c_str(), (uint)colors);
|
outString(toString("Converting %s to RGBA (32 bits), originally using %u bits...", AllMapNames[i].c_str(), (uint)colors));
|
||||||
pBtmp->convertToType(CBitmap::RGBA);
|
pBtmp->convertToType(CBitmap::RGBA);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -280,7 +413,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
{
|
{
|
||||||
if (pBtmp) delete pBtmp;
|
if (pBtmp) delete pBtmp;
|
||||||
|
|
||||||
outString (string("ERROR :") + e.what());
|
outString(toString("ERROR : %s", e.what()));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -314,6 +447,7 @@ int main(int nNbArg, char **ppArgs)
|
||||||
vector<NLMISC::CUV> UVMin, UVMax;
|
vector<NLMISC::CUV> UVMin, UVMax;
|
||||||
UVMin.resize (mapSize, NLMISC::CUV(0.0f, 0.0f));
|
UVMin.resize (mapSize, NLMISC::CUV(0.0f, 0.0f));
|
||||||
UVMax.resize (mapSize, NLMISC::CUV(0.0f, 0.0f));
|
UVMax.resize (mapSize, NLMISC::CUV(0.0f, 0.0f));
|
||||||
|
|
||||||
for (sint i = 0; i < mapSize; ++i)
|
for (sint i = 0; i < mapSize; ++i)
|
||||||
{
|
{
|
||||||
sint32 x, y;
|
sint32 x, y;
|
||||||
|
@ -323,40 +457,20 @@ int main(int nNbArg, char **ppArgs)
|
||||||
enlargeCanvas (GlobalTexture);
|
enlargeCanvas (GlobalTexture);
|
||||||
enlargeCanvas (GlobalMask);
|
enlargeCanvas (GlobalMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
putIn (AllMaps[i], &GlobalTexture, x, y);
|
putIn (AllMaps[i], &GlobalTexture, x, y);
|
||||||
putIn (AllMaps[i], &GlobalMask, x, y, false);
|
putIn (AllMaps[i], &GlobalMask, x, y, false);
|
||||||
|
|
||||||
UVMin[i].U = (float)x;
|
UVMin[i].U = (float)x;
|
||||||
UVMin[i].V = (float)y;
|
UVMin[i].V = (float)y;
|
||||||
UVMax[i].U = (float)x+AllMaps[i]->getWidth();
|
UVMax[i].U = (float)x+AllMaps[i]->getWidth();
|
||||||
UVMax[i].V = (float)y+AllMaps[i]->getHeight();
|
UVMax[i].V = (float)y+AllMaps[i]->getHeight();
|
||||||
|
|
||||||
/* // Do not remove this is useful for debugging
|
#if 0
|
||||||
{
|
// Do not remove this is useful for debugging
|
||||||
NLMISC::COFile outTga;
|
writeFileDependingOnFilename(fmtName.substr(0, fmtName.rfind('.')) + "_txt.png", GlobalTexture);
|
||||||
string fmtName = ppArgs[1];
|
writeFileDependingOnFilename(fmtName.substr(0, fmtName.rfind('.')) + "_msk.png", GlobalMask);
|
||||||
if (fmtName.rfind('.') == string::npos)
|
#endif
|
||||||
fmtName += ".tga";
|
|
||||||
if (outTga.open(fmtName))
|
|
||||||
{
|
|
||||||
GlobalTexture.writeTGA (outTga, 32);
|
|
||||||
outTga.close();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{
|
|
||||||
NLMISC::COFile outTga;
|
|
||||||
string fmtName = ppArgs[1];
|
|
||||||
if (fmtName.rfind('.') == string::npos)
|
|
||||||
fmtName += "_msk.tga";
|
|
||||||
else
|
|
||||||
fmtName = fmtName.substr(0,fmtName.rfind('.')) + "_msk.tga";
|
|
||||||
if (outTga.open(fmtName))
|
|
||||||
{
|
|
||||||
GlobalMask.writeTGA (outTga, 32);
|
|
||||||
outTga.close();
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Convert UV from pixel to ratio
|
// Convert UV from pixel to ratio
|
||||||
|
@ -368,33 +482,17 @@ int main(int nNbArg, char **ppArgs)
|
||||||
UVMax[i].V = UVMax[i].V / (float)GlobalTexture.getHeight();
|
UVMax[i].V = UVMax[i].V / (float)GlobalTexture.getHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// make sure transparent pixels are black
|
||||||
|
GlobalTexture.makeTransparentPixelsBlack();
|
||||||
|
|
||||||
// Write global texture file
|
// Write global texture file
|
||||||
//SetCurrentDirectory (sExeDir);
|
if (writeFileDependingOnFilename(fmtName, GlobalTexture))
|
||||||
CPath::setCurrentPath(sExeDir.c_str());
|
|
||||||
|
|
||||||
NLMISC::COFile outTga;
|
|
||||||
if (fmtName.rfind('.') == string::npos)
|
|
||||||
fmtName += ".tga";
|
|
||||||
if (outTga.open(fmtName))
|
|
||||||
{
|
{
|
||||||
std::string ext;
|
outString(toString("Writing %s", fmtName.c_str()));
|
||||||
if (toLower(fmtName).find(".png") != string::npos)
|
|
||||||
{
|
|
||||||
ext = "png";
|
|
||||||
GlobalTexture.writePNG (outTga, 32);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ext = "tga";
|
|
||||||
GlobalTexture.writeTGA (outTga, 32);
|
|
||||||
}
|
|
||||||
|
|
||||||
outTga.close();
|
|
||||||
outString (toString("Writing %s file : %s\n", ext.c_str(), fmtName.c_str()));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
outString (string("ERROR: Cannot write tga file : ") + fmtName + "\n");
|
outString(toString("ERROR: Unable to write %s", fmtName.c_str()));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write UV text file
|
// Write UV text file
|
||||||
|
@ -402,22 +500,23 @@ int main(int nNbArg, char **ppArgs)
|
||||||
{
|
{
|
||||||
fmtName = fmtName.substr(0, fmtName.rfind('.'));
|
fmtName = fmtName.substr(0, fmtName.rfind('.'));
|
||||||
fmtName += ".txt";
|
fmtName += ".txt";
|
||||||
FILE *f = fopen (fmtName.c_str(), "wt");
|
FILE *f = nlfopen(fmtName, "wb");
|
||||||
if (f != NULL)
|
if (f != NULL)
|
||||||
{
|
{
|
||||||
for (sint i = 0; i < mapSize; ++i)
|
for (sint i = 0; i < mapSize; ++i)
|
||||||
{
|
{
|
||||||
// get the string whitout path
|
// get the string whitout path
|
||||||
string fileName= CFile::getFilename(AllMapNames[i]);
|
string fileName = CFile::getFilename(AllMapNames[i]);
|
||||||
fprintf (f, "%s %.12f %.12f %.12f %.12f\n", fileName.c_str(), UVMin[i].U, UVMin[i].V,
|
fprintf (f, "%s %.12f %.12f %.12f %.12f\n", fileName.c_str(), UVMin[i].U, UVMin[i].V, UVMax[i].U, UVMax[i].V);
|
||||||
UVMax[i].U, UVMax[i].V);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose (f);
|
fclose (f);
|
||||||
outString (string("Writing UV file : ") + fmtName + "\n");
|
|
||||||
|
outString(toString("Writing UV file %s", fmtName.c_str()));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
outString (string("ERROR: Cannot write UV file : ") + fmtName + "\n");
|
outString(toString("ERROR: Cannot write UV file %s", fmtName.c_str()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // build as a subset
|
else // build as a subset
|
||||||
|
@ -425,20 +524,21 @@ int main(int nNbArg, char **ppArgs)
|
||||||
// Load existing uv file
|
// Load existing uv file
|
||||||
CIFile iFile;
|
CIFile iFile;
|
||||||
string filename = CPath::lookup (existingUVfilename, false);
|
string filename = CPath::lookup (existingUVfilename, false);
|
||||||
if( (filename == "") || (!iFile.open(filename)) )
|
|
||||||
|
if( filename.empty() || !iFile.open(filename) )
|
||||||
{
|
{
|
||||||
outString (string("ERROR : could not open file ") + existingUVfilename + "\n");
|
outString(toString("ERROR: Unable to open %s", existingUVfilename.c_str()));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write subset UV text file
|
// Write subset UV text file
|
||||||
fmtName = fmtName.substr(0, fmtName.rfind('.'));
|
fmtName = fmtName.substr(0, fmtName.rfind('.'));
|
||||||
fmtName += ".txt";
|
fmtName += ".txt";
|
||||||
FILE *f = fopen (fmtName.c_str(), "wt");
|
FILE *f = nlfopen(fmtName, "wb");
|
||||||
|
|
||||||
if (f == NULL)
|
if (f == NULL)
|
||||||
{
|
{
|
||||||
outString (string("ERROR: Cannot write UV file : ") + fmtName + "\n");
|
outString(toString("ERROR: Unable to write UV file %s", fmtName.c_str()));
|
||||||
// fclose (iFile);
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -454,17 +554,27 @@ int main(int nNbArg, char **ppArgs)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sTGAname = toLower(string(tgaName));
|
||||||
|
|
||||||
|
// search position of extension
|
||||||
|
std::string tgaExt = CFile::getExtension(sTGAname);
|
||||||
|
|
||||||
|
// remove extension
|
||||||
|
sTGAname = CFile::getFilenameWithoutExtension(sTGAname);
|
||||||
|
|
||||||
sint i;
|
sint i;
|
||||||
|
|
||||||
sTGAname = toLower(string(tgaName));
|
|
||||||
string findTGAName;
|
string findTGAName;
|
||||||
for (i = 0; i < mapSize; ++i)
|
for (i = 0; i < mapSize; ++i)
|
||||||
{
|
{
|
||||||
// get the string whitout path
|
// get the string whitout path
|
||||||
findTGAName = toLower(CFile::getFilename(AllMapNames[i]));
|
findTGAName = toLower(CFile::getFilenameWithoutExtension(AllMapNames[i]));
|
||||||
if( findTGAName == sTGAname )
|
if( findTGAName == sTGAname )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// append extension
|
||||||
|
sTGAname += "." + tgaExt;
|
||||||
|
|
||||||
if( i == mapSize )
|
if( i == mapSize )
|
||||||
{
|
{
|
||||||
|
@ -474,13 +584,11 @@ int main(int nNbArg, char **ppArgs)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// present in subset: use new uv's
|
// present in subset: use new uv's
|
||||||
fprintf (f, "%s %.12f %.12f %.12f %.12f\n", sTGAname.c_str(), UVMin[i].U, UVMin[i].V,
|
fprintf (f, "%s %.12f %.12f %.12f %.12f\n", sTGAname.c_str(), UVMin[i].U, UVMin[i].V, UVMax[i].U, UVMax[i].V);
|
||||||
UVMax[i].U, UVMax[i].V);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// fclose (iFile);
|
|
||||||
fclose (f);
|
fclose (f);
|
||||||
outString (string("Writing UV file : ") + fmtName + "\n");
|
outString(toString("Writing UV file: %s", fmtName.c_str()));
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -13,4 +13,4 @@ NL_ADD_RUNTIME_FLAGS(mesh_utils)
|
||||||
|
|
||||||
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
||||||
INSTALL(TARGETS mesh_utils LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT tools3d)
|
INSTALL(TARGETS mesh_utils LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT tools3d)
|
||||||
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
|
ENDIF()
|
||||||
|
|
|
@ -17,11 +17,11 @@ ADD_DEFINITIONS(${MFC_DEFINITIONS} -DOBJECT_VIEWER_LIB_EXPORTS)
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(object_viewer_dll ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(object_viewer_dll ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
INSTALL(TARGETS object_viewer_dll LIBRARY DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT tools3d)
|
INSTALL(TARGETS object_viewer_dll LIBRARY DESTINATION ${NL_LIB_PREFIX} RUNTIME DESTINATION ${NL_BIN_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT tools3d)
|
||||||
INSTALL(FILES object_viewer.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT tools3d)
|
INSTALL(FILES object_viewer.cfg DESTINATION ${NL_ETC_PREFIX} COMPONENT tools3d)
|
||||||
IF(WITH_MAXPLUGIN)
|
IF(WITH_MAXPLUGIN)
|
||||||
INSTALL(TARGETS object_viewer_dll RUNTIME DESTINATION maxplugin COMPONENT tools3d)
|
INSTALL(TARGETS object_viewer_dll RUNTIME DESTINATION maxplugin COMPONENT tools3d)
|
||||||
INSTALL(FILES object_viewer.cfg DESTINATION maxplugin COMPONENT tools3d)
|
INSTALL(FILES object_viewer.cfg DESTINATION maxplugin COMPONENT tools3d)
|
||||||
ENDIF(WITH_MAXPLUGIN)
|
ENDIF()
|
||||||
|
|
|
@ -17,9 +17,9 @@ NL_ADD_RUNTIME_FLAGS(object_viewer)
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(object_viewer ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(object_viewer ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
INSTALL(TARGETS object_viewer RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d)
|
INSTALL(TARGETS object_viewer RUNTIME DESTINATION ${NL_BIN_PREFIX} COMPONENT tools3d)
|
||||||
IF(WITH_MAXPLUGIN)
|
IF(WITH_MAXPLUGIN)
|
||||||
INSTALL(TARGETS object_viewer RUNTIME DESTINATION maxplugin COMPONENT tools3d)
|
INSTALL(TARGETS object_viewer RUNTIME DESTINATION maxplugin COMPONENT tools3d)
|
||||||
ENDIF(WITH_MAXPLUGIN)
|
ENDIF()
|
||||||
|
|
|
@ -20,6 +20,6 @@ ADD_DEFINITIONS(-DNEL_3DSMAX_SHARED_EXPORTS)
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nel_3dsmax_shared ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nel_3dsmax_shared ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.h ${CMAKE_CURRENT_SOURCE_DIR}/StdAfx.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
INSTALL(TARGETS nel_3dsmax_shared RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nel_3dsmax_shared RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
|
|
|
@ -27,6 +27,6 @@ SET_TARGET_PROPERTIES(nel_export PROPERTIES SUFFIX ".dlu")
|
||||||
|
|
||||||
IF(WITH_PCH)
|
IF(WITH_PCH)
|
||||||
ADD_NATIVE_PRECOMPILED_HEADER(nel_export ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp)
|
ADD_NATIVE_PRECOMPILED_HEADER(nel_export ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.h ${CMAKE_CURRENT_SOURCE_DIR}/std_afx.cpp)
|
||||||
ENDIF(WITH_PCH)
|
ENDIF()
|
||||||
|
|
||||||
INSTALL(TARGETS nel_export RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
INSTALL(TARGETS nel_export RUNTIME DESTINATION maxplugin/plugins LIBRARY DESTINATION ${NL_LIB_PREFIX} ARCHIVE DESTINATION ${NL_LIB_PREFIX} COMPONENT libraries)
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue