@@ -4,32 +4,35 @@ macro(build_luajit LJ_VERSION)
44
55 set (CFLAGS ${CMAKE_C_FLAGS} )
66 if (ENABLE_LUA_ASSERT)
7- set (CFLAGS " ${CFLAGS} -DLUA_USE_ASSERT" )
8- endif ( ENABLE_LUA_ASSERT )
7+ AppendFlags (CFLAGS -DLUA_USE_ASSERT )
8+ endif ( )
99 if (ENABLE_LUA_APICHECK)
10- set (CFLAGS " ${CFLAGS} -DLUA_USE_APICHECK" )
11- endif ( ENABLE_LUA_APICHECK )
10+ AppendFlags (CFLAGS -DLUA_USE_APICHECK )
11+ endif ( )
1212
13- set (CFLAGS " ${CFLAGS} -fsanitize=fuzzer-no-link" )
14- set (LDFLAGS " -fsanitize=fuzzer-no-link" )
13+ AppendFlags (CFLAGS -fsanitize=fuzzer-no-link )
14+ AppendFlags (LDFLAGS -fsanitize=fuzzer-no-link )
1515
1616 set (LUAJIT_BASEDIR ${PROJECT_SOURCE_DIR} /patches/)
1717
1818 if (CMAKE_BUILD_TYPE STREQUAL "Debug" )
19- set (CFLAGS " ${CFLAGS} ${ CMAKE_C_FLAGS_DEBUG}" )
20- set (LDFLAGS " ${LDFLAGS} ${ CMAKE_C_FLAGS_DEBUG}" )
21- endif ( CMAKE_BUILD_TYPE STREQUAL "Debug" )
19+ AppendFlags (CFLAGS ${ CMAKE_C_FLAGS_DEBUG} )
20+ AppendFlags (LDFLAGS ${ CMAKE_C_FLAGS_DEBUG} )
21+ endif ( )
2222
2323 if (ENABLE_LUAJIT_RANDOM_RA)
24- set (CFLAGS " ${CFLAGS} -DLUAJIT_RANDOM_RA" )
25- endif ( ENABLE_LUAJIT_RANDOM_RA )
24+ AppendFlags (CFLAGS -DLUAJIT_RANDOM_RA )
25+ endif ( )
2626
2727 if (ENABLE_ASAN)
28- set (CFLAGS "${CFLAGS} -fsanitize=address" )
29- set (CFLAGS "${CFLAGS} -DLUAJIT_USE_ASAN" )
30- set (CFLAGS "${CFLAGS} -DLUAJIT_USE_SYSMALLOC=1" )
31- set (LDFLAGS "${LDFLAGS} -fsanitize=address" )
32- endif (ENABLE_ASAN )
28+ string (JOIN " " ASAN_FLAGS
29+ -fsanitize=address
30+ -DLUAJIT_USE_ASAN
31+ -DLUAJIT_USE_SYSMALLOC=1
32+ )
33+ AppendFlags (CFLAGS ${ASAN_FLAGS} )
34+ AppendFlags (LDFLAGS -fsanitize=address )
35+ endif ()
3336
3437 if (ENABLE_UBSAN)
3538 string (JOIN "," NO_SANITIZE_FLAGS
@@ -65,30 +68,37 @@ macro(build_luajit LJ_VERSION)
6568 # point division by zero behaviour is defined without
6669 # -ffast-math and uses the IEEE 754 standard on which all
6770 # NaN tagging is based.
68- set (UBSAN_FLAGS "-fsanitize=undefined" )
69- set (UBSAN_FLAGS "-fno-sanitize-recover=undefined" )
70- # XXX: To get nicer stack traces in error messages.
71- set (UBSAN_FLAGS "-fno-omit-frame-pointer" )
72- set (UBSAN_FLAGS "-fno-sanitize=${NO_SANITIZE_FLAGS} " )
73- set (CFLAGS "${CFLAGS} -DLUAJIT_USE_UBSAN" )
74- set (CFLAGS "${CFLAGS} ${UBSAN_FLAGS} " )
75- set (LDFLAGS "${LDFLAGS} ${UBSAN_FLAGS} " )
76- endif (ENABLE_UBSAN )
71+ string (JOIN " " UBSAN_FLAGS
72+ -fsanitize=undefined
73+ -fno-sanitize-recover=undefined
74+ # XXX: To get nicer stack traces in error messages.
75+ -fno-omit-frame-pointer
76+ -fno-sanitize=${NO_SANITIZE_FLAGS}
77+ )
78+ AppendFlags (CFLAGS -DLUAJIT_USE_UBSAN ${UBSAN_FLAGS} )
79+ AppendFlags (LDFLAGS ${UBSAN_FLAGS} )
80+ endif ()
7781
7882 if (ENABLE_COV)
79- set (CFLAGS "${CFLAGS} -fprofile-instr-generate -fprofile-arcs -fcoverage-mapping -ftest-coverage" )
80- set (LDFLAGS "${LDFLAGS} -fprofile-instr-generate -fprofile-arcs -fcoverage-mapping -ftest-coverage" )
81- endif (ENABLE_COV )
83+ string (JOIN " " CODE_COVERAGE_FLAGS
84+ -fcoverage-mapping
85+ -fprofile-arcs
86+ -fprofile-instr-generate
87+ -ftest-coverage
88+ )
89+ AppendFlags (CFLAGS ${CODE_COVERAGE_FLAGS} )
90+ AppendFlags (LDFLAGS ${CODE_COVERAGE_FLAGS} )
91+ endif ()
8292
8393 if (ENABLE_LAPI_TESTS)
8494 # "relocation R_X86_64_PC32 against symbol `lua_isnumber'
8595 # can not be used when making a shared object; recompile
8696 # with -fPIC".
87- set (CFLAGS " ${CFLAGS} -fPIC" )
97+ AppendFlags (CFLAGS -fPIC )
8898 # CMake option LUAJIT_FRIENDLY_MODE in luzer requires
8999 # LUAJIT_ENABLE_CHECKHOOK.
90- set (CFLAGS " ${CFLAGS} -DLUAJIT_ENABLE_CHECKHOOK" )
91- set (LDFLAGS " ${LDFLAGS} -lstdc++" )
100+ AppendFlags (CFLAGS -DLUAJIT_ENABLE_CHECKHOOK )
101+ AppendFlags (LDFLAGS -lstdc++ )
92102 endif ()
93103
94104 include (ExternalProject )
0 commit comments