C3PO: 'v2.3'
certifi : 'native'
cftime: 'native'
+ cgal : 'v5.6.1'
cgns : '4.2.0'
chardet : 'native'
click : 'native'
cmake : '3.25.2'
cppunit : 'native'
cminpack: '1.3.6'
+ cork : '5987de5'
cycler : 'native'
Cython : 'native'
dateutil : 'native'
hdf5 : '1.10.3'
idna : 'native'
imagesize : 'native'
+ irmb : '67d77b4'
ispc : '1.15.0'
Jinja2 : 'native'
kiwisolver : 'native'
lapack : 'native'
+ libigl : 'v2.5.0'
libxml2 : 'native'
llvm : 'native'
markupsafe : 'native'
matplotlib : 'native'
+ mcut : 'b5b0ec6'
mdurl : 'native'
markdown_it_py : '3.0.0'
medfile : '4.1.1'
'MEDCOUPLING' : {tag:'master', base: 'no', section: 'default_MPI', hpc: 'yes'}
'GUI'
'GEOM'
- 'SMESH'
+ 'SMESH' : 'spns/43020'
'NETGENPLUGIN'
'BLSURFPLUGIN'
'GHS3DPLUGIN'
version_v5_6_1:
{
- build_source : "script"
- compil_script : "cgal-v5.6.1" + $VARS.scriptExtension
+ build_source : "script"
+ compil_script : "cgal-v5.6.1" + $VARS.scriptExtension
+ patches : ["cgal-p01.patch"]
}
cd $BUILD_DIR
CMAKE_OPTIONS=
-# common settings
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX=${PRODUCT_INSTALL}"
-CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE=Release"
+if [ -n "$SAT_DEBUG" ]; then
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Debug"
+else
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Release"
+fi
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
CMAKE_OPTIONS+=" -DWITH_examples=ON"
CMAKE_OPTIONS+=" -DWITH_tests=ON"
echo "*** cmake" $CMAKE_OPTIONS
cmake $CMAKE_OPTIONS $SOURCE_DIR
-
if [ $? -ne 0 ]; then
echo "ERROR on CMake"
exit 1
exit 3
fi
+echo "##########################################################################"
+echo "Building cgal_test"
+echo "##########################################################################"
+
+mkdir $BUILD_DIR/cgal_test
+cd $BUILD_DIR/cgal_test
+CMAKE_OPTIONS=
+if [ -n "$SAT_DEBUG" ]; then
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Debug"
+else
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Release"
+fi
+CMAKE_OPTIONS+=" -DCGAL_DIR=${PRODUCT_INSTALL}/lib/cmake"
+CMAKE_OPTIONS+=" -DEXECUTABLE_OUTPUT_PATH=${PRODUCT_INSTALL}/bin"
+echo "*** cmake" $CMAKE_OPTIONS
+cmake $CMAKE_OPTIONS $SOURCE_DIR/cgal_test
+if [ $? -ne 0 ]; then
+ echo "ERROR on CMake"
+ exit 1
+fi
+
+echo
+echo "*** make" $MAKE_OPTIONS
+make $MAKE_OPTIONS
+if [ $? -ne 0 ]; then
+ echo "ERROR on make"
+ exit 2
+fi
+
echo
-echo "*** make tests"
-#make tests
-#if [ $? -ne 0 ]; then
-# echo "ERROR on make tests"
-# exit 4
-#fi
+echo "*** make install"
+make install
+if [ $? -ne 0 ]; then
+ echo "ERROR on make install"
+ exit 3
+fi
echo
echo "########## END"
-
echo
echo "*** make install"
mkdir -p ${PRODUCT_INSTALL}/bin
-cp bin/cork ${PRODUCT_INSTALL}/bin
+for f in $(ls $BUILD_DIR/bin); do
+ echo "INFO: next file: $f"
+ F=${PRODUCT_INSTALL}/bin/$(basename $f)
+ mv $BUILD_DIR/bin/$f $F
+ if [ $? -ne 0 ]; then
+ echo "ERROR on make install for file: $f"
+ exit 4
+ fi
+ if [ ! -L "$F" ]; then
+ chmod 755 $F
+ fi
+done
+
+cd $PRODUCT_INSTALL/bin
+mv cork cork_bin
+if [ $? -ne 0 ]; then
+ echo "ERROR on make install for file: $f"
+ exit 5
+fi
+
+cp -r ${BUILD_DIR}/include ${PRODUCT_INSTALL}/include
if [ $? -ne 0 ]; then
- echo "ERROR on make install"
- exit 3
+ echo "ERROR on make install: could not copy include directory..."
+ exit 5
fi
-chmod 755 ${PRODUCT_INSTALL}/bin/cork
echo
echo "########## END"
cd $BUILD_DIR
CMAKE_OPTIONS=
-# common settings
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX=${PRODUCT_INSTALL}"
-CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE=Release"
+if [ -n "$SAT_DEBUG" ]; then
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Debug"
+else
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Release"
+fi
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
-CMAKE_OPTIONS+=" -DWITH_examples=ON"
-CMAKE_OPTIONS+=" -DWITH_tests=ON"
-CMAKE_OPTIONS+=" -DWITH_demos=ON"
-CMAKE_OPTIONS+=" -DCGAL_ENABLE_TESTING=ON"
echo "*** cmake" $CMAKE_OPTIONS
cmake $CMAKE_OPTIONS $SOURCE_DIR
-
if [ $? -ne 0 ]; then
echo "ERROR on CMake"
exit 1
fi
echo
-echo "*** make tests"
-#make tests
-#if [ $? -ne 0 ]; then
-# echo "ERROR on make tests"
-# exit 4
-#fi
+echo "*** make install"
+mkdir -p ${PRODUCT_INSTALL}/bin
+for f in $(ls |grep mesh_booleans); do
+ echo "INFO: next file: $f"
+ F=${PRODUCT_INSTALL}/bin/$f
+ mv ${BUILD_DIR}/$f $F
+ if [ $? -ne 0 ]; then
+ echo "ERROR on make install for file: $f"
+ exit 4
+ fi
+ if [ ! -L "$F" ]; then
+ chmod 755 $F
+ fi
+done
echo
echo "########## END"
cd $BUILD_DIR
CMAKE_OPTIONS=
-# common settings
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX=${PRODUCT_INSTALL}"
-CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE=Release"
+if [ -n "$SAT_DEBUG" ]; then
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Debug"
+else
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Release"
+fi
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
echo "*** cmake" $CMAKE_OPTIONS
fi
chmod 755 ${PRODUCT_INSTALL}/bin/609_Boolean
+cp -r ${SOURCE_DIR}/include ${PRODUCT_INSTALL}/include
+if [ $? -ne 0 ]; then
+ echo "ERROR on make install: could not copy include directory..."
+ exit 4
+fi
+
echo
echo "########## END"
-
cd $BUILD_DIR
CMAKE_OPTIONS=
-# common settings
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX=${PRODUCT_INSTALL}"
-CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE=Release"
+if [ -n "$SAT_DEBUG" ]; then
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Debug"
+else
+ CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Release"
+fi
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
-CMAKE_OPTIONS+=" -DLIBIGL_ROOT_DIR=${LIBIGL_ROOT_DIR}"
+CMAKE_OPTIONS+=" -DLIBIGL_INCLUDE_DIR=${LIBIGL_INCLUDE_DIR}"
+
echo "*** cmake" $CMAKE_OPTIONS
cmake $CMAKE_OPTIONS $SOURCE_DIR
fi
echo
-echo "########## END"
+echo "*** make install"
+mkdir -p ${PRODUCT_INSTALL}/bin
+for f in $(ls ${BUILD_DIR}/bin); do
+ echo "INFO: next file: $f"
+ F=${PRODUCT_INSTALL}/bin/$f
+ mv ${BUILD_DIR}/bin/$f $F
+ if [ $? -ne 0 ]; then
+ echo "ERROR on make install for file: $f"
+ exit 4
+ fi
+ if [ ! -L "$F" ]; then
+ chmod 755 $F
+ fi
+done
+echo
+echo "########## END"
echo "meshboolean" $VERSION
echo "##########################################################################"
+LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION"
+
rm -rf $BUILD_DIR
mkdir $BUILD_DIR
+cd $BUILD_DIR
-LINUX_DISTRIBUTION="$DIST_NAME$DIST_VERSION"
-
-CMAKE_OPTIONS_COMMON=
-CMAKE_OPTIONS_COMMON+=" -DCMAKE_INSTALL_PREFIX=${PRODUCT_INSTALL}"
+CMAKE_OPTIONS=
+CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX=${PRODUCT_INSTALL}"
if [ -n "$SAT_DEBUG" ]; then
- CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Debug"
+ CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Debug"
else
- CMAKE_OPTIONS_COMMON+=" -DCMAKE_BUILD_TYPE:STRING=Release"
+ CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release"
fi
-
-echo "##########################################################################"
-echo "Building cgal"
-echo "##########################################################################"
-
-mkdir $BUILD_DIR/cgal
-cd $BUILD_DIR/cgal
-
-CMAKE_OPTIONS=$CMAKE_OPTIONS_COMMON
CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
-CMAKE_OPTIONS+=" -DWITH_examples=OFF"
-CMAKE_OPTIONS+=" -DWITH_tests=OFF"
-CMAKE_OPTIONS+=" -DWITH_demos=OFF"
-CMAKE_OPTIONS+=" -DCGAL_ENABLE_TESTING=OFF"
-
-echo "*** cmake" $CMAKE_OPTIONS
-cmake $CMAKE_OPTIONS $SOURCE_DIR/cgal/cgal
-
-if [ $? -ne 0 ]; then
- echo "ERROR on CMake"
- exit 1
-fi
-
-echo
-echo "*** make" $MAKE_OPTIONS
-make $MAKE_OPTIONS
-if [ $? -ne 0 ]; then
- echo "ERROR on make"
- exit 2
-fi
-
-echo
-echo "*** make install"
-make install
-if [ $? -ne 0 ]; then
- echo "ERROR on make install"
- exit 3
-fi
-
-echo "##########################################################################"
-echo "Building cgal_test"
-echo "##########################################################################"
-
-mkdir $BUILD_DIR/cgal_test
-cd $BUILD_DIR/cgal_test
-CMAKE_OPTIONS=$CMAKE_OPTIONS_COMMON
-CMAKE_OPTIONS+=" -DCGAL_DIR=${PRODUCT_INSTALL}/lib/cmake"
-CMAKE_OPTIONS+=" -DEXECUTABLE_OUTPUT_PATH=${PRODUCT_INSTALL}/bin"
+CMAKE_OPTIONS+=" -DUSE_SAT=ON"
-echo "*** cmake" $CMAKE_OPTIONS
-cmake $CMAKE_OPTIONS $SOURCE_DIR/cgal
-if [ $? -ne 0 ]; then
- echo "ERROR on CMake"
- exit 1
-fi
-
-echo
-echo "*** make" $MAKE_OPTIONS
-make $MAKE_OPTIONS
-if [ $? -ne 0 ]; then
- echo "ERROR on make"
- exit 2
-fi
-
-echo
-echo "*** make install"
-make install
-if [ $? -ne 0 ]; then
- echo "ERROR on make install"
- exit 3
-fi
-
-echo "##########################################################################"
-echo "libigl" $VERSION
-echo "##########################################################################"
-
-mkdir $BUILD_DIR/libigl
-cd $BUILD_DIR/libigl
-
-CMAKE_OPTIONS=$CMAKE_OPTIONS_COMMON
-CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
-
-# overwrite the main.cpp
-cp -f $SOURCE_DIR/libigl/main.cpp $SOURCE_DIR/libigl/libigl/tutorial/609_Boolean/main.cpp
-
-echo "*** cmake" $CMAKE_OPTIONS
-cmake $CMAKE_OPTIONS $SOURCE_DIR/libigl/libigl
-
-if [ $? -ne 0 ]; then
- echo "ERROR on CMake"
- exit 1
-fi
-
-echo
-echo "*** make" $MAKE_OPTIONS
-cd $BUILD_DIR/libigl/tutorial
-make $MAKE_OPTIONS tutorial/CMakeFiles/609_Boolean.dir/rule
-if [ $? -ne 0 ]; then
- echo "ERROR on make"
- exit 2
-fi
-
-echo
-echo "*** make install"
-mkdir -p ${PRODUCT_INSTALL}/bin
-cp $BUILD_DIR/libigl/bin/609_Boolean ${PRODUCT_INSTALL}/bin
-if [ $? -ne 0 ]; then
- echo "ERROR on make install"
- exit 3
-fi
-chmod 755 ${PRODUCT_INSTALL}/bin/609_Boolean
-cp -r $SOURCE_DIR/libigl/libigl/include/igl $PRODUCT_INSTALL/include/igl
-export LIBIGL_INCLUDE_DIR=${PRODUCT_INSTALL}/include
-
-echo "##########################################################################"
-echo "Building mcut"
-echo "##########################################################################"
-
-#
-cp -f $SOURCE_DIR/mcut/CSGBoolean.cpp $SOURCE_DIR/mcut/mcut/tutorials/CSGBoolean/CSGBoolean.cpp
-
-mkdir $BUILD_DIR/mcut
-cd $BUILD_DIR/mcut
-
-CMAKE_OPTIONS=$CMAKE_OPTIONS_COMMON
-CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
-CMAKE_OPTIONS+=" -DLIBIGL_INCLUDE_DIR=${PRODUCT_INSTALL}/include"
-
-echo "*** cmake" $CMAKE_OPTIONS
-cmake $CMAKE_OPTIONS $SOURCE_DIR/mcut/mcut
-
-if [ $? -ne 0 ]; then
- echo "ERROR on CMake"
- exit 1
-fi
-
-echo
-echo "*** make" $MAKE_OPTIONS
-make $MAKE_OPTIONS
-
-if [ $? -ne 0 ]; then
- echo "ERROR on make"
- exit 2
-fi
-
-echo
-echo "*** make install"
-mv $BUILD_DIR/mcut/bin/CSGBoolean ${PRODUCT_INSTALL}/bin/
-if [ $? -ne 0 ]; then
- echo "ERROR on make install"
- exit 3
-fi
-
-echo "##########################################################################"
-echo "irmb" $VERSION
-echo "##########################################################################"
-
-mkdir $BUILD_DIR/irmb
-cd $BUILD_DIR/irmb
-
-CMAKE_OPTIONS=$CMAKE_OPTIONS_COMMON
-CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
-
-echo "*** cmake" $CMAKE_OPTIONS
-cmake $CMAKE_OPTIONS $SOURCE_DIR/irmb/irmb
-if [ $? -ne 0 ]; then
- echo "ERROR on CMake"
- exit 1
-fi
-
-echo
-echo "*** make" $MAKE_OPTIONS
-make $MAKE_OPTIONS all
-if [ $? -ne 0 ]; then
- echo "ERROR on make"
- exit 2
-fi
-
-mv mesh_booleans ${PRODUCT_INSTALL}/bin
-
-echo "##########################################################################"
-echo "cork" $VERSION
-echo "##########################################################################"
-
-cp -r $SOURCE_DIR/cork/cork $BUILD_DIR/
-cd $BUILD_DIR/cork
-cp $SOURCE_DIR/cork/off.cpp $BUILD_DIR/cork/src/file_formats/off.cpp
-if [ $? -ne 0 ]; then
- echo "ERROR on copy"
- exit 1
-fi
-
-echo
-echo "*** make" $MAKE_OPTIONS
-make $MAKE_OPTIONS
-if [ $? -ne 0 ]; then
- echo "ERROR on make"
- exit 2
-fi
-
-echo
-echo "*** make install"
-cp bin/cork ${PRODUCT_INSTALL}/bin
-if [ $? -ne 0 ]; then
- echo "ERROR on make install"
- exit 3
-fi
-chmod 755 ${PRODUCT_INSTALL}/bin/cork
-
-echo "##########################################################################"
-echo "MESH BOOLEAN PLUGIN" $VERSION
-echo "##########################################################################"
-
-cd $BUILD_DIR
-CMAKE_OPTIONS=$CMAKE_OPTIONS_COMMON
-CMAKE_OPTIONS+=" -DCMAKE_INSTALL_LIBDIR:STRING=lib"
echo "*** cmake" $CMAKE_OPTIONS
cmake $CMAKE_OPTIONS $SOURCE_DIR
if [ $? -ne 0 ]; then
echo "from qwt import QwtPlot" >> ${BUILD_DIR}/MyPlugDialog_ui.py
echo >> ${BUILD_DIR}/MyPlugDialog_ui.py
mv ${BUILD_DIR}/MyPlugDialog_ui.py ${PRODUCT_INSTALL}/plugins/meshbooleanplugin/MyPlugDialog_ui.py
+ if [ $? -ne 0 ]; then
+ echo "could not overwrite MyPlugDialog_ui.py"
+ exit 1
+ fi
else
echo "ERROR: could not find MyPlugDialog_ui.py"
+ exit 1
fi
echo
{
repositories :
{
- github : "git@github.com:gilbo/cork.git"
+ github : "https://github.com/gilbo/cork.git"
}
}
patches : ['']
"PyQt",
"Python",
"numpy",
- "cgal"
+ "cgal",
+ "libigl",
+ "mcut",
+ "irmb"
]
build_depend : ["cmake", "cppunit"]
opt_depend : []
def set_env(env, prereq_dir, version):
env.set('CGAL_ROOT_DIR', prereq_dir)
+ env.set('CGAL_VERSION', version)
env.set('CGAL_DIR', os.path.join(prereq_dir, 'lib', 'cmake'))
def set_nativ_env(env):
def set_env(env, prereq_dir, version):
env.set('CORK_ROOT_DIR', prereq_dir)
env.prepend('PATH', os.path.join(prereq_dir, 'bin'))
+ env.set('CORK_VERSION', version)
def set_nativ_env(env):
pass
def set_env(env, prereq_dir, version):
env.set('IRMB_ROOT_DIR', prereq_dir)
env.set('IRMB_DIR', os.path.join(prereq_dir, 'lib', 'cmake'))
+ env.set('IRMB_VERSION', version)
def set_nativ_env(env):
pass
def set_env(env, prereq_dir, version):
env.set('LIBIGL_ROOT_DIR', prereq_dir)
+ env.set('LIBIGL_VERSION', version)
env.prepend('PATH', os.path.join(prereq_dir, 'bin'))
+ env.set('LIBIGL_INCLUDE_DIR', os.path.join(prereq_dir, 'include'))
def set_nativ_env(env):
pass
def set_env(env, prereq_dir, version):
env.set('MCUT_ROOT_DIR', prereq_dir)
+ env.set('MCUT_VERSION', version)
+ env.prepend('PATH', os.path.join(prereq_dir, 'bin'))
def set_nativ_env(env):
pass
default :
{
name : "irmb"
- build_source : "cmake"
- cmake_options : "-DCMAKE_INSTALL_LIBDIR:STRING=lib"
+ build_source: "script"
+ compil_script: "irmb" + $VARS.scriptExtension
get_source : "git"
git_info:
{
repositories :
{
- github : "git@github.com:gcherchi/InteractiveAndRobustMeshBooleans.git"
+ github : "https://github.com/gcherchi/InteractiveAndRobustMeshBooleans.git"
}
}
patches : []
"PyQt",
"Python",
"numpy",
- "cgal"
+ "cgal",
+ "libigl",
+ "mcut"
]
build_depend : ["cmake", "cppunit"]
opt_depend : []
{
repositories :
{
- github : "git@github.com:libigl/libigl.git"
+ github : "https://github.com/libigl/libigl.git"
}
}
patches : []
{
repositories :
{
- github : "git@github.com:cutdigital/mcut.git"
+ github : "https://github.com/cutdigital/mcut.git"
}
}
patches : []
"Python",
"numpy",
"eigen",
+ "cgal",
"libigl"
]
build_depend : ["cmake", "cppunit"]
{
build_source: "script"
compil_script: "mcut" + $VARS.scriptExtension
- patches : ['mcut-b5b0ec6-p01_cgsboolean.patch']
+ patches : ['mcut-b5b0ec6-p01_cgsboolean.patch',
+ 'mcut-b5b0ec6-p02_cgsboolean.patch'
+ ]
}
{
repositories :
{
+# github : $PROJECTS.projects.salome.git_info.git_server.github.url + "meshbooleanplugin.git"
github : "https://github.com/nitawa/meshbooleanplugin.git"
}
- git_options : ' --recurse-submodules'
}
- patches: [
- 'libigl-v2.5.0-p01_609_Boolean.patch',
- 'mcut-b5b0ec6-p01_cgsboolean.patch',
- 'mcut-b5b0ec6-p02_cgsboolean.patch',
- 'cork-5987de5_off.patch'
- ]
+ patches: []
system_info :
{
rpm : []
{
env_script : $name + ".py"
}
- depend : ["SMESH",
+ depend : ["CONFIGURATION",
+ "SMESH",
"PyQt",
"Python",
"numpy",
"qtpy"
]
build_depend : ["cmake", "cppunit"]
- opt_depend : []
+ opt_depend : ["cgal", "libigl", "mcut", "irmb", "cork"]
source_dir : $APPLICATION.workdir + $VARS.sep + 'SOURCES' + $VARS.sep + $name
build_dir : $APPLICATION.workdir + $VARS.sep + 'BUILD' + $VARS.sep + $name
install_dir : 'base'
--- /dev/null
+diff --git a/cgal_test/CMakeLists.txt b/cgal_test/CMakeLists.txt
+new file mode 100644
+index 00000000000..13be5cfe196
+--- /dev/null
++++ b/cgal_test/CMakeLists.txt
+@@ -0,0 +1,21 @@
++cmake_minimum_required(VERSION 3.12)
++project(cgal)
++
++option(CGAL_DIR "Path to CGAL installation" ${CMAKE_CURRENT_SOURCE_DIR}/cgal)
++option(EXECUTABLE_OUTPUT_PATH "Installation directory" ${CMAKE_CURRENT_SOURCE_DIR})
++
++# Find CGAL package
++IF(CGAL_DIR)
++ LIST(APPEND CMAKE_PREFIX_PATH "${CGAL_DIR}")
++ENDIF(CGAL_DIR)
++find_package(CGAL REQUIRED COMPONENTS Core)
++
++# Add executable
++add_executable(exec_cgal exec_cgal.cc)
++
++# Link CGAL libraries
++target_link_libraries(exec_cgal PRIVATE CGAL::CGAL)
++
++# Enable C++11 features
++target_compile_features(exec_cgal PRIVATE cxx_std_11)
++INSTALL (TARGETS exec_cgal RUNTIME DESTINATION ${EXECUTABLE_OUTPUT_PATH})
+diff --git a/cgal_test/exec_cgal.cc b/cgal_test/exec_cgal.cc
+new file mode 100644
+index 00000000000..b46213e4bb3
+--- /dev/null
++++ b/cgal_test/exec_cgal.cc
+@@ -0,0 +1,46 @@
++#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
++#include <CGAL/Polygon_mesh_processing/IO/polygon_mesh_io.h>
++#include <CGAL/Polygon_mesh_processing/corefinement.h>
++#include <CGAL/Surface_mesh.h>
++
++#include <iostream>
++
++typedef CGAL::Exact_predicates_exact_constructions_kernel K;
++typedef CGAL::Surface_mesh<K::Point_3> Mesh;
++
++namespace PMP = CGAL::Polygon_mesh_processing;
++
++int main(int argc, const char** argv)
++{
++ const std::string filename1 = argv[2];
++ const std::string filename2 = argv[3];
++
++ Mesh mesh1, mesh2;
++
++ if(!PMP::IO::read_polygon_mesh(filename1, mesh1) || !PMP::IO::read_polygon_mesh(filename2, mesh2))
++ {
++ std::cerr << "Invalid input." << std::endl;
++ return 1;
++ }
++
++ bool valid_op;
++ Mesh result;
++
++ if (!strcmp(argv[1], "union")) {
++ valid_op = PMP::corefine_and_compute_union(mesh1, mesh2, result);
++ } else if (!strcmp(argv[1], "intersection")) {
++ valid_op = PMP::corefine_and_compute_intersection(mesh1, mesh2, result);
++ } else {
++ valid_op = PMP::corefine_and_compute_difference(mesh1, mesh2, result);
++ }
++
++ if(valid_op)
++ {
++ std::cout << "Union was successfully computed\n";
++ CGAL::IO::write_polygon_mesh(argv[4], result, CGAL::parameters::stream_precision(17));
++ return 0;
++ }
++
++ std::cout << "Union could not be computed\n";
++ return 1;
++}
-diff --git a/cork/cork/src/file_formats/off.cpp b/cork/cork/src/file_formats/off.cpp
+diff --git a/src/file_formats/off.cpp b/src/file_formats/off.cpp
index 3b12571..2a52bf4 100644
---- a/cork/cork/src/file_formats/off.cpp
-+++ b/cork/cork/src/file_formats/off.cpp
+--- a/src/file_formats/off.cpp
++++ b/src/file_formats/off.cpp
@@ -50,6 +50,7 @@ int readOFF(string filename, FileMesh *data)
in >> filetype;
if(filetype != "OFF") return 1;
---- libigl-v2.5.0_ref/libigl/libigl/tutorial/609_Boolean/main.cpp 2024-05-24 17:16:22.793731575 +0200
-+++ libigl-v2.5.0_dev/libigl/libigl/tutorial/609_Boolean/main.cpp 2024-05-24 17:17:14.666323894 +0200
+--- libigl-v2.5.0_ref/tutorial/609_Boolean/main.cpp 2024-05-24 17:16:22.793731575 +0200
++++ libigl-v2.5.0_dev/tutorial/609_Boolean/main.cpp 2024-05-24 17:17:14.666323894 +0200
@@ -1,4 +1,5 @@
-#include <igl/readOFF.h>
+#include <igl/readOBJ.h>
-diff --git a/mcut/mcut/tutorials/CSGBoolean/CSGBoolean.cpp b/mcut/mcut/tutorials/CSGBoolean/CSGBoolean.cpp
+diff --git a/tutorials/CSGBoolean/CSGBoolean.cpp b/tutorials/CSGBoolean/CSGBoolean.cpp
index d73472a..9ffbd66 100644
---- a/mcut/mcut/tutorials/CSGBoolean/CSGBoolean.cpp
-+++ b/mcut/mcut/tutorials/CSGBoolean/CSGBoolean.cpp
+--- a/tutorials/CSGBoolean/CSGBoolean.cpp
++++ b/tutorials/CSGBoolean/CSGBoolean.cpp
@@ -1,54 +1,25 @@
-/***************************************************************************
- * This file is part of the MCUT project, which is comprised of a library
---- a/mcut/mcut/CMakeLists.txt 2024-10-08 22:04:07.763300956 +0200
-+++ b/mcut/mcut/CMakeLists.txt 2024-10-07 15:25:44.107901112 +0200
+--- a/CMakeLists.txt 2024-10-08 22:04:07.763300956 +0200
++++ b/CMakeLists.txt 2024-10-07 15:25:44.107901112 +0200
@@ -42,7 +42,8 @@
set(MCUT_MAJOR 1)
set(MCUT_MINOR 2)
add_subdirectory(${mio_SOURCE_DIR} build)
#
---- a/mcut/mcut/tutorials/CMakeLists.txt 2024-10-08 22:04:07.775300917 +0200
-+++ b/mcut/mcut/tutorials/CMakeLists.txt 2024-10-07 12:57:28.643032926 +0200
+--- a/tutorials/CMakeLists.txt 2024-10-08 22:04:07.775300917 +0200
++++ b/tutorials/CMakeLists.txt 2024-10-07 12:57:28.643032926 +0200
@@ -3,7 +3,7 @@
function(create_tutorial_target tutorial_name)
add_executable(${tutorial_name} "${CMAKE_CURRENT_SOURCE_DIR}/${tutorial_name}/${tutorial_name}.cpp")