project(fennecs_src Fortran C) add_executable(fennecs) set(SRCS main.f90 basic_mod.f90 newrun.f90 restart.f90 auxval.f90 inital.f90 resume.f90 start.f90 diagnose.f90 stepon.f90 tesend.f90 endrun.f90 chkrst.f90 mv2bk.f90 constants.f90 fields_mod.f90 beam_mod.f90 mpihelper_mod.f90 sort_mod.f90 distrib_mod.f90 maxwsrce_mod.f90 celldiag_mod.f90 geometry_mod.f90 neutcol_mod.f90 particletypes_mod.f90 splinebound_mod.f90 weighttypes_mod.f90 psupply_mod.f90 ion_induced_mod.f90 materials_mod.f90 secondary_electrons_mod.f90 extra.c magnet_mod.f90 ../dependencies/random/random_mod.f90 ../dependencies/incomplete_gamma/incomplete_gamma_mod.f90 ../dependencies/elliptic/elliptic_mod.f90 ) target_sources(fennecs PRIVATE ${SRCS}) set_property(SOURCE ${SRCS} APPEND PROPERTY COMPILE_OPTIONS -cpp -fopenmp ) include_directories(SYSTEM ${MPI_INCLUDE_PATH} ${forSISL_INCLUDE_DIR} ${BSPLINES_MODS} ${FUTILS_MODS}) if(MKL_Fortran_FLAGS) separate_arguments(MKL_Fortran_FLAGS) target_compile_options(fennecs PUBLIC ${MKL_Fortran_FLAGS}) target_link_options(fennecs PUBLIC ${MKL_Fortran_FLAGS}) endif() add_custom_command(TARGET fennecs POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/fennecs ${CMAKE_CURRENT_BINARY_DIR}/../fennecs) target_include_directories(fennecs PRIVATE $ ${futils_INCLUDE_DIR}) target_link_libraries(fennecs PUBLIC MPI::MPI_Fortran futils bsplines OpenMP::OpenMP_Fortran #${BLAS_LIBRARIES} #${MUMPS_LIBRARIES} #${LAPACK_LIBRARIES} ${forSISL_LIBRARY} ${sisl_LIBRARY} ${HDF5_Fortran_LIBRARIES} ) get_cmake_property(_variableNames VARIABLES) list (SORT _variableNames) foreach (_variableName ${_variableNames}) message(STATUS "${_variableName}=${${_variableName}}") endforeach() get_target_property(OUT fennecs LINK_LIBRARIES) message(STATUS ${OUT})