CMAKE_BUILD_TYPE=Release
implica implicitamente -DNDEBUG
?CMAKE_BUILD_TYPE = Rilascio implicito -DNDEBUG?
In caso contrario: non è ragionevole aspettarsi che questa implicazione abbia luogo?
voglio sapere se seguito CMake codice è ridondante nel mio CMakeLists.txt:
if (NOT CMAKE_BUILD_TYPE MATCHES Debug)
add_definitions(-DNDEBUG)
endif()
L'ho verificato e risulta che * CMake * aggiunge il flag '-DNDEBUG', ma è ancora problematico perché [documentazione di CMake] (https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE. html) fa ** not ** menziona esplicitamente se il flag '-DNDEBUG' viene aggiunto quando è presente l'opzione' CMAKE_BUILD_TYPE = Debug'. Preferisco evitare di scrivere codice basato su comportamenti non documentati perché potrebbe cambiare nelle future versioni di CMake (anche se le potenziali conseguenze sarebbero piccole). –
Vuoi dire! = Nel titolo? Sicuramente mi aspetto che i build di debug ** NON ** definiscano 'NDEBUG'. – immibis
@immibis - grazie. Certo che era un errore di battitura. Ho modificato la mia domanda. +1 –