|
| 1 | +macro(add_exe _exename _sources) |
| 2 | + add_executable(${_exename} ${_sources}) |
| 3 | + target_link_libraries(${_exename} superlu) |
| 4 | + install(TARGETS ${_exename} |
| 5 | + #In Cygwin, MSYS, and Win32 Mingw, the run-time .dll is placed in the bin directory, not lib. |
| 6 | +# DESTINATION ${CMAKE_INSTALL_PREFIX}/lib |
| 7 | + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
| 8 | + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
| 9 | + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} |
| 10 | +) |
| 11 | +endmacro(add_exe) |
| 12 | +macro(add_exe2 _exename _sources1 _sources2) |
| 13 | + add_executable(${_exename} ${_sources1} ${_sources2}) |
| 14 | + target_link_libraries(${_exename} superlu) |
| 15 | + install(TARGETS ${_exename} |
| 16 | + #In Cygwin, MSYS, and Win32 Mingw, the run-time .dll is placed in the bin directory, not lib. |
| 17 | +# DESTINATION ${CMAKE_INSTALL_PREFIX}/lib |
| 18 | + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} |
| 19 | + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
| 20 | + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} |
| 21 | +) |
| 22 | +endmacro(add_exe2) |
| 23 | + |
| 24 | +if(enable_single) |
| 25 | + add_exe(slinsol slinsol.c) |
| 26 | + add_exe(slinsol1 slinsol1.c) |
| 27 | + add_exe(slinsolx slinsolx.c) |
| 28 | + add_exe(slinsolx1 slinsolx1.c) |
| 29 | + add_exe(slinsolx2 slinsolx2.c) |
| 30 | + add_exe(slinsolx3 slinsolx3.c) |
| 31 | + add_exe2(sitersol sitersol.c sfgmr.c) |
| 32 | + add_exe2(sitersol1 sitersol1.c sfgmr.c) |
| 33 | +endif(enable_single) |
| 34 | +if(enable_double) |
| 35 | + add_exe(dlinsol dlinsol.c) |
| 36 | + add_exe(dlinsol1 dlinsol1.c) |
| 37 | + add_exe(dlinsolx dlinsolx.c) |
| 38 | + add_exe(dlinsolx1 dlinsolx1.c) |
| 39 | + add_exe(dlinsolx2 dlinsolx2.c) |
| 40 | + add_exe(dlinsolx3 dlinsolx3.c) |
| 41 | + add_exe2(superlu_exe superlu.c sp_ienv.c) |
| 42 | + set_target_properties(superlu_exe PROPERTIES OUTPUT_NAME "superlu") |
| 43 | + add_exe2( ditersol ditersol.c dfgmr.c) |
| 44 | + add_exe2( ditersol1 ditersol1.c dfgmr.c) |
| 45 | +endif(enable_double) |
| 46 | +if(enable_complex) |
| 47 | + add_exe(clinsol clinsol.c) |
| 48 | + add_exe(clinsol1 clinsol1.c) |
| 49 | + add_exe(clinsolx clinsolx.c) |
| 50 | + add_exe(clinsolx1 clinsolx1.c) |
| 51 | + add_exe(clinsolx2 clinsolx2.c) |
| 52 | + add_exe(clinsolx3 clinsolx3.c) |
| 53 | + add_exe2( citersol citersol.c cfgmr.c) |
| 54 | + add_exe2( citersol1 citersol1.c cfgmr.c) |
| 55 | +endif(enable_complex) |
| 56 | +if(enable_complex16) |
| 57 | + add_exe(zlinsol zlinsol.c) |
| 58 | + add_exe(zlinsol1 zlinsol1.c) |
| 59 | + add_exe(zlinsolx zlinsolx.c) |
| 60 | + add_exe(zlinsolx1 zlinsolx1.c) |
| 61 | + add_exe(zlinsolx2 zlinsolx2.c) |
| 62 | + add_exe(zlinsolx3 zlinsolx3.c) |
| 63 | + add_exe2(zitersol zitersol.c zfgmr.c) |
| 64 | + add_exe2(zitersol1 zitersol1.c zfgmr.c) |
| 65 | +endif(enable_complex16) |
| 66 | + |
| 67 | +#single: slinsol slinsol1 slinsolx slinsolx1 slinsolx2 slinsolx3 \ |
| 68 | +# sitersol sitersol1 |
| 69 | +#double: dlinsol dlinsol1 dlinsolx dlinsolx1 dlinsolx2 dlinsolx3 \ |
| 70 | +# superlu ditersol ditersol1 |
| 71 | +#complex: clinsol clinsol1 clinsolx clinsolx1 clinsolx2 clinsolx3 \ |
| 72 | +# citersol citersol1 |
| 73 | +#complex16: zlinsol zlinsol1 zlinsolx zlinsolx1 zlinsolx2 zlinsolx3 \ |
| 74 | +# zitersol zitersol1 |
0 commit comments