@@ -6,9 +6,6 @@ PROJECT( lua CXX )
66SET (CMAKE_CXX_STANDARD 11)
77SET (CMAKE_CXX_STANDARD_REQUIRED ON )
88SET (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
1310INCLUDE (CheckCXXCompilerFlag )
1411IF ( 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)
314311OPTION (LUA_COMPAT_5_4_0 "Controls other macros for compatibility with Lua 5.4.0" OFF )
315312OPTION (LUA_COMPAT_MATHLIB "Controls the presence of several deprecated functions in the mathematical library." ON )
316313OPTION (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
324321SET (LUA_F2IMOD_ENUM F2Ieq F2Ifloor F2Iceil)
325322SET (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
478475OPTION (GRIT_POWER_DEFER "Enable the defer statement" OFF )
479476OPTION (GRIT_POWER_DEFER_OLD "Import func2close from ltests.h into the base library as `defer`" ON )
480477OPTION (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 )
482478OPTION (GRIT_POWER_COMPOUND "Add compound operators (+=, -=, *=, /=, <<=, >>=, &=, |=, and ^=) to the language." ON )
483479OPTION (GRIT_POWER_INTABLE "Support for unpacking named values from tables using the in keyword" ON )
484480OPTION (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 )
526522ENDIF ()
527523
528- IF ( GRIT_POWER_PRELOADLIBS )
529- ADD_COMPILE_DEFINITIONS (GRIT_POWER_PRELOADLIBS )
530- ENDIF ()
531-
532524IF ( GRIT_POWER_COMPOUND )
533525 ADD_COMPILE_DEFINITIONS (GRIT_POWER_COMPOUND )
534526ENDIF ()
@@ -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
597589ADD_COMPILE_DEFINITIONS (GLM_ENABLE_EXPERIMENTAL )
@@ -662,7 +654,8 @@ IF( GLM_FORCE_SILENT_WARNINGS )
662654ENDIF ()
663655
664656IF ( 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)
666659ENDIF ()
667660
668661IF ( 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)
797791ELSE ()
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 )
936930ENDIF ()
0 commit comments