Is it perfect? Well no CUDAProb3 is a mess and it is impossible to compile them at the same time as linker goes crazy due to
nvlink error : Multiple definition of '_ZN9cudaprob37physics15mix_data_deviceE' in 'CMakeFiles/OscClass.dir/__/_deps/cudaprob3-src/atmoscudapropagator.cu.o', first defined in 'CMakeFiles/OscClass.dir/__/_deps/cudaprob3-src/beamcudapropagator.cu.o' (target: sm_35)
Unless somone fixed CUDAProb3 we wwill still have fragile unga bunga cmake...
This has been tested both with CPU and GPU and compiles with both. This is our fancy cmake screen![image](https://github.com/mach3-software/MaCh3/assets/45295406/f2509a40-f725-4c40-93f4-4318ff779040)
There are several improvments so quickly
Thanks to changes we have control over flags in CUDAProb3![image](https://github.com/mach3-software/MaCh3/assets/45295406/2ec31771-c10c-4fe3-b465-55ac920aef5a)
We have proper autogenerated setup![image](https://github.com/mach3-software/MaCh3/assets/45295406/b98a1a21-449b-4281-930d-667c2557bfa5)
Thus we properly tranfer flags to for example T2K![image](https://github.com/mach3-software/MaCh3/assets/45295406/05f20c95-7297-4a64-a060-6feecc58e514)
Here are targets and Config.cmake MaCh3Config.cmake.txt MaCh3Targets.cmake.txt
Is it perfect? Well no CUDAProb3 is a mess and it is impossible to compile them at the same time as linker goes crazy due to
nvlink error : Multiple definition of '_ZN9cudaprob37physics15mix_data_deviceE' in 'CMakeFiles/OscClass.dir/__/_deps/cudaprob3-src/atmoscudapropagator.cu.o', first defined in 'CMakeFiles/OscClass.dir/__/_deps/cudaprob3-src/beamcudapropagator.cu.o' (target: sm_35)
Unless somone fixed CUDAProb3 we wwill still have fragile unga bunga cmake...