From 58f6431ff009ce7850bbff6207f151fb42124275 Mon Sep 17 00:00:00 2001 From: Robert MacGregor Date: Fri, 3 Dec 2021 16:37:22 -0500 Subject: [PATCH 1/2] * BugFix: Correct compilation for MacOS by explicitly specifying C++11 for all libraries and C++17 for the engine itself. --- Tools/CMake/basics.cmake | 6 ++++++ Tools/CMake/torque3d.cmake | 3 --- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Tools/CMake/basics.cmake b/Tools/CMake/basics.cmake index 83e9e1952..dbd6f9a71 100644 --- a/Tools/CMake/basics.cmake +++ b/Tools/CMake/basics.cmake @@ -348,6 +348,8 @@ macro(finishLibrary) add_library("${PROJECT_NAME}" SHARED ${${PROJECT_NAME}_files}) endif() + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11) + # omg - only use the first folder ... otherwise we get lots of header name collisions #foreach(dir ${${PROJECT_NAME}_paths}) addInclude("${firstDir}") @@ -384,6 +386,10 @@ macro(finishExecutable) else() add_executable("${PROJECT_NAME}" WIN32 ${${PROJECT_NAME}_files}) endif() + + # Torque requires c++17 + target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) + addInclude("${firstDir}") _postTargetProcess() diff --git a/Tools/CMake/torque3d.cmake b/Tools/CMake/torque3d.cmake index 46b41ef19..2f5a0b6ac 100644 --- a/Tools/CMake/torque3d.cmake +++ b/Tools/CMake/torque3d.cmake @@ -656,9 +656,6 @@ finishExecutable() ############################################################################### ############################################################################### -# Torque requires c++17 -target_compile_features(${TORQUE_APP_NAME} PRIVATE cxx_std_17) - # Set Visual Studio startup project if(MSVC) set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${TORQUE_APP_NAME}) From 5fa7c62ba938d6190e9c80ca16645207a594f935 Mon Sep 17 00:00:00 2001 From: Robert MacGregor Date: Fri, 3 Dec 2021 20:33:02 -0500 Subject: [PATCH 2/2] * BugFix: Don't use the register keyword in the console grammar files. --- Engine/source/console/bison.simple | 20 ++++++++++---------- Engine/source/console/cmdgram.cpp | 20 ++++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/Engine/source/console/bison.simple b/Engine/source/console/bison.simple index 0fb74ce71..24a8670cb 100644 --- a/Engine/source/console/bison.simple +++ b/Engine/source/console/bison.simple @@ -166,9 +166,9 @@ __yy_memcpy (from, to, count) char *to; int count; { - register char *f = from; - register char *t = to; - register int i = count; + char *f = from; + char *t = to; + int i = count; while (i-- > 0) *t++ = *f++; @@ -181,9 +181,9 @@ __yy_memcpy (from, to, count) static void __yy_memcpy (char *from, char *to, int count) { - register char *f = from; - register char *t = to; - register int i = count; + char *f = from; + char *t = to; + int i = count; while (i-- > 0) *t++ = *f++; @@ -211,10 +211,10 @@ int yyparse(YYPARSE_PARAM) YYPARSE_PARAM_DECL { - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; + int yystate; + int yyn; + short *yyssp; + YYSTYPE *yyvsp; int yyerrstatus; /* number of tokens to shift before error messages enabled */ int yychar1 = 0; /* lookahead token as an internal (translated) token number */ diff --git a/Engine/source/console/cmdgram.cpp b/Engine/source/console/cmdgram.cpp index aab109792..3bf0131d6 100644 --- a/Engine/source/console/cmdgram.cpp +++ b/Engine/source/console/cmdgram.cpp @@ -1247,9 +1247,9 @@ __yy_memcpy (from, to, count) char *to; int count; { - register char *f = from; - register char *t = to; - register int i = count; + char *f = from; + char *t = to; + int i = count; while (i-- > 0) *t++ = *f++; @@ -1262,9 +1262,9 @@ __yy_memcpy (from, to, count) static void __yy_memcpy (char *from, char *to, int count) { - register char *f = from; - register char *t = to; - register int i = count; + char *f = from; + char *t = to; + int i = count; while (i-- > 0) *t++ = *f++; @@ -1292,10 +1292,10 @@ int yyparse(YYPARSE_PARAM) YYPARSE_PARAM_DECL { - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; + int yystate; + int yyn; + short *yyssp; + YYSTYPE *yyvsp; int yyerrstatus; /* number of tokens to shift before error messages enabled */ int yychar1 = 0; /* lookahead token as an internal (translated) token number */