mirror of
https://github.com/GothenburgBitFactory/taskwarrior.git
synced 2025-06-26 10:54:26 +02:00
Add a C++ wrapper around TC FFI
This uses CMake to build a simple Rust library (in `src/tc/rust`) that just re-exports everything from the `taskchampion-lib` crate. The C++ wrappers then wrap this into C++ objects with proper lifecycle maintenance, in the `tc` namespace. The C++ wrappers are incomplete, and missing methods are tagged with "TODO". These will be added as needed.
This commit is contained in:
parent
fd03169314
commit
8c30400af3
32 changed files with 1760 additions and 30 deletions
|
@ -1,6 +1,8 @@
|
|||
cmake_minimum_required (VERSION 3.0)
|
||||
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")
|
||||
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_SOURCE_DIR}/cmake/CMakeRust/cmake")
|
||||
|
||||
enable_language (Rust)
|
||||
include (CMakeCargo)
|
||||
include (CheckFunctionExists)
|
||||
include (CheckStructHasMember)
|
||||
|
||||
|
@ -66,6 +68,9 @@ SET (TASK_DOCDIR share/doc/task CACHE STRING "Installation directory for doc fi
|
|||
SET (TASK_RCDIR "${TASK_DOCDIR}/rc" CACHE STRING "Installation directory for configuration files")
|
||||
SET (TASK_BINDIR bin CACHE STRING "Installation directory for the binary")
|
||||
|
||||
# rust libs require these
|
||||
set (TASK_LIBRARIES dl pthread)
|
||||
|
||||
if (USE_GNUTLS)
|
||||
message ("-- Looking for GnuTLS")
|
||||
find_package (GnuTLS)
|
||||
|
@ -150,6 +155,8 @@ configure_file (
|
|||
|
||||
add_subdirectory (src)
|
||||
add_subdirectory (src/commands)
|
||||
add_subdirectory (src/tc)
|
||||
add_subdirectory (src/tc/rust)
|
||||
add_subdirectory (src/columns)
|
||||
add_subdirectory (doc)
|
||||
add_subdirectory (scripts)
|
||||
|
@ -185,7 +192,7 @@ set (CPACK_SOURCE_IGNORE_FILES "CMakeCache" "CMakeFiles" "CPackConfig" "CPackSo
|
|||
"_CPack_Packages" "cmake_install" "install_manifest" "Makefile$"
|
||||
"test" "package-config" "misc/*" "src/task$" "src/calc$" "performance"
|
||||
"src/libtask.a" "src/columns/libcolumns.a" "src/commands/libcommands.a"
|
||||
"swp$" "src/lex$" "task-.*.tar.gz" "commit.h" "cmake.h$" "\\\\.gitmodules"
|
||||
"src/libshared/\\\\.git" ".github/" ".*\\\\.gitignore$"
|
||||
"src/tc/libtc.a" "swp$" "src/lex$" "task-.*.tar.gz" "commit.h" "cmake.h$"
|
||||
"\\\\.gitmodules" "src/libshared/\\\\.git" ".github/" ".*\\\\.gitignore$"
|
||||
"src/liblibshared.a" "docker-compose.yml" "\\\\.git/")
|
||||
include (CPack)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue