File: flags.cmake

package info (click to toggle)
cupt 2.10.4%2Bnmu2
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 3,144 kB
  • sloc: cpp: 23,642; perl: 1,599; sh: 40; makefile: 19
file content (21 lines) | stat: -rw-r--r-- 1,076 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
try_run(LAMBDA_CAPTURE_OPT_RESULT LAMBDA_CAPTURE_COMPILES
	${CMAKE_CURRENT_BINARY_DIR}
	${CMAKE_CURRENT_SOURCE_DIR}/platform-tests/std-function-lambda-capture.cpp
	COMPILE_DEFINITIONS "-O2"
	COMPILE_OUTPUT_VARIABLE LAMBDA_COMPILE_OUTPUT)
if (NOT LAMBDA_CAPTURE_COMPILES)
	message(FATAL_ERROR "Lambda platform test didn't compile: ${LAMBDA_COMPILE_OUTPUT}")
endif()
if (${LAMBDA_CAPTURE_OPT_RESULT} EQUAL 77)
	set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O1")
	message("Detected lambda capture misoptimisation, switching to -O1. See #838438.")
endif()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread -Wall -Wextra -std=gnu++14 -fPIC -include common/common.hpp")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} $ENV{CXXFLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-format-security") # yes, we should move to type-safe alternative eventually

set(OUR_LINKER_FLAGS "-pthread -Wl,--as-needed")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OUR_LINKER_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${OUR_LINKER_FLAGS}")