mirror of https://github.com/FWGS/hlsdk-xash3d
cmake: always use LTO if possible.
This commit is contained in:
parent
32b49f4879
commit
63807139c3
|
@ -33,6 +33,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
|
||||||
include(CheckIncludeFile)
|
include(CheckIncludeFile)
|
||||||
include(CheckCSourceCompiles)
|
include(CheckCSourceCompiles)
|
||||||
include(VSForceXPToolchain) # Force XP toolchain for Visual Studio
|
include(VSForceXPToolchain) # Force XP toolchain for Visual Studio
|
||||||
|
include(CheckIPOSupported)
|
||||||
|
|
||||||
project (HLSDK-PORTABLE)
|
project (HLSDK-PORTABLE)
|
||||||
|
|
||||||
|
@ -152,6 +153,13 @@ if(VITA)
|
||||||
add_compile_options(-fno-use-cxa-atexit)
|
add_compile_options(-fno-use-cxa-atexit)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
check_ipo_supported(RESULT HAVE_LTO OUTPUT LTO_ERROR)
|
||||||
|
if(HAVE_LTO)
|
||||||
|
message(STATUS "IPO / LTO enabled")
|
||||||
|
else()
|
||||||
|
message(STATUS "IPO / LTO not supported: <${LTO_ERROR}>")
|
||||||
|
endif()
|
||||||
|
|
||||||
check_include_file("tgmath.h" HAVE_TGMATH_H)
|
check_include_file("tgmath.h" HAVE_TGMATH_H)
|
||||||
if(HAVE_TGMATH_H)
|
if(HAVE_TGMATH_H)
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
|
|
|
@ -208,6 +208,10 @@ if(MSVC)
|
||||||
set_property(TARGET ${CLDLL_LIBRARY} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
set_property(TARGET ${CLDLL_LIBRARY} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(HAVE_LTO)
|
||||||
|
set_property(TARGET ${CLDLL_LIBRARY} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
install( TARGETS ${CLDLL_LIBRARY}
|
install( TARGETS ${CLDLL_LIBRARY}
|
||||||
DESTINATION "${GAMEDIR}/${CLIENT_INSTALL_DIR}/"
|
DESTINATION "${GAMEDIR}/${CLIENT_INSTALL_DIR}/"
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
||||||
|
|
|
@ -166,7 +166,8 @@ void VectorScale( const float *in, float scale, float *out );
|
||||||
float VectorNormalize( float *v );
|
float VectorNormalize( float *v );
|
||||||
void VectorInverse( float *v );
|
void VectorInverse( float *v );
|
||||||
|
|
||||||
extern vec3_t vec3_origin;
|
// extern vec3_t vec3_origin;
|
||||||
|
extern float vec3_origin[3];
|
||||||
|
|
||||||
// disable 'possible loss of data converting float to int' warning message
|
// disable 'possible loss of data converting float to int' warning message
|
||||||
#pragma warning( disable: 4244 )
|
#pragma warning( disable: 4244 )
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
#if !defined(M_PI_F)
|
#if !defined(M_PI_F)
|
||||||
#define M_PI_F (float)M_PI
|
#define M_PI_F (float)M_PI
|
||||||
#endif
|
#endif
|
||||||
extern vec3_t vec3_origin;
|
// extern vec3_t vec3_origin;
|
||||||
|
|
||||||
// if C++ mangling differs from C symbol name
|
// if C++ mangling differs from C symbol name
|
||||||
#if _MSC_VER || __WATCOMC__
|
#if _MSC_VER || __WATCOMC__
|
||||||
|
|
|
@ -173,6 +173,10 @@ if(MSVC)
|
||||||
set_property(TARGET ${SVDLL_LIBRARY} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
set_property(TARGET ${SVDLL_LIBRARY} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(HAVE_LTO)
|
||||||
|
set_property(TARGET ${SVDLL_LIBRARY} PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
install( TARGETS ${SVDLL_LIBRARY}
|
install( TARGETS ${SVDLL_LIBRARY}
|
||||||
DESTINATION "${GAMEDIR}/${SERVER_INSTALL_DIR}/"
|
DESTINATION "${GAMEDIR}/${SERVER_INSTALL_DIR}/"
|
||||||
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
||||||
|
|
Loading…
Reference in New Issue