Skip to the content.

Consider a git clone/pull external source dependancies mechanism as a python script?

20260926

Replaced with ‘conan new’ generated conan package manager consumer scaffolding.

20260913

So I think it is time to give up on the ‘raw’ git-clone and consume dependancy manager for now.

20260907

I am now working on making init_toolchain.py to clone the Eigen C++ library for consumption by the kasamodo_app.

I created init_toolchain.py with chatGPT vibe-coding and edits (seems to work ok)

I now have a simple initial git clone and subsequente git fecth.

But the next step to cherry pick the source code to consume turned out to hide some complexity?

#include <Eigen/Dense>

But here it seems I have the option to try to configure cmake to do this for me?

add_library(foreign_foo STATIC ...?
target_include_directories(...?
target_link_libraries(my_application ...



Your generated:
src/foreign/CMakeLists.txt
could be:
# GENERATED FILE -- DO NOT EDIT

add_library(Eigen3 INTERFACE)

target_include_directories(Eigen3
    INTERFACE
        ${CMAKE_CURRENT_LIST_DIR}
)
Your project's root CMakeLists.txt then only needs:
cmake_minimum_required(VERSION 3.20)

project(MyProject LANGUAGES CXX)

add_subdirectory(src/foreign)

add_executable(my_app
    src/main.cpp
)

target_link_libraries(my_app
    PRIVATE
        Eigen3
)

But nothing of this made me satisfied. It just seemed too complicarted and opaque.

It seems clean to me to have the root CMakeLists.txt do add_subdirectory(src/foreign)!

At this stage I started to wonder if maybe I can assume all git repos I use this way have a CMakeLists.txt that KNOWS how to provide for ‘cmake –install’?

Hm, I have to think about this…

20260906

So I want to do a test-shot at making the kasamodo app solve for a stiffness matrix using the C++ Eigen library.