Skip to content

Commit 2927a4b

Browse files
committed
Merge remote-tracking branch 'gl/luaglm-dev/cfx' into luaglm-dev/cfx
2 parents 4d471a6 + 1154b32 commit 2927a4b

50 files changed

Lines changed: 1978 additions & 521 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CMakeLists.txt

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ PROJECT( lua CXX )
66
SET(CMAKE_CXX_STANDARD 11)
77
SET(CMAKE_CXX_STANDARD_REQUIRED ON)
88
SET(CXX_EXTENSIONS OFF)
9-
IF( _CMAKE_CXX_IPO_MAY_BE_SUPPORTED_BY_COMPILER )
10-
SET(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) # CMake 3.9.0; support flto
11-
ENDIF()
129

1310
INCLUDE(CheckCXXCompilerFlag)
1411
IF( CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
@@ -71,8 +68,8 @@ IF( MSVC )
7168
MESSAGE(WARNING "MSVC detected! For MSVC/msbuild environments, it is advised to use the LLVM/ClangCL toolset")
7269
ENDIF()
7370

74-
IF(CMAKE_BUILD_TYPE MATCHES Debug OR CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
75-
ADD_COMPILE_OPTIONS(/OX /Oi)
71+
IF(CMAKE_BUILD_TYPE MATCHES Debug)
72+
ADD_COMPILE_OPTIONS(/Oi)
7673
ELSE()
7774
ADD_COMPILE_OPTIONS(/Ob2 /Oi /GF /GS- /EHsc /DNDEBUG)
7875
ENDIF()
@@ -99,13 +96,13 @@ IF( MSVC )
9996
ADD_COMPILE_DEFINITIONS(_CRT_SECURE_NO_DEPRECATE)
10097
ADD_COMPILE_DEFINITIONS(_CRT_NONSTDC_NO_DEPRECATE)
10198

102-
SET(LUA_C_FLAGS "/MT")
99+
SET(LUA_C_FLAGS "")
103100
SET(LUA_REL_FLAGS "${LUA_REL_FLAGS} /GL")
104101
SET(LUA_LINKFLAGS "${LUA_LINKFLAGS} /LTCG")
105102

106103
# Visual Studio 2019 feature
107104
CHECK_CXX_COMPILER_FLAG("/Ob3" COMPILER_OPT_OB3)
108-
IF( COMPILER_OPT_OB3 )
105+
IF( COMPILER_OPT_OB3 AND NOT CMAKE_COMPILER_IS_CLANGXX )
109106
STRING(REGEX REPLACE "[-/]Ob[1-4]" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
110107
STRING(REGEX REPLACE "[-/]Ob[1-4]" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
111108
STRING(REGEX REPLACE "[-/]Ob[1-4]" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
@@ -196,12 +193,12 @@ ELSE()
196193

197194
# Compile everything, lglm.cpp, or nothing with common performance tweaks
198195
IF( LUA_NATIVE_ARCH )
199-
ADD_COMPILE_OPTIONS(-fno-stack-protector -flto)
196+
ADD_COMPILE_OPTIONS(-fno-stack-protector)
200197
IF (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
201198
ADD_COMPILE_OPTIONS(-fno-plt)
202199
ENDIF()
203200
ELSEIF( GLM_NATIVE_ARCH )
204-
SET(glm_nativeFlags "${glm_nativeFlags} --fno-stack-protector -flto")
201+
SET(glm_nativeFlags "${glm_nativeFlags} --fno-stack-protector")
205202
IF (NOT CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
206203
SET(glm_nativeFlags "${glm_nativeFlags} -fno-plt")
207204
ENDIF()
@@ -314,12 +311,12 @@ OPTION(LUA_COMPAT_5_3 "Controls other macros for compatibility with Lua 5.3" ON)
314311
OPTION(LUA_COMPAT_5_4_0 "Controls other macros for compatibility with Lua 5.4.0" OFF)
315312
OPTION(LUA_COMPAT_MATHLIB "Controls the presence of several deprecated functions in the mathematical library." ON)
316313
OPTION(LUA_USE_JUMPTABLE "Force the use of jump tables in the main interpreter loop" OFF)
317-
OPTION(LUA_USE_LONGJMP "handles errors with _longjmp/_setjmp when compiling as C++" OFF)
318-
OPTION(LUA_CPP_EXCEPTIONS "unprotected calls are wrapped in typed C++ exceptions" ON)
314+
OPTION(LUA_USE_LONGJMP "handles errors with _longjmp/_setjmp when compiling as C++" ON)
315+
OPTION(LUA_CPP_EXCEPTIONS "unprotected calls are wrapped in typed C++ exceptions" OFF)
319316

320-
IF( CMAKE_BUILD_TYPE STREQUAL Debug )
321-
SET(LUA_INCLUDE_TEST ON)
322-
ENDIF()
317+
# IF( CMAKE_BUILD_TYPE STREQUAL Debug )
318+
# SET(LUA_INCLUDE_TEST ON)
319+
# ENDIF()
323320

324321
SET(LUA_F2IMOD_ENUM F2Ieq F2Ifloor F2Iceil)
325322
SET(LUA_F2IMOD F2Ieq CACHE STRING "Rounding modes for float-to-integer coercion")
@@ -478,7 +475,6 @@ OPTION(GRIT_COMPAT_IPAIRS "Reintroduce compatibility for the ``__ipairs`` metame
478475
OPTION(GRIT_POWER_DEFER "Enable the defer statement" OFF)
479476
OPTION(GRIT_POWER_DEFER_OLD "Import func2close from ltests.h into the base library as `defer`" ON)
480477
OPTION(GRIT_POWER_JOAAT "Enable compile time Jenkins' one-at-a-time hashing" ON)
481-
OPTION(GRIT_POWER_PRELOADLIBS "Allow the preloading of libraries via command line arguments." ON)
482478
OPTION(GRIT_POWER_COMPOUND "Add compound operators (+=, -=, *=, /=, <<=, >>=, &=, |=, and ^=) to the language." ON)
483479
OPTION(GRIT_POWER_INTABLE "Support for unpacking named values from tables using the in keyword" ON)
484480
OPTION(GRIT_POWER_TABINIT "Syntactic sugar to improve the syntax for specifying sets" ON)
@@ -525,10 +521,6 @@ IF( GRIT_COMPAT_IPAIRS )
525521
ADD_COMPILE_DEFINITIONS(GRIT_COMPAT_IPAIRS)
526522
ENDIF()
527523

528-
IF( GRIT_POWER_PRELOADLIBS )
529-
ADD_COMPILE_DEFINITIONS(GRIT_POWER_PRELOADLIBS)
530-
ENDIF()
531-
532524
IF( GRIT_POWER_COMPOUND )
533525
ADD_COMPILE_DEFINITIONS(GRIT_POWER_COMPOUND)
534526
ENDIF()
@@ -591,7 +583,7 @@ OPTION(GLM_FORCE_SILENT_WARNINGS "Silent C++ warnings from language extensions"
591583

592584
# Formerly known as 'GLM_FORCE_QUAT_DATA_WXYZ', however, changed without support
593585
# for backwards compatibility in-mind; must be compensated for in source.
594-
OPTION(GLM_FORCE_QUAT_DATA_XYZW "Force GLM to store quat data as x,y,z,w instead of w,x,y,z" ON)
586+
OPTION(GLM_FORCE_QUAT_DATA_XYZW "Force GLM to store quat data as x,y,z,w instead of w,x,y,z" OFF)
595587
# GLM_FORCE_PRECISION_{ LOWP_FLOAT, MEDIUMP_FLOAT, HIGHP_FLOAT }
596588

597589
ADD_COMPILE_DEFINITIONS(GLM_ENABLE_EXPERIMENTAL)
@@ -662,7 +654,8 @@ IF( GLM_FORCE_SILENT_WARNINGS )
662654
ENDIF()
663655

664656
IF( GLM_FORCE_QUAT_DATA_XYZW )
665-
ADD_COMPILE_DEFINITIONS(GLM_FORCE_QUAT_DATA_XYZW)
657+
MESSAGE(FATAL_ERROR "Disable GLM_FORCE_QUAT_DATA_XYZW" )
658+
# ADD_COMPILE_DEFINITIONS(GLM_FORCE_QUAT_DATA_XYZW)
666659
ENDIF()
667660

668661
IF( LUA_GLM_INCLUDE_EXT )
@@ -793,6 +786,7 @@ IF( NOT ONE_LUA )
793786
TARGET_SOURCES(liblua_static PRIVATE ${LUA_ALLOCATOR_FILES})
794787

795788
TARGET_LINK_LIBRARIES(liblua_static ${LIBS})
789+
SET_TARGET_PROPERTIES(liblua_static PROPERTIES POSITION_INDEPENDENT_CODE ON)
796790
SET_TARGET_PROPERTIES(liblua_static PROPERTIES OUTPUT_NAME lua${LIB_LUA_VER}_static CLEAN_DIRECT_OUTPUT 1)
797791
ELSE()
798792
ADD_COMPILE_DEFINITIONS(LUA_INCLUDE_LIBGLM)
@@ -931,6 +925,6 @@ IF( LUA_INCLUDE_TEST ) # ctest --verbose
931925
ENABLE_TESTING()
932926
ADD_TEST(NAME test_all
933927
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/testes
934-
COMMAND lua ${PROJECT_SOURCE_DIR}/testes/all.lua
928+
COMMAND lua -e "_port=true" ${PROJECT_SOURCE_DIR}/testes/all.lua
935929
)
936930
ENDIF()

0 commit comments

Comments
 (0)