get_filename_component(PackageName ${CMAKE_CURRENT_SOURCE_DIR} NAME) project(${PackageName}) add_library(${PROJECT_NAME} STATIC) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_20) file(GLOB_RECURSE BIN2CPPLIB_SOURCES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ) file(GLOB_RECURSE BIN2CPPLIB_HEADERS CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.h ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp ) file(GLOB_RECURSE BIN2CPPLIB_OTHERS CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.hpp.in ) target_sources(${PROJECT_NAME} PRIVATE ${BIN2CPPLIB_SOURCES} PUBLIC FILE_SET HEADERS BASE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/Include FILES ${BIN2CPPLIB_HEADERS} ) target_link_libraries(${PROJECT_NAME} PRIVATE Bin2CPPCompileAndLinkFlags PUBLIC quill::quill magic_enum::magic_enum) target_compile_definitions(${PROJECT_NAME} PUBLIC 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 ${BIN2CPPLIB_SOURCES} ${BIN2CPPLIB_HEADERS} ${BIN2CPPLIB_OTHERS}) set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Bin2CPP/${ParentFolder})