Fully embrace profiles
All checks were successful
Bigfoot / Build & Test Debug (push) Successful in 59s
Bigfoot / Build & Test RelWithDebInfo (push) Successful in 1m13s
Bigfoot / Clang Format Checks (push) Successful in 9s
Bigfoot / Build & Test Release (push) Successful in 38s

This commit is contained in:
2026-02-22 00:20:45 +01:00
parent 9b6ab354f3
commit 766b44ac72
13 changed files with 85 additions and 89 deletions

View File

@@ -19,9 +19,6 @@ target_sources(${PROJECT_NAME}
${SOURCES}
)
target_compile_options(${PROJECT_NAME} PRIVATE ${BIN2CPP_CXX_FLAGS})
target_link_options(${PROJECT_NAME} PRIVATE ${BIN2CPP_EXE_LINK_FLAGS})
target_link_libraries(${PROJECT_NAME} PUBLIC CLI11::CLI11 Bin2CPPLib)
target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_DL_LIBS})
@@ -31,14 +28,16 @@ set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Bin2CPP/${ParentFolder})
##################ASAN SETUP###################
if (MSVC)
get_filename_component(MSVC_BIN_DIR "${CMAKE_CXX_COMPILER}" DIRECTORY)
set(ASAN_DLL "${MSVC_BIN_DIR}/clang_rt.asan_dynamic-x86_64.dll")
if(${ASAN})
if (MSVC)
get_filename_component(MSVC_BIN_DIR "${CMAKE_CXX_COMPILER}" DIRECTORY)
set(ASAN_DLL "${MSVC_BIN_DIR}/clang_rt.asan_dynamic-x86_64.dll")
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Copying ASan DLL: ${ASAN_DLL} to $<TARGET_FILE_DIR:${PROJECT_NAME}>"
COMMAND ${CMAKE_COMMAND} -E $<IF:$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>,copy_if_different,true>
"${ASAN_DLL}"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>"
)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Copying ASan DLL: ${ASAN_DLL} to $<TARGET_FILE_DIR:${PROJECT_NAME}>"
COMMAND ${CMAKE_COMMAND} -E $<IF:$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>,copy_if_different,true>
"${ASAN_DLL}"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>"
)
endif()
endif()

View File

@@ -20,12 +20,9 @@ target_sources(${PROJECT_NAME}
${SOURCES}
)
target_compile_options(${PROJECT_NAME} PRIVATE ${BINN2CPP_CXX_FLAGS})
target_link_libraries(${PROJECT_NAME} PUBLIC
target_link_libraries(${PROJECT_NAME} PUBLIC
EASTL::EASTL
$<$<CONFIG:Debug,RelWithDebInfo>:mimalloc-asan>
$<$<CONFIG:Release>:mimalloc-static>
$<IF:$<BOOL:${ASAN}>,mimalloc-asan,mimalloc-static>
quill::quill
$<$<CONFIG:Debug,RelWithDebInfo>:cpptrace::cpptrace>)

View File

@@ -18,9 +18,6 @@ target_sources(${PROJECT_NAME}
${TEST_SOURCES}
)
target_compile_options(${PROJECT_NAME} PRIVATE ${BIN2CPP_CXX_FLAGS})
target_link_options(${PROJECT_NAME} PRIVATE ${BIN2CPP_EXE_LINK_FLAGS})
target_link_libraries(${PROJECT_NAME} PRIVATE gtest::gtest Bin2CPPLib)
include(GoogleTest)
@@ -32,16 +29,18 @@ set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Tests/Bin2CPP/${ParentFo
##################ASAN SETUP###################
if (MSVC)
get_filename_component(MSVC_BIN_DIR "${CMAKE_CXX_COMPILER}" DIRECTORY)
set(ASAN_DLL "${MSVC_BIN_DIR}/clang_rt.asan_dynamic-x86_64.dll")
if(${ASAN})
if (MSVC)
get_filename_component(MSVC_BIN_DIR "${CMAKE_CXX_COMPILER}" DIRECTORY)
set(ASAN_DLL "${MSVC_BIN_DIR}/clang_rt.asan_dynamic-x86_64.dll")
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Copying ASan DLL: ${ASAN_DLL} to $<TARGET_FILE_DIR:${PROJECT_NAME}>"
COMMAND ${CMAKE_COMMAND} -E $<IF:$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>,copy_if_different,true>
"${ASAN_DLL}"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>"
)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo "Copying ASan DLL: ${ASAN_DLL} to $<TARGET_FILE_DIR:${PROJECT_NAME}>"
COMMAND ${CMAKE_COMMAND} -E $<IF:$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>,copy_if_different,true>
"${ASAN_DLL}"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>"
)
endif()
endif()
##################COPY FIXTURE FOLDER###################
@@ -50,19 +49,7 @@ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Fixture)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Fixture)
endif()
# Track all fixture files
file(GLOB_RECURSE FIXTURE_FILES
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/Fixture/*
)
add_custom_target(${PROJECT_NAME}Fixture
COMMAND ${CMAKE_COMMAND} -E remove_directory $<TARGET_FILE_DIR:${PROJECT_NAME}>/Fixture
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/Fixture $<TARGET_FILE_DIR:${PROJECT_NAME}>/Fixture
DEPENDS ${FIXTURE_FILES}
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_CURRENT_SOURCE_DIR}/Fixture $<TARGET_FILE_DIR:${PROJECT_NAME}>/Fixture
COMMENT "Copying Fixture folder ${CMAKE_CURRENT_SOURCE_DIR}/Fixture to $<TARGET_FILE_DIR:${PROJECT_NAME}>/Fixture"
)
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}Fixture)
set_target_properties(${PROJECT_NAME}Fixture PROPERTIES FOLDER UtilityTargets/Tests/Bin2CPP/${ParentFolder})
)