From e1cbcdcc9d80764cc509e9e63e9850284b02ce40 Mon Sep 17 00:00:00 2001 From: neru Date: Thu, 7 May 2026 00:07:28 -0300 Subject: [PATCH] feat: create list --- CMakeLists.txt | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..379ec56 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,57 @@ +# ------------------------------ +# cmake project +# ------------------------------ +cmake_minimum_required(VERSION 4.1.0) +project(seallib LANGUAGES CXX) + +# ------------------------------ +# options +# ------------------------------ +option(SEALLIB_ASSERT "Use assert library" OFF) +option(SEALLIB_EVENTS "Use events library" OFF) +option(SEALLIB_LOG "Use log library" OFF) +option(SEALLIB_VFS "Use virtual filesystem library" OFF) + +option(SEALLIB_TEST "Build test project" OFF) + +# enable all on test +if (SEALLIB_TEST) + set(ALL_LIBS SEALLIB_ASSERT SEALLIB_EVENTS SEALLIB_LOG SEALLIB_VFS) + foreach(lib ${ALL_LIBS}) + set(${lib} ON CACHE BOOL "" FORCE) + endforeach() +endif() + +# ------------------------------ +# lib +# ------------------------------ +set(SEALLIB_SOURCES "") + +if (SEALLIB_ASSERT) + list(APPEND SEALLIB_SOURCES "src/lib/assert.cpp" "src/lib/assert.h") +endif() + +if (SEALLIB_EVENTS) + list(APPEND SEALLIB_SOURCES "src/lib/events.cpp" "src/lib/events.h") +endif() + +if (SEALLIB_LOG) + list(APPEND SEALLIB_SOURCES "src/lib/log.cpp" "src/lib/log.h") +endif() + +if (SEALLIB_VFS) + list(APPEND SEALLIB_SOURCES "src/lib/vfs.cpp" "src/lib/vfs.h") +endif() + +add_library(seallib STATIC ${SEALLIB_SOURCES}) +target_include_directories(seallib PUBLIC src/lib) + +# ------------------------------ +# test +# ------------------------------ +if (SEALLIB_TEST) + file(GLOB_RECURSE SEALLIB_TEST_SOURCES CONFIGURE_DEPENDS "src/test/*.h" "src/test/*.cpp") + add_executable(seallib-test ${SEALLIB_TEST_SOURCES}) + target_include_directories(seallib-test PRIVATE "src/test") + target_link_libraries(seallib-test PRIVATE seallib) +endif()