more profiles
Some checks failed
Bin2CPP / Build & Test with ./ConanProfiles/clangd (Unity Build: OFF) (push) Has been cancelled
Bin2CPP / Build & Test with ./ConanProfiles/clangd (Unity Build: ON) (push) Has been cancelled
Bin2CPP / Build & Test with ./ConanProfiles/clangd_asan (Unity Build: OFF) (push) Has been cancelled
Bin2CPP / Build & Test with ./ConanProfiles/clangd_asan (Unity Build: ON) (push) Has been cancelled
Bin2CPP / Build & Test with ./ConanProfiles/clang (Unity Build: ON) (push) Has been cancelled
Bin2CPP / Clang Format Checks (push) Has been cancelled
Bin2CPP / Build & Test with ./ConanProfiles/clang (Unity Build: OFF) (push) Has been cancelled

This commit is contained in:
2026-02-28 10:46:03 +01:00
parent 2586466936
commit b636ffaa71
9 changed files with 132 additions and 55 deletions

View File

@@ -4,26 +4,36 @@ project(${PackageName})
add_executable(${PROJECT_NAME})
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Include)
file(GLOB_RECURSE BIN2CPPEXE_SOURCES
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
# collect sources (reconfigure when files are added/removed)
file(GLOB_RECURSE SOURCES
file(GLOB_RECURSE BIN2CPPEXE_HEADERS
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.h
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
target_sources(${PROJECT_NAME}
PRIVATE
${SOURCES}
${BIN2CPPEXE_SOURCES}
PRIVATE
FILE_SET HEADERS
BASE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/Include
FILES
${BIN2CPPEXE_HEADERS}
)
target_link_libraries(${PROJECT_NAME} PRIVATE Bin2CPPCompileAndLinkFlags)
target_link_libraries(${PROJECT_NAME} PUBLIC CLI11::CLI11 Bin2CPPLib)
target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_DL_LIBS})
target_link_libraries(${PROJECT_NAME}
PRIVATE
Bin2CPPCompileAndLinkFlags
Bin2CPPLib
CLI11::CLI11
${CMAKE_DL_LIBS})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src FILES ${SOURCES})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src FILES ${BIN2CPPEXE_SOURCES} ${BIN2CPPEXE_HEADERS})
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Bin2CPP/${ParentFolder})

View File

@@ -4,35 +4,49 @@ project(${PackageName})
add_library(${PROJECT_NAME} STATIC)
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Include)
file(GLOB_RECURSE BIN2CPPLIB_SOURCES
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
# collect sources (reconfigure when files are added/removed)
file(GLOB_RECURSE SOURCES
file(GLOB_RECURSE BIN2CPPLIB_HEADERS
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.h
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
file(GLOB_RECURSE BIN2CPPLIB_OTHERS
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp.in
)
target_sources(${PROJECT_NAME}
PRIVATE
${SOURCES}
${BIN2CPPLIB_SOURCES}
PUBLIC
FILE_SET HEADERS
BASE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/Include
FILES
${BIN2CPPLIB_HEADERS}
)
target_link_libraries(${PROJECT_NAME} PRIVATE Bin2CPPCompileAndLinkFlags)
target_link_libraries(${PROJECT_NAME} PUBLIC
EASTL::EASTL
$<IF:$<BOOL:${ASAN}>,mimalloc-asan,mimalloc-static>
quill::quill
$<$<CONFIG:Debug,RelWithDebInfo>:cpptrace::cpptrace>)
target_link_libraries(${PROJECT_NAME}
PRIVATE
Bin2CPPCompileAndLinkFlags
PUBLIC
$<IF:$<BOOL:${ASAN}>,mimalloc-asan,mimalloc-static>
EASTL::EASTL
quill::quill
$<$<CONFIG:Debug,RelWithDebInfo>:cpptrace::cpptrace>)
target_compile_definitions(${PROJECT_NAME}
PUBLIC QUILL_NO_EXCEPTIONS
PUBLIC QUILL_DISABLE_NON_PREFIXED_MACROS)
PUBLIC
QUILL_NO_EXCEPTIONS
QUILL_DISABLE_NON_PREFIXED_MACROS)
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/MimallocImpl.cpp PROPERTIES SKIP_UNITY_BUILD_INCLUSION ON)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src FILES ${SOURCES})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src FILES ${BIN2CPPLIB_SOURCES} ${BIN2CPPLIB_HEADERS} ${BIN2CPPLIB_OTHERS})
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Bin2CPP/${ParentFolder})

View File

@@ -4,27 +4,38 @@ project(${PackageName}Tests)
add_executable(${PROJECT_NAME})
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Include)
file(GLOB_RECURSE BIN2CPPLIBTESTS_SOURCES
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
file(GLOB_RECURSE TEST_SOURCES
file(GLOB_RECURSE BIN2CPPLIBTESTS_HEADERS
CONFIGURE_DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/*.h
${CMAKE_CURRENT_SOURCE_DIR}/*.hpp
${CMAKE_CURRENT_SOURCE_DIR}/*.cpp
)
target_sources(${PROJECT_NAME}
PRIVATE
${TEST_SOURCES}
${BIN2CPPLIBTESTS_SOURCES}
PRIVATE
FILE_SET HEADERS
BASE_DIRS
${CMAKE_CURRENT_SOURCE_DIR}/Include
FILES
${BIN2CPPLIBTESTS_HEADERS}
)
target_link_libraries(${PROJECT_NAME} PRIVATE Bin2CPPCompileAndLinkFlags)
target_link_libraries(${PROJECT_NAME} PRIVATE gtest::gtest Bin2CPPLib)
target_link_libraries(${PROJECT_NAME}
PRIVATE
Bin2CPPCompileAndLinkFlags
Bin2CPPLib
gtest::gtest)
include(GoogleTest)
gtest_discover_tests(${PROJECT_NAME} XML_OUTPUT_DIR ${CMAKE_BINARY_DIR}/TestResults/)
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src/ FILES ${TEST_SOURCES})
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX Src/ FILES ${BIN2CPPLIBTESTS_SOURCES} ${BIN2CPPLIBTESTS_HEADERS})
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Tests/Bin2CPP/${ParentFolder})