Bigfoot / Sonarqube (push) Skipped
Bigfoot / Build & Test Debug with ./ConanProfiles/host/clang (Unity Build: OFF, Variant: game) (push) Successful in 34s
Bigfoot / Build & Test Debug with ./ConanProfiles/host/clang (Unity Build: ON, Variant: game) (push) Successful in 22s
Bigfoot / Build & Test Debug with ./ConanProfiles/host/clang_asan (Unity Build: ON, Variant: game) (push) Successful in 44s
Bigfoot / Build & Test Debug with ./ConanProfiles/host/clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 57s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/host/clang (Unity Build: OFF, Variant: game) (push) Successful in 34s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/host/clang (Unity Build: ON, Variant: game) (push) Successful in 23s
Bigfoot / Build & Test Release with ./ConanProfiles/host/clang (Unity Build: ON, Variant: game) (push) Failing after 15s
Bigfoot / Build & Test Release with ./ConanProfiles/host/clang (Unity Build: OFF, Variant: toolmode) (push) Failing after 14s
Bigfoot / Build & Test Release with ./ConanProfiles/host/clang_asan (Unity Build: OFF, Variant: game) (push) Failing after 21s
Bigfoot / Build & Test Debug with ./ConanProfiles/host/clang (Unity Build: OFF, Variant: toolmode) (push) Successful in 34s
Bigfoot / Build & Test Debug with ./ConanProfiles/host/clang (Unity Build: ON, Variant: toolmode) (push) Successful in 23s
Bigfoot / Build & Test Debug with ./ConanProfiles/host/clang_asan (Unity Build: OFF, Variant: game) (push) Successful in 54s
Bigfoot / Build & Test Debug with ./ConanProfiles/host/clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 46s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/host/clang (Unity Build: OFF, Variant: toolmode) (push) Successful in 38s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/host/clang (Unity Build: ON, Variant: toolmode) (push) Successful in 27s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/host/clang_asan (Unity Build: OFF, Variant: game) (push) Successful in 53s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/host/clang_asan (Unity Build: ON, Variant: game) (push) Successful in 42s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/host/clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 1m0s
Bigfoot / Build & Test RelWithDebInfo with ./ConanProfiles/host/clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 47s
Bigfoot / Build & Test Release with ./ConanProfiles/host/clang (Unity Build: OFF, Variant: game) (push) Failing after 16s
Bigfoot / Build & Test Release with ./ConanProfiles/host/clang (Unity Build: ON, Variant: toolmode) (push) Failing after 16s
Bigfoot / Build & Test Release with ./ConanProfiles/host/clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 21s
Bigfoot / Clang Format Checks (push) Successful in 11s
Bigfoot / Build & Test Release with ./ConanProfiles/host/clang_asan (Unity Build: ON, Variant: game) (push) Failing after 20s
Bigfoot / Build & Test Release with ./ConanProfiles/host/clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 15s
310 lines
11 KiB
CMake
310 lines
11 KiB
CMake
function(bigfoot_create_package_lib PackagePublicDependencies PackagePrivateDependencies PackageBigfootPublicDependencies PackageBigfootPrivateDependencies ParentFolder)
|
|
add_library(${PROJECT_NAME} STATIC)
|
|
|
|
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
PRIVATE
|
|
BigfootCompileAndLinkFlags
|
|
PUBLIC
|
|
${PackagePublicDependencies}
|
|
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageBigfootPublicDependencies}>
|
|
|
|
PRIVATE
|
|
${PackagePrivateDependencies}
|
|
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageBigfootPrivateDependencies}>)
|
|
|
|
bigfoot_compile_flatbuffers()
|
|
|
|
file(GLOB_RECURSE _SOURCES
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE _HEADERS
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
|
|
)
|
|
|
|
file(GLOB_RECURSE _OTHERS
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp.in
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.fbs
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.sql
|
|
)
|
|
|
|
target_sources(${PROJECT_NAME}
|
|
PRIVATE
|
|
${_SOURCES}
|
|
${_OTHERS}
|
|
PUBLIC
|
|
FILE_SET HEADERS
|
|
BASE_DIRS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Include
|
|
FILES
|
|
${_HEADERS}
|
|
)
|
|
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src FILES ${_SOURCES} ${_HEADERS} ${_OTHERS})
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Bigfoot/${ParentFolder})
|
|
endfunction()
|
|
|
|
function(bigfoot_create_package_tests PackageDependencies PackageBigfootDependencies ParentFolder)
|
|
add_executable(${PROJECT_NAME})
|
|
|
|
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
PRIVATE
|
|
BigfootCompileAndLinkFlags
|
|
${PackageDependencies}
|
|
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageName}>
|
|
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageBigfootDependencies}>
|
|
gtest::gtest)
|
|
|
|
bigfoot_compile_flatbuffers()
|
|
|
|
file(GLOB_RECURSE _SOURCES
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE _HEADERS
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
|
|
)
|
|
|
|
file(GLOB_RECURSE _OTHERS
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp.in
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.fbs
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.sql
|
|
)
|
|
|
|
target_sources(${PROJECT_NAME}
|
|
PRIVATE
|
|
${_SOURCES}
|
|
${_OTHERS}
|
|
PUBLIC
|
|
FILE_SET HEADERS
|
|
BASE_DIRS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Include
|
|
FILES
|
|
${_HEADERS}
|
|
)
|
|
|
|
include(GoogleTest)
|
|
gtest_discover_tests(${PROJECT_NAME}
|
|
WORKING_DIRECTORY $<TARGET_FILE_DIR:${PROJECT_NAME}>
|
|
XML_OUTPUT_DIR ${CMAKE_BINARY_DIR}/TestResults/)
|
|
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src/ FILES ${_SOURCES} ${_HEADERS} ${_OTHERS})
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Tests/Bigfoot/${ParentFolder})
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:${PROJECT_NAME}>")
|
|
|
|
##################ASAN SETUP###################
|
|
|
|
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(
|
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-asan.timestamp"
|
|
DEPENDS "${ASAN_DLL}"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ASAN_DLL}" "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
|
|
COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-asan.timestamp"
|
|
COMMENT "Copying ASan DLL for ${PROJECT_NAME}"
|
|
)
|
|
|
|
add_custom_target(${PROJECT_NAME}Asan
|
|
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-asan.timestamp"
|
|
)
|
|
|
|
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}Asan)
|
|
set_target_properties(${PROJECT_NAME}Asan PROPERTIES FOLDER UtilityTargets/Tests/Bigfoot/${ParentFolder})
|
|
endif()
|
|
endif()
|
|
|
|
##################COPY FIXTURE FOLDER###################
|
|
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Fixture)
|
|
file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Fixture)
|
|
endif()
|
|
|
|
file(GLOB_RECURSE FIXTURE_FILES
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Fixture/*
|
|
)
|
|
|
|
add_custom_command(
|
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-fixture.timestamp"
|
|
DEPENDS ${FIXTURE_FILES}
|
|
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
|
|
COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-fixture.timestamp"
|
|
COMMENT "Copying Fixture folder for ${PROJECT_NAME}"
|
|
)
|
|
|
|
add_custom_target(${PROJECT_NAME}Fixture
|
|
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-fixture.timestamp"
|
|
)
|
|
|
|
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}Fixture)
|
|
set_target_properties(${PROJECT_NAME}Fixture PROPERTIES FOLDER UtilityTargets/Tests/Bigfoot/${ParentFolder})
|
|
endfunction()
|
|
|
|
function(bigfoot_create_package_tests_helper_lib PackagePublicDependencies PackagePrivateDependencies PackageBigfootPublicDependencies PackageBigfootPrivateDependencies ParentFolder)
|
|
add_library(${PROJECT_NAME} STATIC)
|
|
|
|
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
PRIVATE
|
|
BigfootCompileAndLinkFlags
|
|
PUBLIC
|
|
${PackagePublicDependencies}
|
|
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageBigfootPublicDependencies}>
|
|
|
|
PRIVATE
|
|
${PackagePrivateDependencies}
|
|
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageBigfootPrivateDependencies}>)
|
|
|
|
bigfoot_compile_flatbuffers()
|
|
|
|
file(GLOB_RECURSE _SOURCES
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE _HEADERS
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
|
|
)
|
|
|
|
file(GLOB_RECURSE _OTHERS
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp.in
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.fbs
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.sql
|
|
)
|
|
|
|
target_sources(${PROJECT_NAME}
|
|
PRIVATE
|
|
${_SOURCES}
|
|
${_OTHERS}
|
|
PUBLIC
|
|
FILE_SET HEADERS
|
|
BASE_DIRS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Include
|
|
FILES
|
|
${_HEADERS}
|
|
)
|
|
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src FILES ${_SOURCES} ${_HEADERS} ${_OTHERS})
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Tests/Bigfoot/${ParentFolder})
|
|
endfunction()
|
|
|
|
function(bigfoot_create_package_benchmarks ParentFolder)
|
|
add_executable(${PROJECT_NAME})
|
|
|
|
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
PRIVATE
|
|
BigfootCompileAndLinkFlags
|
|
$<LINK_LIBRARY:WHOLE_ARCHIVE,${PackageName}>
|
|
benchmark::benchmark_main)
|
|
|
|
bigfoot_compile_flatbuffers()
|
|
|
|
file(GLOB_RECURSE _SOURCES
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
|
|
)
|
|
|
|
file(GLOB_RECURSE _HEADERS
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.h
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
|
|
)
|
|
|
|
file(GLOB_RECURSE _OTHERS
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp.in
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.fbs
|
|
${CMAKE_CURRENT_SOURCE_DIR}/*.sql
|
|
)
|
|
|
|
target_sources(${PROJECT_NAME}
|
|
PRIVATE
|
|
${_SOURCES}
|
|
${_OTHERS}
|
|
PUBLIC
|
|
FILE_SET HEADERS
|
|
BASE_DIRS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Include
|
|
FILES
|
|
${_HEADERS}
|
|
)
|
|
|
|
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src/ FILES ${_SOURCES} ${_HEADERS} ${_OTHERS})
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Benchmarks/Bigfoot/${ParentFolder})
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "$<TARGET_FILE_DIR:${PROJECT_NAME}>")
|
|
|
|
##################ASAN SETUP###################
|
|
|
|
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(
|
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-asan.timestamp"
|
|
DEPENDS "${ASAN_DLL}"
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${ASAN_DLL}" "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
|
|
COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-asan.timestamp"
|
|
COMMENT "Copying ASan DLL for ${PROJECT_NAME}"
|
|
)
|
|
|
|
add_custom_target(${PROJECT_NAME}Asan
|
|
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-asan.timestamp"
|
|
)
|
|
|
|
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}Asan)
|
|
set_target_properties(${PROJECT_NAME}Asan PROPERTIES FOLDER UtilityTargets/Benchmarks/Bigfoot/${ParentFolder})
|
|
endif()
|
|
endif()
|
|
|
|
##################COPY FIXTURE FOLDER###################
|
|
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/Fixture)
|
|
file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Fixture)
|
|
endif()
|
|
|
|
file(GLOB_RECURSE FIXTURE_FILES
|
|
CONFIGURE_DEPENDS
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Fixture/*
|
|
)
|
|
|
|
add_custom_command(
|
|
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-fixture.timestamp"
|
|
DEPENDS ${FIXTURE_FILES}
|
|
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
|
|
COMMAND ${CMAKE_COMMAND} -E touch "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-fixture.timestamp"
|
|
COMMENT "Copying Fixture folder for ${PROJECT_NAME}"
|
|
)
|
|
|
|
add_custom_target(${PROJECT_NAME}Fixture
|
|
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-fixture.timestamp"
|
|
)
|
|
|
|
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}Fixture)
|
|
set_target_properties(${PROJECT_NAME}Fixture PROPERTIES FOLDER UtilityTargets/Benchmarks/Bigfoot/${ParentFolder})
|
|
endfunction() |