# CMakeLists.txt file for Slycot
# use in conjunction with scikit-build
#
# RvP, 180710

# 
set(SLICOT_FSOURCE

src/SLICOT-Reference/src/AB01MD.f
src/SLICOT-Reference/src/AB01ND.f
src/SLICOT-Reference/src/AB01OD.f
src/SLICOT-Reference/src/AB04MD.f
src/SLICOT-Reference/src/AB05MD.f
src/SLICOT-Reference/src/AB05ND.f
src/SLICOT-Reference/src/AB05OD.f
src/SLICOT-Reference/src/AB05PD.f
src/SLICOT-Reference/src/AB05QD.f
src/SLICOT-Reference/src/AB05RD.f
src/SLICOT-Reference/src/AB05SD.f
src/SLICOT-Reference/src/AB07MD.f
src/SLICOT-Reference/src/AB07ND.f
src/SLICOT-Reference/src/AB08MD.f
src/SLICOT-Reference/src/AB08MZ.f
src/SLICOT-Reference/src/AB08ND.f
src/SLICOT-Reference/src/AB08NW.f
src/SLICOT-Reference/src/AB08NX.f
src/SLICOT-Reference/src/AB08NY.f
src/SLICOT-Reference/src/AB08NZ.f
src/SLICOT-Reference/src/AB09AD.f
src/SLICOT-Reference/src/AB09AX.f
src/SLICOT-Reference/src/AB09BD.f
src/SLICOT-Reference/src/AB09BX.f
src/SLICOT-Reference/src/AB09CD.f
src/SLICOT-Reference/src/AB09CX.f
src/SLICOT-Reference/src/AB09DD.f
src/SLICOT-Reference/src/AB09ED.f
src/SLICOT-Reference/src/AB09FD.f
src/SLICOT-Reference/src/AB09GD.f
src/SLICOT-Reference/src/AB09HD.f
src/SLICOT-Reference/src/AB09HX.f
src/SLICOT-Reference/src/AB09HY.f
src/SLICOT-Reference/src/AB09ID.f
src/SLICOT-Reference/src/AB09IX.f
src/SLICOT-Reference/src/AB09IY.f
src/SLICOT-Reference/src/AB09JD.f
src/SLICOT-Reference/src/AB09JV.f
src/SLICOT-Reference/src/AB09JW.f
src/SLICOT-Reference/src/AB09JX.f
src/SLICOT-Reference/src/AB09KD.f
src/SLICOT-Reference/src/AB09KX.f
src/SLICOT-Reference/src/AB09MD.f
src/SLICOT-Reference/src/AB09ND.f
src/SLICOT-Reference/src/AB13AD.f
src/SLICOT-Reference/src/AB13AX.f
src/SLICOT-Reference/src/AB13BD.f
src/SLICOT-Reference/src/AB13CD.f
src/SLICOT-Reference/src/AB13DD.f
src/SLICOT-Reference/src/AB13DX.f
src/SLICOT-Reference/src/AB13ED.f
src/SLICOT-Reference/src/AB13FD.f
src/SLICOT-Reference/src/AB13HD.f
src/SLICOT-Reference/src/AB13ID.f
src/SLICOT-Reference/src/AB13MD.f
src/SLICOT-Reference/src/AB8NXZ.f
src/SLICOT-Reference/src/AG07BD.f
src/SLICOT-Reference/src/AG08BD.f
src/SLICOT-Reference/src/AG08BY.f
src/SLICOT-Reference/src/AG08BZ.f
src/SLICOT-Reference/src/AG8BYZ.f
src/SLICOT-Reference/src/BB01AD.f
src/SLICOT-Reference/src/BB02AD.f
src/SLICOT-Reference/src/BB03AD.f
src/SLICOT-Reference/src/BB04AD.f
src/SLICOT-Reference/src/BD01AD.f
src/SLICOT-Reference/src/BD02AD.f
src/SLICOT-Reference/src/DE01OD.f
src/SLICOT-Reference/src/DE01PD.f
src/SLICOT-Reference/src/DF01MD.f
src/SLICOT-Reference/src/DG01MD.f
src/SLICOT-Reference/src/DG01ND.f
src/SLICOT-Reference/src/DG01NY.f
src/SLICOT-Reference/src/DG01OD.f
src/SLICOT-Reference/src/DK01MD.f
src/SLICOT-Reference/src/FB01QD.f
src/SLICOT-Reference/src/FB01RD.f
src/SLICOT-Reference/src/FB01SD.f
src/SLICOT-Reference/src/FB01TD.f
src/SLICOT-Reference/src/FB01VD.f
src/SLICOT-Reference/src/FD01AD.f
src/SLICOT-Reference/src/IB01AD.f
src/SLICOT-Reference/src/IB01BD.f
src/SLICOT-Reference/src/IB01CD.f
src/SLICOT-Reference/src/IB01MD.f
src/SLICOT-Reference/src/IB01MY.f
src/SLICOT-Reference/src/IB01ND.f
src/SLICOT-Reference/src/IB01OD.f
src/SLICOT-Reference/src/IB01OY.f
src/SLICOT-Reference/src/IB01PD.f
src/SLICOT-Reference/src/IB01PX.f
src/SLICOT-Reference/src/IB01PY.f
src/SLICOT-Reference/src/IB01QD.f
src/SLICOT-Reference/src/IB01RD.f
src/SLICOT-Reference/src/IB03AD.f
src/SLICOT-Reference/src/IB03BD.f
src/SLICOT-Reference/src/MA01AD.f
src/SLICOT-Reference/src/MA01BD.f
src/SLICOT-Reference/src/MA01BZ.f
src/SLICOT-Reference/src/MA01CD.f
src/SLICOT-Reference/src/MA01DD.f
src/SLICOT-Reference/src/MA01DZ.f
src/SLICOT-Reference/src/MA02AD.f
src/SLICOT-Reference/src/MA02AZ.f
src/SLICOT-Reference/src/MA02BD.f
src/SLICOT-Reference/src/MA02BZ.f
src/SLICOT-Reference/src/MA02CD.f
src/SLICOT-Reference/src/MA02CZ.f
src/SLICOT-Reference/src/MA02DD.f
src/SLICOT-Reference/src/MA02ED.f
src/SLICOT-Reference/src/MA02ES.f
src/SLICOT-Reference/src/MA02EZ.f
src/SLICOT-Reference/src/MA02FD.f
src/SLICOT-Reference/src/MA02GD.f
src/SLICOT-Reference/src/MA02GZ.f
src/SLICOT-Reference/src/MA02HD.f
src/SLICOT-Reference/src/MA02HZ.f
src/SLICOT-Reference/src/MA02ID.f
src/SLICOT-Reference/src/MA02IZ.f
src/SLICOT-Reference/src/MA02JD.f
src/SLICOT-Reference/src/MA02JZ.f
src/SLICOT-Reference/src/MA02MD.f
src/SLICOT-Reference/src/MA02MZ.f
src/SLICOT-Reference/src/MA02NZ.f
src/SLICOT-Reference/src/MA02OD.f
src/SLICOT-Reference/src/MA02OZ.f
src/SLICOT-Reference/src/MA02PD.f
src/SLICOT-Reference/src/MA02PZ.f
src/SLICOT-Reference/src/MA02RD.f
src/SLICOT-Reference/src/MA02SD.f
src/SLICOT-Reference/src/MB01KD.f
src/SLICOT-Reference/src/MB01LD.f
src/SLICOT-Reference/src/MB01MD.f
src/SLICOT-Reference/src/MB01ND.f
src/SLICOT-Reference/src/MB01OC.f
src/SLICOT-Reference/src/MB01OD.f
src/SLICOT-Reference/src/MB01OE.f
src/SLICOT-Reference/src/MB01OH.f
src/SLICOT-Reference/src/MB01OO.f
src/SLICOT-Reference/src/MB01OS.f
src/SLICOT-Reference/src/MB01OT.f
src/SLICOT-Reference/src/MB01PD.f
src/SLICOT-Reference/src/MB01QD.f
src/SLICOT-Reference/src/MB01RB.f
src/SLICOT-Reference/src/MB01RD.f
src/SLICOT-Reference/src/MB01RH.f
src/SLICOT-Reference/src/MB01RT.f
src/SLICOT-Reference/src/MB01RU.f
src/SLICOT-Reference/src/MB01RW.f
src/SLICOT-Reference/src/MB01RX.f
src/SLICOT-Reference/src/MB01RY.f
src/SLICOT-Reference/src/MB01SD.f
src/SLICOT-Reference/src/MB01SS.f
src/SLICOT-Reference/src/MB01TD.f
src/SLICOT-Reference/src/MB01UD.f
src/SLICOT-Reference/src/MB01UW.f
src/SLICOT-Reference/src/MB01UX.f
src/SLICOT-Reference/src/MB01UY.f
src/SLICOT-Reference/src/MB01UZ.f
src/SLICOT-Reference/src/MB01VD.f
src/SLICOT-Reference/src/MB01WD.f
src/SLICOT-Reference/src/MB01XD.f
src/SLICOT-Reference/src/MB01XY.f
src/SLICOT-Reference/src/MB01YD.f
src/SLICOT-Reference/src/MB01ZD.f
src/SLICOT-Reference/src/MB02CD.f
src/SLICOT-Reference/src/MB02CU.f
src/SLICOT-Reference/src/MB02CV.f
src/SLICOT-Reference/src/MB02CX.f
src/SLICOT-Reference/src/MB02CY.f
src/SLICOT-Reference/src/MB02DD.f
src/SLICOT-Reference/src/MB02ED.f
src/SLICOT-Reference/src/MB02FD.f
src/SLICOT-Reference/src/MB02GD.f
src/SLICOT-Reference/src/MB02HD.f
src/SLICOT-Reference/src/MB02ID.f
src/SLICOT-Reference/src/MB02JD.f
src/SLICOT-Reference/src/MB02JX.f
src/SLICOT-Reference/src/MB02KD.f
src/SLICOT-Reference/src/MB02MD.f
src/SLICOT-Reference/src/MB02ND.f
src/SLICOT-Reference/src/MB02NY.f
src/SLICOT-Reference/src/MB02OD.f
src/SLICOT-Reference/src/MB02PD.f
src/SLICOT-Reference/src/MB02QD.f
src/SLICOT-Reference/src/MB02QY.f
src/SLICOT-Reference/src/MB02RD.f
src/SLICOT-Reference/src/MB02RZ.f
src/SLICOT-Reference/src/MB02SD.f
src/SLICOT-Reference/src/MB02SZ.f
src/SLICOT-Reference/src/MB02TD.f
src/SLICOT-Reference/src/MB02TZ.f
src/SLICOT-Reference/src/MB02UD.f
src/SLICOT-Reference/src/MB02UU.f
src/SLICOT-Reference/src/MB02UV.f
src/SLICOT-Reference/src/MB02UW.f
src/SLICOT-Reference/src/MB02VD.f
src/SLICOT-Reference/src/MB02WD.f
src/SLICOT-Reference/src/MB02XD.f
src/SLICOT-Reference/src/MB02YD.f
src/SLICOT-Reference/src/MB03AB.f
src/SLICOT-Reference/src/MB03AD.f
src/SLICOT-Reference/src/MB03AE.f
src/SLICOT-Reference/src/MB03AF.f
src/SLICOT-Reference/src/MB03AG.f
src/SLICOT-Reference/src/MB03AH.f
src/SLICOT-Reference/src/MB03AI.f
src/SLICOT-Reference/src/MB03BA.f
src/SLICOT-Reference/src/MB03BB.f
src/SLICOT-Reference/src/MB03BC.f
src/SLICOT-Reference/src/MB03BD.f
src/SLICOT-Reference/src/MB03BE.f
src/SLICOT-Reference/src/MB03BF.f
src/SLICOT-Reference/src/MB03BG.f
src/SLICOT-Reference/src/MB03BZ.f
src/SLICOT-Reference/src/MB03CD.f
src/SLICOT-Reference/src/MB03CZ.f
src/SLICOT-Reference/src/MB03DD.f
src/SLICOT-Reference/src/MB03DZ.f
src/SLICOT-Reference/src/MB03ED.f
src/SLICOT-Reference/src/MB03FD.f
src/SLICOT-Reference/src/MB03FZ.f
src/SLICOT-Reference/src/MB03GD.f
src/SLICOT-Reference/src/MB03GZ.f
src/SLICOT-Reference/src/MB03HD.f
src/SLICOT-Reference/src/MB03HZ.f
src/SLICOT-Reference/src/MB03ID.f
src/SLICOT-Reference/src/MB03IZ.f
src/SLICOT-Reference/src/MB03JD.f
src/SLICOT-Reference/src/MB03JP.f
src/SLICOT-Reference/src/MB03JZ.f
src/SLICOT-Reference/src/MB03KA.f
src/SLICOT-Reference/src/MB03KB.f
src/SLICOT-Reference/src/MB03KC.f
src/SLICOT-Reference/src/MB03KD.f
src/SLICOT-Reference/src/MB03KE.f
src/SLICOT-Reference/src/MB03LD.f
src/SLICOT-Reference/src/MB03LF.f
src/SLICOT-Reference/src/MB03LP.f
src/SLICOT-Reference/src/MB03LZ.f
src/SLICOT-Reference/src/MB03MD.f
src/SLICOT-Reference/src/MB03MY.f
src/SLICOT-Reference/src/MB03ND.f
src/SLICOT-Reference/src/MB03NY.f
src/SLICOT-Reference/src/MB03OD.f
src/SLICOT-Reference/src/MB03OY.f
src/SLICOT-Reference/src/MB03PD.f
src/SLICOT-Reference/src/MB03PY.f
src/SLICOT-Reference/src/MB03QD.f
src/SLICOT-Reference/src/MB03QG.f
src/SLICOT-Reference/src/MB03QV.f
src/SLICOT-Reference/src/MB03QW.f
src/SLICOT-Reference/src/MB03QX.f
src/SLICOT-Reference/src/MB03QY.f
src/SLICOT-Reference/src/MB03RD.f
src/SLICOT-Reference/src/MB03RW.f
src/SLICOT-Reference/src/MB03RX.f
src/SLICOT-Reference/src/MB03RY.f
src/SLICOT-Reference/src/MB03RZ.f
src/SLICOT-Reference/src/MB03SD.f
src/SLICOT-Reference/src/MB03TD.f
src/SLICOT-Reference/src/MB03TS.f
src/SLICOT-Reference/src/MB03UD.f
src/SLICOT-Reference/src/MB03VD.f
src/SLICOT-Reference/src/MB03VW.f
src/SLICOT-Reference/src/MB03VY.f
src/SLICOT-Reference/src/MB03WA.f
src/SLICOT-Reference/src/MB03WD.f
src/SLICOT-Reference/src/MB03WX.f
src/SLICOT-Reference/src/MB03XD.f
src/SLICOT-Reference/src/MB03XP.f
src/SLICOT-Reference/src/MB03XS.f
src/SLICOT-Reference/src/MB03XU.f
src/SLICOT-Reference/src/MB03XZ.f
src/SLICOT-Reference/src/MB03YA.f
src/SLICOT-Reference/src/MB03YD.f
src/SLICOT-Reference/src/MB03YT.f
src/SLICOT-Reference/src/MB03ZA.f
src/SLICOT-Reference/src/MB03ZD.f
src/SLICOT-Reference/src/MB04AD.f
src/SLICOT-Reference/src/MB04AZ.f
src/SLICOT-Reference/src/MB04BD.f
src/SLICOT-Reference/src/MB04BP.f
src/SLICOT-Reference/src/MB04BZ.f
src/SLICOT-Reference/src/MB04CD.f
src/SLICOT-Reference/src/MB04DB.f
src/SLICOT-Reference/src/MB04DD.f
src/SLICOT-Reference/src/MB04DI.f
src/SLICOT-Reference/src/MB04DL.f
src/SLICOT-Reference/src/MB04DP.f
src/SLICOT-Reference/src/MB04DS.f
src/SLICOT-Reference/src/MB04DY.f
src/SLICOT-Reference/src/MB04DZ.f
src/SLICOT-Reference/src/MB04ED.f
src/SLICOT-Reference/src/MB04FD.f
src/SLICOT-Reference/src/MB04FP.f
src/SLICOT-Reference/src/MB04GD.f
src/SLICOT-Reference/src/MB04HD.f
src/SLICOT-Reference/src/MB04ID.f
src/SLICOT-Reference/src/MB04IY.f
src/SLICOT-Reference/src/MB04IZ.f
src/SLICOT-Reference/src/MB04JD.f
src/SLICOT-Reference/src/MB04KD.f
src/SLICOT-Reference/src/MB04LD.f
src/SLICOT-Reference/src/MB04MD.f
src/SLICOT-Reference/src/MB04ND.f
src/SLICOT-Reference/src/MB04NY.f
src/SLICOT-Reference/src/MB04OD.f
src/SLICOT-Reference/src/MB04OW.f
src/SLICOT-Reference/src/MB04OX.f
src/SLICOT-Reference/src/MB04OY.f
src/SLICOT-Reference/src/MB04PA.f
src/SLICOT-Reference/src/MB04PB.f
src/SLICOT-Reference/src/MB04PU.f
src/SLICOT-Reference/src/MB04PY.f
src/SLICOT-Reference/src/MB04QB.f
src/SLICOT-Reference/src/MB04QC.f
src/SLICOT-Reference/src/MB04QF.f
src/SLICOT-Reference/src/MB04QS.f
src/SLICOT-Reference/src/MB04QU.f
src/SLICOT-Reference/src/MB04RB.f
src/SLICOT-Reference/src/MB04RD.f
src/SLICOT-Reference/src/MB04RS.f
src/SLICOT-Reference/src/MB04RT.f
src/SLICOT-Reference/src/MB04RU.f
src/SLICOT-Reference/src/MB04RV.f
src/SLICOT-Reference/src/MB04RW.f
src/SLICOT-Reference/src/MB04RZ.f
src/SLICOT-Reference/src/MB04SU.f
src/SLICOT-Reference/src/MB04TB.f
src/SLICOT-Reference/src/MB04TS.f
src/SLICOT-Reference/src/MB04TT.f
src/SLICOT-Reference/src/MB04TU.f
src/SLICOT-Reference/src/MB04TV.f
src/SLICOT-Reference/src/MB04TW.f
src/SLICOT-Reference/src/MB04TX.f
src/SLICOT-Reference/src/MB04TY.f
src/SLICOT-Reference/src/MB04UD.f
src/SLICOT-Reference/src/MB04VD.f
src/SLICOT-Reference/src/MB04VX.f
src/SLICOT-Reference/src/MB04WD.f
src/SLICOT-Reference/src/MB04WP.f
src/SLICOT-Reference/src/MB04WR.f
src/SLICOT-Reference/src/MB04WU.f
src/SLICOT-Reference/src/MB04XD.f
src/SLICOT-Reference/src/MB04XY.f
src/SLICOT-Reference/src/MB04YD.f
src/SLICOT-Reference/src/MB04YW.f
src/SLICOT-Reference/src/MB04ZD.f
src/SLICOT-Reference/src/MB05MD.f
src/SLICOT-Reference/src/MB05MY.f
src/SLICOT-Reference/src/MB05ND.f
src/SLICOT-Reference/src/MB05OD.f
src/SLICOT-Reference/src/MB05OY.f
src/SLICOT-Reference/src/MB3JZP.f
src/SLICOT-Reference/src/MB3LZP.f
src/SLICOT-Reference/src/MB3OYZ.f
src/SLICOT-Reference/src/MB3PYZ.f
src/SLICOT-Reference/src/MB4DBZ.f
src/SLICOT-Reference/src/MB4DLZ.f
src/SLICOT-Reference/src/MB4DPZ.f
src/SLICOT-Reference/src/MC01MD.f
src/SLICOT-Reference/src/MC01ND.f
src/SLICOT-Reference/src/MC01OD.f
src/SLICOT-Reference/src/MC01PD.f
src/SLICOT-Reference/src/MC01PY.f
src/SLICOT-Reference/src/MC01QD.f
src/SLICOT-Reference/src/MC01RD.f
src/SLICOT-Reference/src/MC01SD.f
src/SLICOT-Reference/src/MC01SW.f
src/SLICOT-Reference/src/MC01SX.f
src/SLICOT-Reference/src/MC01SY.f
src/SLICOT-Reference/src/MC01TD.f
src/SLICOT-Reference/src/MC01VD.f
src/SLICOT-Reference/src/MC01WD.f
src/SLICOT-Reference/src/MC01XD.f
src/SLICOT-Reference/src/MC03MD.f
src/SLICOT-Reference/src/MC03ND.f
src/SLICOT-Reference/src/MC03NX.f
src/SLICOT-Reference/src/MC03NY.f
src/SLICOT-Reference/src/MD03AD.f
src/SLICOT-Reference/src/MD03BA.f
src/SLICOT-Reference/src/MD03BB.f
src/SLICOT-Reference/src/MD03BD.f
src/SLICOT-Reference/src/MD03BF.f
src/SLICOT-Reference/src/MD03BX.f
src/SLICOT-Reference/src/MD03BY.f
src/SLICOT-Reference/src/NF01AD.f
src/SLICOT-Reference/src/NF01AY.f
src/SLICOT-Reference/src/NF01BA.f
src/SLICOT-Reference/src/NF01BB.f
src/SLICOT-Reference/src/NF01BD.f
src/SLICOT-Reference/src/NF01BE.f
src/SLICOT-Reference/src/NF01BF.f
src/SLICOT-Reference/src/NF01BP.f
src/SLICOT-Reference/src/NF01BQ.f
src/SLICOT-Reference/src/NF01BR.f
src/SLICOT-Reference/src/NF01BS.f
src/SLICOT-Reference/src/NF01BU.f
src/SLICOT-Reference/src/NF01BV.f
src/SLICOT-Reference/src/NF01BW.f
src/SLICOT-Reference/src/NF01BX.f
src/SLICOT-Reference/src/NF01BY.f
src/SLICOT-Reference/src/SB01BD.f
src/SLICOT-Reference/src/SB01BX.f
src/SLICOT-Reference/src/SB01BY.f
src/SLICOT-Reference/src/SB01DD.f
src/SLICOT-Reference/src/SB01FY.f
src/SLICOT-Reference/src/SB01MD.f
src/SLICOT-Reference/src/SB02CX.f
src/SLICOT-Reference/src/SB02MD.f
src/SLICOT-Reference/src/SB02MR.f
src/SLICOT-Reference/src/SB02MS.f
src/SLICOT-Reference/src/SB02MT.f
src/SLICOT-Reference/src/SB02MU.f
src/SLICOT-Reference/src/SB02MV.f
src/SLICOT-Reference/src/SB02MW.f
src/SLICOT-Reference/src/SB02MX.f
src/SLICOT-Reference/src/SB02ND.f
src/SLICOT-Reference/src/SB02OD.f
src/SLICOT-Reference/src/SB02OU.f
src/SLICOT-Reference/src/SB02OV.f
src/SLICOT-Reference/src/SB02OW.f
src/SLICOT-Reference/src/SB02OX.f
src/SLICOT-Reference/src/SB02OY.f
src/SLICOT-Reference/src/SB02PD.f
src/SLICOT-Reference/src/SB02QD.f
src/SLICOT-Reference/src/SB02RD.f
src/SLICOT-Reference/src/SB02RU.f
src/SLICOT-Reference/src/SB02SD.f
src/SLICOT-Reference/src/SB03MD.f
src/SLICOT-Reference/src/SB03MU.f
src/SLICOT-Reference/src/SB03MV.f
src/SLICOT-Reference/src/SB03MW.f
src/SLICOT-Reference/src/SB03MX.f
src/SLICOT-Reference/src/SB03MY.f
src/SLICOT-Reference/src/SB03OD.f
src/SLICOT-Reference/src/SB03OR.f
src/SLICOT-Reference/src/SB03OS.f
src/SLICOT-Reference/src/SB03OT.f
src/SLICOT-Reference/src/SB03OU.f
src/SLICOT-Reference/src/SB03OV.f
src/SLICOT-Reference/src/SB03OY.f
src/SLICOT-Reference/src/SB03OZ.f
src/SLICOT-Reference/src/SB03PD.f
src/SLICOT-Reference/src/SB03QD.f
src/SLICOT-Reference/src/SB03QX.f
src/SLICOT-Reference/src/SB03QY.f
src/SLICOT-Reference/src/SB03RD.f
src/SLICOT-Reference/src/SB03SD.f
src/SLICOT-Reference/src/SB03SX.f
src/SLICOT-Reference/src/SB03SY.f
src/SLICOT-Reference/src/SB03TD.f
src/SLICOT-Reference/src/SB03UD.f
src/SLICOT-Reference/src/SB04MD.f
src/SLICOT-Reference/src/SB04MR.f
src/SLICOT-Reference/src/SB04MU.f
src/SLICOT-Reference/src/SB04MW.f
src/SLICOT-Reference/src/SB04MY.f
src/SLICOT-Reference/src/SB04ND.f
src/SLICOT-Reference/src/SB04NV.f
src/SLICOT-Reference/src/SB04NW.f
src/SLICOT-Reference/src/SB04NX.f
src/SLICOT-Reference/src/SB04NY.f
src/SLICOT-Reference/src/SB04OD.f
src/SLICOT-Reference/src/SB04OW.f
src/SLICOT-Reference/src/SB04PD.f
src/SLICOT-Reference/src/SB04PX.f
src/SLICOT-Reference/src/SB04PY.f
src/SLICOT-Reference/src/SB04QD.f
src/SLICOT-Reference/src/SB04QR.f
src/SLICOT-Reference/src/SB04QU.f
src/SLICOT-Reference/src/SB04QY.f
src/SLICOT-Reference/src/SB04RD.f
src/SLICOT-Reference/src/SB04RV.f
src/SLICOT-Reference/src/SB04RW.f
src/SLICOT-Reference/src/SB04RX.f
src/SLICOT-Reference/src/SB04RY.f
src/SLICOT-Reference/src/SB06ND.f
src/SLICOT-Reference/src/SB08CD.f
src/SLICOT-Reference/src/SB08DD.f
src/SLICOT-Reference/src/SB08ED.f
src/SLICOT-Reference/src/SB08FD.f
src/SLICOT-Reference/src/SB08GD.f
src/SLICOT-Reference/src/SB08HD.f
src/SLICOT-Reference/src/SB08MD.f
src/SLICOT-Reference/src/SB08MY.f
src/SLICOT-Reference/src/SB08ND.f
src/SLICOT-Reference/src/SB08NY.f
src/SLICOT-Reference/src/SB09MD.f
src/SLICOT-Reference/src/SB10AD.f
src/SLICOT-Reference/src/SB10DD.f
src/SLICOT-Reference/src/SB10ED.f
src/SLICOT-Reference/src/SB10FD.f
src/SLICOT-Reference/src/SB10HD.f
src/SLICOT-Reference/src/SB10ID.f
src/SLICOT-Reference/src/SB10JD.f
src/SLICOT-Reference/src/SB10KD.f
src/SLICOT-Reference/src/SB10LD.f
src/SLICOT-Reference/src/SB10MD.f
src/SLICOT-Reference/src/SB10PD.f
src/SLICOT-Reference/src/SB10QD.f
src/SLICOT-Reference/src/SB10RD.f
src/SLICOT-Reference/src/SB10SD.f
src/SLICOT-Reference/src/SB10TD.f
src/SLICOT-Reference/src/SB10UD.f
src/SLICOT-Reference/src/SB10VD.f
src/SLICOT-Reference/src/SB10WD.f
src/SLICOT-Reference/src/SB10YD.f
src/SLICOT-Reference/src/SB10ZD.f
src/SLICOT-Reference/src/SB10ZP.f
src/SLICOT-Reference/src/SB16AD.f
src/SLICOT-Reference/src/SB16AY.f
src/SLICOT-Reference/src/SB16BD.f
src/SLICOT-Reference/src/SB16CD.f
src/SLICOT-Reference/src/SB16CY.f
src/SLICOT-Reference/src/SG02AD.f
src/SLICOT-Reference/src/SG02CV.f
src/SLICOT-Reference/src/SG02CW.f
src/SLICOT-Reference/src/SG02CX.f
src/SLICOT-Reference/src/SG02ND.f
src/SLICOT-Reference/src/SG03AD.f
src/SLICOT-Reference/src/SG03AX.f
src/SLICOT-Reference/src/SG03AY.f
src/SLICOT-Reference/src/SG03BD.f
src/SLICOT-Reference/src/SG03BR.f
src/SLICOT-Reference/src/SG03BS.f
src/SLICOT-Reference/src/SG03BT.f
src/SLICOT-Reference/src/SG03BU.f
src/SLICOT-Reference/src/SG03BV.f
src/SLICOT-Reference/src/SG03BW.f
src/SLICOT-Reference/src/SG03BX.f
src/SLICOT-Reference/src/SG03BY.f
src/SLICOT-Reference/src/SG03BZ.f
src/SLICOT-Reference/src/TB01ID.f
src/SLICOT-Reference/src/TB01IZ.f
src/SLICOT-Reference/src/TB01KD.f
src/SLICOT-Reference/src/TB01KX.f
src/SLICOT-Reference/src/TB01LD.f
src/SLICOT-Reference/src/TB01MD.f
src/SLICOT-Reference/src/TB01ND.f
src/SLICOT-Reference/src/TB01PD.f
src/SLICOT-Reference/src/TB01PX.f
src/SLICOT-Reference/src/TB01TD.f
src/SLICOT-Reference/src/TB01TY.f
src/SLICOT-Reference/src/TB01UD.f
src/SLICOT-Reference/src/TB01UX.f
src/SLICOT-Reference/src/TB01UY.f
src/SLICOT-Reference/src/TB01VD.f
src/SLICOT-Reference/src/TB01VY.f
src/SLICOT-Reference/src/TB01WD.f
src/SLICOT-Reference/src/TB01WX.f
src/SLICOT-Reference/src/TB01XD.f
src/SLICOT-Reference/src/TB01XZ.f
src/SLICOT-Reference/src/TB01YD.f
src/SLICOT-Reference/src/TB01ZD.f
src/SLICOT-Reference/src/TB03AD.f
src/SLICOT-Reference/src/TB03AY.f
src/SLICOT-Reference/src/TB04AD.f
src/SLICOT-Reference/src/TB04AY.f
src/SLICOT-Reference/src/TB04BD.f
src/SLICOT-Reference/src/TB04BV.f
src/SLICOT-Reference/src/TB04BW.f
src/SLICOT-Reference/src/TB04BX.f
src/SLICOT-Reference/src/TB04CD.f
src/SLICOT-Reference/src/TB05AD.f
src/SLICOT-Reference/src/TC01OD.f
src/SLICOT-Reference/src/TC04AD.f
src/SLICOT-Reference/src/TC05AD.f
src/SLICOT-Reference/src/TD03AD.f
src/SLICOT-Reference/src/TD03AY.f
src/SLICOT-Reference/src/TD04AD.f
src/SLICOT-Reference/src/TD05AD.f
src/SLICOT-Reference/src/TF01MD.f
src/SLICOT-Reference/src/TF01MX.f
src/SLICOT-Reference/src/TF01MY.f
src/SLICOT-Reference/src/TF01ND.f
src/SLICOT-Reference/src/TF01OD.f
src/SLICOT-Reference/src/TF01PD.f
src/SLICOT-Reference/src/TF01QD.f
src/SLICOT-Reference/src/TF01RD.f
src/SLICOT-Reference/src/TG01AD.f
src/SLICOT-Reference/src/TG01AZ.f
src/SLICOT-Reference/src/TG01BD.f
src/SLICOT-Reference/src/TG01CD.f
src/SLICOT-Reference/src/TG01DD.f
src/SLICOT-Reference/src/TG01ED.f
src/SLICOT-Reference/src/TG01FD.f
src/SLICOT-Reference/src/TG01FZ.f
src/SLICOT-Reference/src/TG01GD.f
src/SLICOT-Reference/src/TG01HD.f
src/SLICOT-Reference/src/TG01HU.f
src/SLICOT-Reference/src/TG01HX.f
src/SLICOT-Reference/src/TG01HY.f
src/SLICOT-Reference/src/TG01ID.f
src/SLICOT-Reference/src/TG01JD.f
src/SLICOT-Reference/src/TG01JY.f
src/SLICOT-Reference/src/TG01KD.f
src/SLICOT-Reference/src/TG01KZ.f
src/SLICOT-Reference/src/TG01LD.f
src/SLICOT-Reference/src/TG01LY.f
src/SLICOT-Reference/src/TG01MD.f
src/SLICOT-Reference/src/TG01ND.f
src/SLICOT-Reference/src/TG01NX.f
src/SLICOT-Reference/src/TG01OA.f
src/SLICOT-Reference/src/TG01OB.f
src/SLICOT-Reference/src/TG01OD.f
src/SLICOT-Reference/src/TG01OZ.f
src/SLICOT-Reference/src/TG01PD.f
src/SLICOT-Reference/src/TG01QD.f
src/SLICOT-Reference/src/TG01WD.f
src/SLICOT-Reference/src/UD01BD.f
src/SLICOT-Reference/src/UD01CD.f
src/SLICOT-Reference/src/UD01DD.f
src/SLICOT-Reference/src/UD01MD.f
src/SLICOT-Reference/src/UD01MZ.f
src/SLICOT-Reference/src/UD01ND.f
src/SLICOT-Reference/src/UE01MD.f
src/SLICOT-Reference/src/zelctg.f

src/SLICOT-Reference/src/delctg.f
src/SLICOT-Reference/src/select.f

src/SLICOT-Reference/src/SLCT_DLATZM.f
src/SLICOT-Reference/src/SLCT_ZLATZM.f

)

set(SLYCOT_FSOURCE  src/ftruefalse.f src/XERBLA.f)

set(F2PYSOURCE src/_wrapper.pyf)
set(F2PYSOURCE_DEPS
  src/analysis.pyf src/math.pyf
  src/transform.pyf src/synthesis.pyf
  src/_helper.pyf)

set(SLYCOT_MODULE "_wrapper")

set(GENERATED_MODULE
  ${CMAKE_CURRENT_BINARY_DIR}/${SLYCOT_MODULE}${PYTHON_EXTENSION_MODULE_SUFFIX})


set(CMAKE_Fortran_FLAGS )

add_custom_target(wrapper ALL DEPENDS ${SLICOT_FSOURCE} ${SLYCOT_FSOURCE})
add_custom_command(
  OUTPUT _wrappermodule.c _wrapper-f2pywrappers.f
  COMMAND ${F2PY_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/${F2PYSOURCE}
  DEPENDS ${F2PYSOURCE_DEPS} ${F2PYSOURCE}
)

add_library(
  ${SLYCOT_MODULE} MODULE
  _wrappermodule.c
  ${F2PY_INCLUDE_DIR}/fortranobject.c
  _wrapper-f2pywrappers.f
  ${SLICOT_FSOURCE} ${SLYCOT_FSOURCE})

target_link_libraries(${SLYCOT_MODULE}
  ${LAPACK_LIBRARIES})

target_include_directories(
  ${SLYCOT_MODULE} PUBLIC
  ${Python_INCLUDE_DIRS}
  ${Python_NumPy_INCLUDE_DIRS}
  ${F2PY_INCLUDE_DIRS}
  )

if (UNIX)
  if (APPLE)
    set_target_properties(${SLYCOT_MODULE} PROPERTIES
      LINK_FLAGS  '-Wl,-dylib,-undefined,dynamic_lookup')
  else()
    set_target_properties(${SLYCOT_MODULE} PROPERTIES
      LINK_FLAGS  '-Wl,--allow-shlib-undefined')
  endif()
endif()

python_extension_module(${SLYCOT_MODULE})

install(TARGETS ${SLYCOT_MODULE} LIBRARY DESTINATION slycot)
