Compare commits
9 Commits
cafe-1.21.
...
v.1.21.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bddcb4f9c7 | ||
|
|
477d4ec821 | ||
|
|
d59a6b9dae | ||
|
|
8ea218717a | ||
| a8d745839b | |||
|
|
140e306c96 | ||
| 0eb076c215 | |||
|
|
76c93d7b3f | ||
| 36401f6b9e |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -9,5 +9,7 @@ SL6-x86_64
|
||||
windows-x64
|
||||
felix-cache
|
||||
readme.txt
|
||||
makefile_rel*
|
||||
makefile_rel_1.1*
|
||||
makefile_rel_1.3*
|
||||
makefile_rel_1.20*
|
||||
*.*.orig
|
||||
|
||||
Binary file not shown.
@@ -8,4 +8,4 @@ function mcaunlock;
|
||||
% loosing channel access connections.
|
||||
%mca(0);
|
||||
mocha('mexUnlock');
|
||||
disp('mca mex-file is now UNLOCKED');
|
||||
%disp('mca mex-file is now UNLOCKED');
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -501,7 +501,7 @@ void macchinettaFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prh
|
||||
break;
|
||||
|
||||
case MOCHA_VERSION:
|
||||
plhs[0]=mxCreateString((char *) "mocha-1.20.1 : 7 May 2024");
|
||||
plhs[0]=mxCreateString((char *) "mocha-1.21.0 : 12 July 2024; Contact: Felix Armborst");
|
||||
break;
|
||||
|
||||
case SHOW:
|
||||
|
||||
105
makefile_rel_1.21-gcc-10.4.0
Normal file
105
makefile_rel_1.21-gcc-10.4.0
Normal file
@@ -0,0 +1,105 @@
|
||||
#
|
||||
# Jan Chrin
|
||||
# Version: July 2019 - Qt5
|
||||
#
|
||||
# makefile to build mocha mex file
|
||||
# printenv | grep MATLAB to reveal your MATLAB Directory
|
||||
#
|
||||
#
|
||||
# local executables are built in ./${EPICS_HOST_ARCH}/$(MVER)
|
||||
# where the MATLAB version is grepped from $(MATLAB)
|
||||
|
||||
MATLAB_ROOT=${MATLAB}
|
||||
MATLAB_VERSION=$(notdir $(MATLAB_ROOT))
|
||||
|
||||
##### CHANGE AS APPROPRIATE #################
|
||||
#Mocha Version to install
|
||||
MOCHA_VERSION=mocha-1.21.0-gcc-10.4.0
|
||||
#CAFE version to link to
|
||||
CAFE_VERSION=cafe-1.21.0-gcc-10.4.0
|
||||
|
||||
EPICS_BASE=${EPICS}/base-7.0.8
|
||||
#CAFE project base
|
||||
CAFE_BASE=/opt/gfa/cafe
|
||||
CAFE_MOCHA_BASE=${CAFE_BASE}/mocha
|
||||
CAFE_CPP_BASE=$(CAFE_BASE)/cpp/$(CAFE_VERSION)
|
||||
BOOST_BASE=${CAFE_BASE}/boost/boost_1_61_0/include
|
||||
|
||||
CAFE_OBJS_DIR = $(CAFE_BASE)/cpp/$(CAFE_VERSION)/lib/$(EPICS_HOST_ARCH)/libcafe.a
|
||||
|
||||
#if qt5 has libQt5Core.so link
|
||||
#QT5_DIR= /opt/psi/Cafe/cafe-matlab/${MATLAB_VERSION}/libexec
|
||||
QT5_DIR= ${MATLAB_ROOT}/bin/glnxa64
|
||||
|
||||
INSTALL_MOCHA_LIBDIR= $(CAFE_MOCHA_BASE)/$(MOCHA_VERSION)/lib/$(EPICS_HOST_ARCH)/$(MATLAB_VERSION)
|
||||
#############################################
|
||||
|
||||
|
||||
#First deteremine if we are on a 32/64 bit machine
|
||||
#as mex file extensions are named differently
|
||||
pattern64=x86_64
|
||||
pattern32=i386
|
||||
|
||||
PWD=$(shell pwd)
|
||||
#hardware platform
|
||||
HW=$(shell uname -i)
|
||||
ifeq ($(pattern64),$(findstring $(pattern64), $(HW)))
|
||||
MEXE=mexa64
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa64
|
||||
else
|
||||
ifeq ($(pattern32),$(findstring $(pattern32), $(HW)))
|
||||
MEXE=mexglx
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa86
|
||||
endif
|
||||
endif
|
||||
|
||||
INSTALL_PATH?=$(INSTALL_MOCHA_LIBDIR)
|
||||
OBJ_DIR= ${EPICS_HOST_ARCH}/$(MATLAB_VERSION)
|
||||
|
||||
INCLUDEPATH_MOCHA += -I$(MATLAB_ROOT)/extern/include \
|
||||
-I$(CAFE_CPP_BASE)/include -I./ \
|
||||
-I$(EPICS_BASE)/include -I$(EPICS_BASE)/include/os/Linux \
|
||||
-I$(EPICS_BASE)/include/compiler/gcc
|
||||
|
||||
INCLUDEPATH_MACHINETTA += $(INCLUDEPATH_MOCHA) -I$(BOOST_BASE) -I$(BOOST_BASE)/boost
|
||||
|
||||
|
||||
# linkage to qt5 required if cafe built with Qt5
|
||||
#-lboost_system -lboost_thread-mt
|
||||
LIBS += -ldl -lca -lCom -lmx -lmex -lmat -lQt5Core -lQt5Xml
|
||||
#LIBS += -lmx -lmex -lmat
|
||||
|
||||
$(OBJ_DIR)/mocha.$(MEXE): mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o
|
||||
mex CXXFLAGS='$(CXXFLAGS) -v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread -std=c++1z' \
|
||||
'LDFLAGS=-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -L${QT5_DIR} -Wl,-rpath,${QT5_DIR} -L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) $(LIBS)' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) \
|
||||
-outdir $(OBJ_DIR) -output mocha.$(MEXE) \
|
||||
$(INCLUDEPATH_MOCHA)
|
||||
cp example.m $(OBJ_DIR)
|
||||
cp scripts/*.m $(OBJ_DIR)
|
||||
cp scripts/test.xml $(OBJ_DIR)
|
||||
|
||||
|
||||
$(OBJ_DIR)/macchinettaSwitch.o: macchinettaSwitch.cpp macchinettaHelper.h \
|
||||
macchinetta.h containerMochaccino.h
|
||||
mex CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread -std=c++1z' \
|
||||
-c macchinettaSwitch.cpp $(INCLUDEPATH_MACHINETTA) 'LDFLAGS=-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) $(LIBS)' -outdir $(OBJ_DIR)
|
||||
|
||||
install: $(OBJ_DIR)/mocha.$(MEXE)
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
mex CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread -std=c++1z' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) -outdir $(INSTALL_PATH) -output mocha.$(MEXE) $(INCLUDEPATH_MOCHA) \
|
||||
'LDFLAGS=-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) $(LIBS)'
|
||||
|
||||
cp example.m $(INSTALL_PATH)
|
||||
cp scripts/*.m $(INSTALL_PATH)
|
||||
cp scripts/test.xml $(INSTALL_PATH)
|
||||
|
||||
install_lib: $(OBJ_DIR)/libmacchinetta.so
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
cp $(OBJ_DIR)/libmacchinetta.so $(INSTALL_PATH)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.o $(OBJ_DIR)/*.so $(OBJ_DIR)/*.$(MEXE)
|
||||
|
||||
print-% : ; @echo $* = $($*)
|
||||
5
makefile_rel_1.21-gcc-10.4.0.sh
Normal file
5
makefile_rel_1.21-gcc-10.4.0.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
module unload gcc
|
||||
module load gcc/10.4.0
|
||||
echo "$1"
|
||||
action=$1
|
||||
make -f makefile_rel_1.21-gcc-10.4.0 -s $action
|
||||
105
makefile_rel_1.21-gcc-7.3.0
Normal file
105
makefile_rel_1.21-gcc-7.3.0
Normal file
@@ -0,0 +1,105 @@
|
||||
#
|
||||
# Jan Chrin
|
||||
# Version: July 2019 - Qt5
|
||||
#
|
||||
# makefile to build mocha mex file
|
||||
# printenv | grep MATLAB to reveal your MATLAB Directory
|
||||
#
|
||||
#
|
||||
# local executables are built in ./${EPICS_HOST_ARCH}/$(MVER)
|
||||
# where the MATLAB version is grepped from $(MATLAB)
|
||||
|
||||
MATLAB_ROOT=${MATLAB}
|
||||
MATLAB_VERSION=$(notdir $(MATLAB_ROOT))
|
||||
|
||||
##### CHANGE AS APPROPRIATE #################
|
||||
#Mocha Version to install
|
||||
MOCHA_VERSION=mocha-1.21.0-gcc-7.3.0
|
||||
#CAFE version to link to
|
||||
CAFE_VERSION=cafe-1.21.0-gcc-7.3.0
|
||||
|
||||
EPICS_BASE=${EPICS}/base-7.0.8
|
||||
#CAFE project base
|
||||
CAFE_BASE=/opt/gfa/cafe
|
||||
CAFE_MOCHA_BASE=${CAFE_BASE}/mocha
|
||||
CAFE_CPP_BASE=$(CAFE_BASE)/cpp/$(CAFE_VERSION)
|
||||
BOOST_BASE=${CAFE_BASE}/boost/boost_1_61_0/include
|
||||
|
||||
CAFE_OBJS_DIR = $(CAFE_BASE)/cpp/$(CAFE_VERSION)/lib/$(EPICS_HOST_ARCH)/libcafe.a
|
||||
|
||||
#if qt5 has libQt5Core.so link
|
||||
#QT5_DIR= /opt/psi/Cafe/cafe-matlab/${MATLAB_VERSION}/libexec
|
||||
QT5_DIR= ${MATLAB_ROOT}/bin/glnxa64
|
||||
|
||||
INSTALL_MOCHA_LIBDIR= $(CAFE_MOCHA_BASE)/$(MOCHA_VERSION)/lib/$(EPICS_HOST_ARCH)/$(MATLAB_VERSION)
|
||||
#############################################
|
||||
|
||||
|
||||
#First deteremine if we are on a 32/64 bit machine
|
||||
#as mex file extensions are named differently
|
||||
pattern64=x86_64
|
||||
pattern32=i386
|
||||
|
||||
PWD=$(shell pwd)
|
||||
#hardware platform
|
||||
HW=$(shell uname -i)
|
||||
ifeq ($(pattern64),$(findstring $(pattern64), $(HW)))
|
||||
MEXE=mexa64
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa64
|
||||
else
|
||||
ifeq ($(pattern32),$(findstring $(pattern32), $(HW)))
|
||||
MEXE=mexglx
|
||||
MATLAB_LIB = $(MATLAB_ROOT)/bin/glnxa86
|
||||
endif
|
||||
endif
|
||||
|
||||
INSTALL_PATH?=$(INSTALL_MOCHA_LIBDIR)
|
||||
OBJ_DIR= ${EPICS_HOST_ARCH}/$(MATLAB_VERSION)
|
||||
|
||||
INCLUDEPATH_MOCHA += -I$(MATLAB_ROOT)/extern/include \
|
||||
-I$(CAFE_CPP_BASE)/include -I./ \
|
||||
-I$(EPICS_BASE)/include -I$(EPICS_BASE)/include/os/Linux \
|
||||
-I$(EPICS_BASE)/include/compiler/gcc
|
||||
|
||||
INCLUDEPATH_MACHINETTA += $(INCLUDEPATH_MOCHA) -I$(BOOST_BASE) -I$(BOOST_BASE)/boost
|
||||
|
||||
|
||||
# linkage to qt5 required if cafe built with Qt5
|
||||
#-lboost_system -lboost_thread-mt
|
||||
LIBS += -ldl -lca -lCom -lmx -lmex -lmat -lQt5Core -lQt5Xml
|
||||
#LIBS += -lmx -lmex -lmat
|
||||
|
||||
$(OBJ_DIR)/mocha.$(MEXE): mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o
|
||||
mex CXXFLAGS='$(CXXFLAGS) -v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread -std=c++1z' \
|
||||
'LDFLAGS=-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -L${QT5_DIR} -Wl,-rpath,${QT5_DIR} -L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) $(LIBS)' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) \
|
||||
-outdir $(OBJ_DIR) -output mocha.$(MEXE) \
|
||||
$(INCLUDEPATH_MOCHA)
|
||||
cp example.m $(OBJ_DIR)
|
||||
cp scripts/*.m $(OBJ_DIR)
|
||||
cp scripts/test.xml $(OBJ_DIR)
|
||||
|
||||
|
||||
$(OBJ_DIR)/macchinettaSwitch.o: macchinettaSwitch.cpp macchinettaHelper.h \
|
||||
macchinetta.h containerMochaccino.h
|
||||
mex CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread -std=c++1z' \
|
||||
-c macchinettaSwitch.cpp $(INCLUDEPATH_MACHINETTA) 'LDFLAGS=-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) $(LIBS)' -outdir $(OBJ_DIR)
|
||||
|
||||
install: $(OBJ_DIR)/mocha.$(MEXE)
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
mex CXXFLAGS='-v -largeArrayDims -ansi -fexceptions -fPIC -fno-omit-frame-pointer -pthread -std=c++1z' \
|
||||
mocha.cpp $(OBJ_DIR)/macchinettaSwitch.o $(CAFE_OBJS_DIR) -outdir $(INSTALL_PATH) -output mocha.$(MEXE) $(INCLUDEPATH_MOCHA) \
|
||||
'LDFLAGS=-L$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -Wl,-rpath,$(EPICS_BASE)/lib/${EPICS_HOST_ARCH} -L$(MATLAB_LIB) -Wl,-rpath,$(MATLAB_LIB) $(LIBS)'
|
||||
|
||||
cp example.m $(INSTALL_PATH)
|
||||
cp scripts/*.m $(INSTALL_PATH)
|
||||
cp scripts/test.xml $(INSTALL_PATH)
|
||||
|
||||
install_lib: $(OBJ_DIR)/libmacchinetta.so
|
||||
mkdir -p $(INSTALL_PATH)
|
||||
cp $(OBJ_DIR)/libmacchinetta.so $(INSTALL_PATH)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJ_DIR)/*.o $(OBJ_DIR)/*.so $(OBJ_DIR)/*.$(MEXE)
|
||||
|
||||
print-% : ; @echo $* = $($*)
|
||||
5
makefile_rel_1.21-gcc-7.3.0.sh
Normal file
5
makefile_rel_1.21-gcc-7.3.0.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
module unload gcc
|
||||
module load gcc/7.3.0
|
||||
echo "$1"
|
||||
action=$1
|
||||
make -f makefile_rel_1.21-gcc-7.3.0 -s $action
|
||||
20
modulefile_template
Normal file
20
modulefile_template
Normal file
@@ -0,0 +1,20 @@
|
||||
#%Module1.0
|
||||
|
||||
module-whatis "mocha matlab executable"
|
||||
module-url "https://cafe.psi.ch"
|
||||
module-license "GPL V3"
|
||||
module-maintainer "Felix Armborst <felix.armborst@psi.ch>"
|
||||
|
||||
module-help "
|
||||
Versions
|
||||
RHEL vrhel
|
||||
EPICS vepics
|
||||
GCC vgcc
|
||||
CAFE vcafe
|
||||
|
||||
Further details under https://cafe.psi.ch/mocha.html
|
||||
"
|
||||
|
||||
module load matlab/vmatlab
|
||||
|
||||
prepend-path MATLABPATH "$PREFIX/libexec"
|
||||
108
setup_each_matlab.sh
Normal file
108
setup_each_matlab.sh
Normal file
@@ -0,0 +1,108 @@
|
||||
#!/bin/bash
|
||||
|
||||
# user prompt for setup step
|
||||
while [[ ! $step =~ ^(0|1|2|3|4|5|6)$ ]]
|
||||
do
|
||||
echo "Which setup step should be run?"
|
||||
echo " 0 - cleanup (make clean)"
|
||||
echo " 1 - local build (make)"
|
||||
echo " 2 - test local build (matlab -batch ...)"
|
||||
echo " 3 - install build to /opt/gfa/cafe/mocha/ (make install)"
|
||||
echo " 4 - deploy build to pmodules"
|
||||
echo " 5 - update pmodule info files"
|
||||
echo " 6 - test module (module load && matlab -batch ...)"
|
||||
read -p "choose step (0-6): " step
|
||||
done
|
||||
|
||||
ca office network
|
||||
module use Cafe
|
||||
vrhel=${RHREL}
|
||||
vcafe=1.21.0
|
||||
vepics=7.0.8
|
||||
|
||||
for vmatlab in 2024a 2023b 2023a 2022b 2022a 2021b 2021a 2020b 2020a 2019b 2019a 2018b 2018a
|
||||
do
|
||||
if [[ "$vmatlab" =~ ^(2018a|2018b|2019a|2019b|2020a|2020b|2021a|2021b)$ ]]; then
|
||||
vgcc=7.3.0
|
||||
elif [[ "$vmatlab" =~ ^(2022a|2022b|2023a|2023b|2024a)$ ]]; then
|
||||
vgcc=10.4.0
|
||||
fi
|
||||
printf "\n\n\n=======================================================================\n"
|
||||
printf "=======================================================================\n"
|
||||
echo "Versions"
|
||||
echo " Matlab: $vmatlab"
|
||||
echo " RHEL: $vrhel"
|
||||
echo " gcc: $vgcc"
|
||||
echo " Cafe: $vcafe"
|
||||
echo " EPICS: $vepics"
|
||||
printf "=======================================================================\n"
|
||||
printf "=======================================================================\n"
|
||||
module unload cafe-matlab
|
||||
module unload matlab
|
||||
module load matlab/$vmatlab
|
||||
module unload gcc
|
||||
module load gcc/$vgcc
|
||||
module list
|
||||
|
||||
if [ $step -eq 0 ]; then
|
||||
echo "0 - cleanup (make clean)"
|
||||
make -f makefile_rel_1.21-gcc-$vgcc clean
|
||||
|
||||
elif [ $step -eq 1 ]; then
|
||||
echo "1 - local build (make)"
|
||||
make -f makefile_rel_1.21-gcc-$vgcc
|
||||
|
||||
elif [ $step -eq 2 ]; then
|
||||
echo "2 - test local build (matlab -batch ...)"
|
||||
if [[ "$vmatlab" =~ ^(2019a|2019b|2020a|2020b|2021a|2021b|2022a|2022b|2023a|2023b|2024a)$ ]]; then
|
||||
matlab -batch "cd RHEL8-x86_64/$vmatlab;disp(mocha('version'));example"
|
||||
else
|
||||
matlab -nodisplay -nosplash -nodesktop -r "cd RHEL8-x86_64/$vmatlab;disp(mocha('version'));example;exit"
|
||||
fi
|
||||
|
||||
elif [ $step -eq 3 ]; then
|
||||
echo "3 - install build to /opt/gfa/cafe/mocha/ (make install)"
|
||||
make -f makefile_rel_1.21-gcc-$vgcc install
|
||||
|
||||
elif [ $step -eq 4 ]; then
|
||||
echo "4 - deploy build to pmodules"
|
||||
new_dir="/opt/psi/Cafe/cafe-matlab/$vmatlab-$vrhel-gcc-$vgcc-cafe-$vcafe/libexec"
|
||||
src_dir="/opt/gfa/cafe/mocha/mocha-$vcafe-gcc-$vgcc/lib/$vrhel-x86_64/$vmatlab"
|
||||
|
||||
echo " new Dir: $new_dir"
|
||||
echo " src Dir: $src_dir"
|
||||
|
||||
mkdir -p $new_dir
|
||||
# cp mocha mex file
|
||||
cp $src_dir/* $new_dir
|
||||
# cp mca/ca scripts
|
||||
cp /afs/psi.ch/project/cafe/gitlab/CAFE/mocha/scripts/* $new_dir
|
||||
ls -la $new_dir
|
||||
rm -f /opt/psi/Cafe/cafe-matlab/$vmatlab
|
||||
ln -s $vmatlab-$vrhel-gcc-$vgcc-cafe-$vcafe /opt/psi/Cafe/cafe-matlab/$vmatlab
|
||||
elif [ $step -eq 5 ]; then
|
||||
echo "5 - update pmodule info files"
|
||||
cp modulefile_template $vmatlab
|
||||
sed -i -e "s/vmatlab/$vmatlab/g" $vmatlab
|
||||
sed -i -e "s/vrhel/$vrhel/g" $vmatlab
|
||||
sed -i -e "s/vepics/$vepics/g" $vmatlab
|
||||
sed -i -e "s/vgcc/$vgcc/g" $vmatlab
|
||||
sed -i -e "s/vcafe/$vcafe/g" $vmatlab
|
||||
|
||||
cp $vmatlab /opt/psi/Cafe/modulefiles/cafe-matlab/$vmatlab
|
||||
rm $vmatlab
|
||||
|
||||
elif [ $step -eq 6 ]; then
|
||||
echo "6 - test module (module load && matlab -batch ...)"
|
||||
|
||||
echo $vmatlab
|
||||
module help cafe-matlab/$vmatlab
|
||||
module load cafe-matlab/$vmatlab
|
||||
module list
|
||||
if [[ "$vmatlab" =~ ^(2019a|2019b|2020a|2020b|2021a|2021b|2022a|2022b|2023a|2023b|2024a)$ ]]; then
|
||||
matlab -batch "cd RHEL8-x86_64/$vmatlab;disp(mocha('version'));example"
|
||||
else
|
||||
matlab -nodisplay -nosplash -nodesktop -r "cd RHEL8-x86_64/$vmatlab;disp(mocha('version'));example;exit"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user