Skip to content

Commit d9bfdcc

Browse files
committed
Allow override of prefix-map build flag
By placing it before user supplied flags from the environment variables.
1 parent e9fc71c commit d9bfdcc

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

CMakeLists.txt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ configure_file(
5050
${CMAKE_BINARY_DIR}/git_revision.h
5151
)
5252

53+
# Custom flags that we'll put in front to allow override from ENV
54+
set(PREFIX_FLAGS_COMMON "")
5355
set(FLAGS_COMMON "-D__USE_LARGEFILE64 -pthread")
5456
set(supports32bit true)
5557
set(x86ish false)
@@ -69,18 +71,18 @@ configure_file(src/preload/rr_page.ld.in src/preload/rr_page.ld @ONLY)
6971
include(CheckCCompilerFlag)
7072
CHECK_C_COMPILER_FLAG("-fmacro-prefix-map=foo=bar" SUPPORTS_MACRO_PREFIX_MAP)
7173
if (SUPPORTS_MACRO_PREFIX_MAP)
72-
set(FLAGS_COMMON "${FLAGS_COMMON} -fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=")
74+
set(PREFIX_FLAGS_COMMON "${PREFIX_FLAGS_COMMON} -fmacro-prefix-map=${CMAKE_SOURCE_DIR}/=")
7375
endif()
7476

75-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAGS_COMMON} -Wstrict-prototypes -std=gnu11")
77+
set(CMAKE_C_FLAGS "${PREFIX_FLAGS_COMMON} ${CMAKE_C_FLAGS} ${FLAGS_COMMON} -Wstrict-prototypes -std=gnu11")
7678
# Define __STDC_LIMIT_MACROS so |#include <stdint.h>| works as expected.
7779
# Define __STDC_FORMAT_MACROS so |#include <inttypes.h>| works as expected.
7880
include(CheckCXXCompilerFlag)
7981
CHECK_CXX_COMPILER_FLAG("-std=c++14" SUPPORTS_CXX14)
8082
if (SUPPORTS_CXX14)
81-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_COMMON} -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -std=c++14")
83+
set(CMAKE_CXX_FLAGS "${PREFIX_FLAGS_COMMON} ${CMAKE_CXX_FLAGS} ${FLAGS_COMMON} -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -std=c++14")
8284
else()
83-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAGS_COMMON} -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -std=c++11")
85+
set(CMAKE_CXX_FLAGS "${PREFIX_FLAGS_COMMON} ${CMAKE_CXX_FLAGS} ${FLAGS_COMMON} -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -std=c++11")
8486
endif()
8587

8688
# We support three build types:

0 commit comments

Comments
 (0)