2 Commits

Author SHA1 Message Date
b49c3800ad Adds linking ubsan and asan when enabling ubsan 2025-11-26 05:12:32 -05:00
c5b1da6a42 Silence flag spam 2025-11-26 05:12:20 -05:00
3 changed files with 14 additions and 12 deletions

View File

@@ -8,7 +8,7 @@
GET_PROPERTY(FGL_COMPILE_FLAGS GLOBAL PROPERTY FGL_COMPILE_FLAGS)
GET_PROPERTY(FGL_LINKS_FLAGS GLOBAL PROPERTY FGL_LINK_FLAGS)
target_compile_options(${TARGET} PRIVATE ${FGL_COMPILE_FLAGS})
message("Set target ${TARGET} to use flags\n${FGL_COMPILE_FLAGS}")
message(DEBUG "Set target ${TARGET} to use flags\n${FGL_COMPILE_FLAGS}")
target_link_options(${TARGET} PRIVATE ${FGL_LINK_FLAGS})
endfunction()
@@ -16,6 +16,6 @@
GET_PROPERTY(FGL_CHILD_FLAGS GLOBAL PROPERTY FGL_CHILD_FLAGS)
GET_PROPERTY(FGL_LINKS_FLAGS GLOBAL PROPERTY FGL_LINK_FLAGS)
target_compile_options(${TARGET} PRIVATE ${FGL_CHILD_FLAGS})
message("Set dependency ${TARGET} to use flags\n${FGL_CHILD_FLAGS}")
message(DEBUG "Set dependency ${TARGET} to use flags\n${FGL_CHILD_FLAGS}")
target_link_options(${TARGET} PRIVATE ${FGL_LINK_FLAGS})
endfunction()

View File

@@ -124,7 +124,7 @@
set(FGL_STATIC_ANALYSIS 0)
endif ()
if (DEFINED FGL_STATIC_ANALYSIS AND FGL_STATIC_ANALYSIS EQUAL 1)
if (FGL_STATIC_ANALYSIS EQUAL 1)
list(APPEND FGL_CONFIG "-fanalyzer")
# list(APPEND FGL_CONFIG "-Wanalyzer-too-complex")
# Breaks more often then it is helpful

View File

@@ -23,6 +23,10 @@ function(ConfigureFGLTarget NAME SRC_DIR INCLUDE_DIR)
target_compile_definitions(${NAME} PUBLIC "-DFGL_STRICT_WARNINGS=1")
endif ()
if (DEFINED FGL_ENABLE_UBSAN AND FGL_ENABLE_UBSAN)
target_link_libraries(${NAME} PRIVATE asan ubsan)
endif ()
if (CMAKE_CXX_STANDARD STREQUAL 26)
message("Setting target ${NAME} to c++26")
target_compile_features(${NAME} PUBLIC cxx_std_26)
@@ -33,15 +37,13 @@ function(ConfigureFGLTarget NAME SRC_DIR INCLUDE_DIR)
endfunction()
function(SplitDebugSymbols NAME)
if (DEFINED FGL_STRIP_DEBUG AND FGL_STRIP_DEBUG)
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
add_custom_command(TARGET ${NAME} POST_BUILD
COMMAND ${CMAKE_OBJCOPY} --only-keep-debug $<TARGET_FILE:${NAME}> $<TARGET_FILE:${NAME}>.debug
COMMAND ${CMAKE_STRIP} --strip-debug --strip-unneeded $<TARGET_FILE:${NAME}>
COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink=$<TARGET_FILE:${NAME}>.debug $<TARGET_FILE:${NAME}>
COMMENT "Stripping symbols and creating ${NAME}.debug"
)
endif ()
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
add_custom_command(TARGET ${NAME} POST_BUILD
COMMAND ${CMAKE_OBJCOPY} --only-keep-debug $<TARGET_FILE:${NAME}> $<TARGET_FILE:${NAME}>.debug
COMMAND ${CMAKE_STRIP} --strip-debug --strip-unneeded $<TARGET_FILE:${NAME}>
COMMAND ${CMAKE_OBJCOPY} --add-gnu-debuglink=$<TARGET_FILE:${NAME}>.debug $<TARGET_FILE:${NAME}>
COMMENT "Stripping symbols and creating ${NAME}.debug"
)
endif ()
endfunction()