51 lines
1.5 KiB
CMake
51 lines
1.5 KiB
CMake
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
|
|
$<$<CONFIG:Debug,RelWithDebInfo>:cpptrace::cpptrace>
|
|
magic_enum::magic_enum)
|
|
|
|
target_compile_definitions(${PROJECT_NAME}
|
|
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 ${BIN2CPPLIB_SOURCES} ${BIN2CPPLIB_HEADERS} ${BIN2CPPLIB_OTHERS})
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER Bin2CPP/${ParentFolder}) |