mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-18 11:19:10 +00:00
Add an hsDeprecated macro for declaring APIs deprecated
This commit is contained in:
@ -30,6 +30,12 @@ if(UNIX)
|
||||
endif(UNIX)
|
||||
# End HeadSpin Configuration
|
||||
|
||||
# Header file for globally-set confingure-time defines
|
||||
configure_file(${PROJECT_SOURCE_DIR}/cmake/hsCompilerSpecific.h.cmake
|
||||
${PROJECT_BINARY_DIR}/hsCompilerSpecific.h)
|
||||
include_directories(${PROJECT_BINARY_DIR})
|
||||
# End hsCompilerSpecific.h
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${Plasma_BINARY_DIR}/bin)
|
||||
|
||||
|
@ -32,12 +32,24 @@ try_compile(HAVE_CPUID ${PROJECT_BINARY_DIR}
|
||||
${PROJECT_SOURCE_DIR}/cmake/check_cpuid.cpp
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
if(HAVE_CPUID)
|
||||
add_definitions(-DHAVE_CPUID)
|
||||
message("CPUID header found -- using hardware math acceleration when available")
|
||||
else()
|
||||
message("CPUID header not found -- using software math")
|
||||
endif()
|
||||
|
||||
try_compile(HAVE_CXX14_DEPRECATED_ATTR ${PROJECT_BINARY_DIR}
|
||||
${PROJECT_SOURCE_DIR}/cmake/check_deprecated_attribute.cpp
|
||||
COMPILE_DEFINITIONS -DTRY_ATTRIBUTE
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
try_compile(HAVE_GCC_DEPRECATED_ATTR ${PROJECT_BINARY_DIR}
|
||||
${PROJECT_SOURCE_DIR}/cmake/check_deprecated_attribute.cpp
|
||||
COMPILE_DEFINITIONS -DTRY_GCC_ATTR
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
try_compile(HAVE_MSVC_DEPRECATED_ATTR ${PROJECT_BINARY_DIR}
|
||||
${PROJECT_SOURCE_DIR}/cmake/check_deprecated_attribute.cpp
|
||||
COMPILE_DEFINITIONS -DTRY_MSVC_ATTR
|
||||
OUTPUT_VARIABLE OUTPUT)
|
||||
|
||||
set(CoreLib_SOURCES
|
||||
HeadSpin.cpp
|
||||
hsBitVector.cpp
|
||||
|
@ -42,6 +42,9 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#ifndef HeadSpinHDefined
|
||||
#define HeadSpinHDefined
|
||||
|
||||
// Ensure these get set consistently regardless of what module includes it
|
||||
#include "hsCompilerSpecific.h"
|
||||
|
||||
#if (defined(_DEBUG) || defined(UNIX_DEBUG))
|
||||
# define HS_DEBUGGING
|
||||
#endif // defined(_DEBUG) || defined(UNIX_DENUG)
|
||||
@ -138,6 +141,15 @@ typedef uint32_t hsGSeedValue;
|
||||
|
||||
#define hsFourByteTag(a, b, c, d) (((uint32_t)(a) << 24) | ((uint32_t)(b) << 16) | ((uint32_t)(c) << 8) | (d))
|
||||
|
||||
#if defined(HAVE_CXX14_DEPRECATED_ATTR)
|
||||
# define hsDeprecated(message) [[deprecated(message)]]
|
||||
#elif defined(HAVE_GCC_DEPRECATED_ATTR)
|
||||
# define hsDeprecated(message) __attribute__((deprecated(message)))
|
||||
#elif defined(HAVE_MSVC_DEPRECATED_ATTR)
|
||||
# define hsDeprecated(message) __declspec(deprecated(message))
|
||||
#else
|
||||
# define hsDeprecated(message)
|
||||
#endif
|
||||
|
||||
//======================================
|
||||
// Endian swap funcitions
|
||||
|
@ -40,6 +40,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#include "hsCompilerSpecific.h"
|
||||
|
||||
#if defined(HAVE_CPUID)
|
||||
# if defined(_MSC_VER) || ((defined(_WIN32) || defined(_WIN64)) && defined(__INTEL_COMPILER))
|
||||
# include <intrin.h>
|
||||
|
@ -43,12 +43,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
#ifndef plString_Defined
|
||||
#define plString_Defined
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <cstdarg>
|
||||
#include <cstdint>
|
||||
#include <cctype>
|
||||
#include "HeadSpin.h"
|
||||
#include <vector>
|
||||
|
||||
/** Single Unicode character code unit */
|
||||
@ -409,12 +404,14 @@ public:
|
||||
double ToDouble() const;
|
||||
|
||||
/** Construct a plString using a printf-like format string. */
|
||||
hsDeprecated("plString::Format is deprecated -- use plFormat instead")
|
||||
static plString Format(const char *fmt, ...);
|
||||
|
||||
/** Construct a plString using a printf-like format string.
|
||||
* This function should be called inside of vararg functions, such as
|
||||
* plString::Format().
|
||||
*/
|
||||
hsDeprecated("plString::IFormat is deprecated -- use plFormat instead")
|
||||
static plString IFormat(const char *fmt, va_list vptr);
|
||||
|
||||
enum CaseSensitivity {
|
||||
|
@ -1,11 +1,11 @@
|
||||
// AssShader.cpp : Defines the entry point for the console application.
|
||||
//
|
||||
|
||||
#include "plFileSystem.h"
|
||||
|
||||
#include <d3d9.h>
|
||||
#include <d3dx9core.h>
|
||||
|
||||
#include "plFileSystem.h"
|
||||
|
||||
void ICreateHeader(const char* const varName, const char* const fileName, FILE* fp, LPD3DXBUFFER shader)
|
||||
{
|
||||
fprintf(fp, "\n\n\n");
|
||||
|
22
cmake/check_deprecated_attribute.cpp
Normal file
22
cmake/check_deprecated_attribute.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
#include <cstdio>
|
||||
|
||||
#if defined(TRY_ATTRIBUTE)
|
||||
[[deprecated("derp_func is deprecated -- use func instead")]]
|
||||
#elif defined(TRY_GCC_ATTR)
|
||||
__attribute__((deprecated("derp_func is deprecated -- use func instead")))
|
||||
#elif defined(TRY_MSVC_ATTR)
|
||||
__declspec(deprecated("derp_func is deprecated -- use func instead"))
|
||||
#else
|
||||
# error "DERP"
|
||||
#endif
|
||||
void derp_func()
|
||||
{
|
||||
// This is deprecated
|
||||
fputs("derp\n", stdout);
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
derp_func();
|
||||
return 0;
|
||||
}
|
52
cmake/hsCompilerSpecific.h.cmake
Normal file
52
cmake/hsCompilerSpecific.h.cmake
Normal file
@ -0,0 +1,52 @@
|
||||
/*==LICENSE==*
|
||||
|
||||
CyanWorlds.com Engine - MMOG client, server and tools
|
||||
Copyright (C) 2011 Cyan Worlds, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Additional permissions under GNU GPL version 3 section 7
|
||||
|
||||
If you modify this Program, or any covered work, by linking or
|
||||
combining it with any of RAD Game Tools Bink SDK, Autodesk 3ds Max SDK,
|
||||
NVIDIA PhysX SDK, Microsoft DirectX SDK, OpenSSL library, Independent
|
||||
JPEG Group JPEG library, Microsoft Windows Media SDK, or Apple QuickTime SDK
|
||||
(or a modified version of those libraries),
|
||||
containing parts covered by the terms of the Bink SDK EULA, 3ds Max EULA,
|
||||
PhysX SDK EULA, DirectX SDK EULA, OpenSSL and SSLeay licenses, IJG
|
||||
JPEG Library README, Windows Media SDK EULA, or QuickTime SDK EULA, the
|
||||
licensors of this Program grant you additional
|
||||
permission to convey the resulting work. Corresponding Source for a
|
||||
non-source form of such a combination shall include the source code for
|
||||
the parts of OpenSSL and IJG JPEG Library used as well as that of the covered
|
||||
work.
|
||||
|
||||
You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
||||
or by snail mail at:
|
||||
Cyan Worlds, Inc.
|
||||
14617 N Newport Hwy
|
||||
Mead, WA 99021
|
||||
|
||||
*==LICENSE==*/
|
||||
|
||||
#ifndef _hs_Compiler_Specific_H
|
||||
#define _hs_Compiler_Specific_H
|
||||
|
||||
#cmakedefine HAVE_CPUID
|
||||
|
||||
#cmakedefine HAVE_CXX14_DEPRECATED_ATTR
|
||||
#cmakedefine HAVE_GCC_DEPRECATED_ATTR
|
||||
#cmakedefine HAVE_MSVC_DEPRECATED_ATTR
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user