diff --git a/code/.gitignore b/code/.gitignore index 59ae13f..22caeec 100644 --- a/code/.gitignore +++ b/code/.gitignore @@ -7,16 +7,12 @@ build/ # Dependencies: Tarballs immer committen, entpackte ignorieren -deps -!deps/single_includes/ +# exclude alle subdirs von depd without excluding the tarballs and single_includes +deps/*/*/ !deps/tarballs/*.tar.* +!deps/single_includes/ +!deps/Cmakelists.txt -deps/eigen/ -deps/boost/ -deps/cgal/ -!deps/cgal/include/ # Falls einzelne Includes brauchst -!deps/eigen/Eigen/ -!deps/boost/boost/ # IDEs .vscode/ diff --git a/code/deps/Cmakelists.txt b/code/deps/Cmakelists.txt new file mode 100644 index 0000000..59c64ef --- /dev/null +++ b/code/deps/Cmakelists.txt @@ -0,0 +1,27 @@ +# deps/CMakeLists.txt +function(setup_dependency NAME SUBDIR) + if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${NAME}") + file(MAKE_DIRECTORY "${NAME}") + file(GLOB TARBALL "${CMAKE_CURRENT_SOURCE_DIR}/tarballs/${NAME}.tar.*") + message(STATUS "${CMAKE_CURRENT_SOURCE_DIR}") + if(NOT TARBALL) + message(FATAL_ERROR "❌ No '${NAME}*.tar.*' in deps/tarballs/") + else() + + message(STATUS "${CMAKE_COMMAND} ${TARBALL}" ) + execute_process(COMMAND "${CMAKE_COMMAND}" -E tar xf "${TARBALL}" "${NAME}/${SUBDIR}" RESULT_VARIABLE TAR_STATUS WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" ) + message(STATUS "Extracting ${NAME}... Output: ${TAR_OUTPUT} Status: ${TAR_STATUS}") + if(NOT TAR_STATUS EQUAL 0) + message(FATAL_ERROR "❌ Extract failed: ${NAME}") + endif() + endif() + else() + message(STATUS "✅ ${NAME} already exists, skipping extraction.") + endif() +endfunction() + +setup_dependency("CGAL-6.1.1" "include" ) +setup_dependency("eigen-3.4.0" "Eigen" ) +setup_dependency("boost_1_90_0" "boost" ) + + diff --git a/code/deps/tarballs/CGAL-6.1.1.tar.xz b/code/deps/tarballs/CGAL-6.1.1.tar.xz new file mode 100644 index 0000000..8761b17 Binary files /dev/null and b/code/deps/tarballs/CGAL-6.1.1.tar.xz differ diff --git a/code/deps/tarballs/boost_1_90_0.tar.gz b/code/deps/tarballs/boost_1_90_0.tar.gz new file mode 100644 index 0000000..1e830b4 Binary files /dev/null and b/code/deps/tarballs/boost_1_90_0.tar.gz differ diff --git a/code/deps/tarballs/eigen-3.4.0.tar.gz b/code/deps/tarballs/eigen-3.4.0.tar.gz new file mode 100644 index 0000000..20635de Binary files /dev/null and b/code/deps/tarballs/eigen-3.4.0.tar.gz differ