Skip to content

Commit d403eea

Browse files
Merge #1546: cmake: Rename SECP256K1_LATE_CFLAGS and switch to Bitcoin Core's approach
4706be2 cmake: Reimplement `SECP256K1_APPEND_CFLAGS` using Bitcoin Core approach (Hennadii Stepanov) c2764db cmake: Rename `SECP256K1_LATE_CFLAGS` to `SECP256K1_APPEND_CFLAGS` (Hennadii Stepanov) Pull request description: This PR address this hebasto/bitcoin#239 (comment): > For consistency with libsecp256k1: > > > > Is this code block supposed to achieve the same as our `SECP256K1_LATE_CFLAGS` (implemented by a user-defined function `all_targets_add_compile_options`) in libsecp256k1? > > > > > > It is. But this approach guaranties to override even options that are abstracted by CMake, for instance [#157 (comment)](hebasto/bitcoin#157 (comment)). > > * If we agree that appending to rule variables is superior, should we also do this in libsecp256k1? > > * And/or should we rename the `SECP256K1_LATE_CFLAGS` variable to `APPEND_CFLAGS`? ACKs for top commit: real-or-random: utACK 4706be2 Tree-SHA512: 24603886c4d6ab4e31836a67d5759f9855a60c6c9d34cfc6fc4023bd309cd51c15d986ac0b77a434f9fdc6d5e97dcd3b8484d8f5ef5d8f840f47dc141de18084
2 parents d7ae25c + 4706be2 commit d403eea

File tree

2 files changed

+8
-18
lines changed

2 files changed

+8
-18
lines changed

CMakeLists.txt

+8-6
Original file line numberDiff line numberDiff line change
@@ -280,14 +280,16 @@ if(SECP256K1_BUILD_BENCHMARK OR SECP256K1_BUILD_TESTS OR SECP256K1_BUILD_EXHAUST
280280
enable_testing()
281281
endif()
282282

283-
set(SECP256K1_LATE_CFLAGS "" CACHE STRING "Compiler flags that are added to the command line after all other flags added by the build system.")
284-
include(AllTargetsCompileOptions)
283+
set(SECP256K1_APPEND_CFLAGS "" CACHE STRING "Compiler flags that are appended to the command line after all other flags added by the build system. This variable is intended for debugging and special builds.")
284+
if(SECP256K1_APPEND_CFLAGS)
285+
# Appending to this low-level rule variable is the only way to
286+
# guarantee that the flags appear at the end of the command line.
287+
string(APPEND CMAKE_C_COMPILE_OBJECT " ${SECP256K1_APPEND_CFLAGS}")
288+
endif()
285289

286290
add_subdirectory(src)
287-
all_targets_compile_options(src "${SECP256K1_LATE_CFLAGS}")
288291
if(SECP256K1_BUILD_EXAMPLES)
289292
add_subdirectory(examples)
290-
all_targets_compile_options(examples "${SECP256K1_LATE_CFLAGS}")
291293
endif()
292294

293295
message("\n")
@@ -361,8 +363,8 @@ else()
361363
message(" - LDFLAGS for executables ............ ${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
362364
message(" - LDFLAGS for shared libraries ....... ${CMAKE_SHARED_LINKER_FLAGS_DEBUG}")
363365
endif()
364-
if(SECP256K1_LATE_CFLAGS)
365-
message("SECP256K1_LATE_CFLAGS ................. ${SECP256K1_LATE_CFLAGS}")
366+
if(SECP256K1_APPEND_CFLAGS)
367+
message("SECP256K1_APPEND_CFLAGS ............... ${SECP256K1_APPEND_CFLAGS}")
366368
endif()
367369
message("")
368370
if(print_msan_notice)

cmake/AllTargetsCompileOptions.cmake

-12
This file was deleted.

0 commit comments

Comments
 (0)