diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d29b34f27..d8a4ac1a9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,7 +21,6 @@ set(fppFiles stdlib_io_npy_load.fypp stdlib_io_npy_save.fypp stdlib_kinds.fypp - blas/stdlib_blas_constants.fypp stdlib_linalg.fypp stdlib_linalg_diag.fypp stdlib_linalg_least_squares.fypp @@ -86,77 +85,14 @@ set(fppFiles # Preprocessed files to contain preprocessor directives -> .F90 set(cppFiles stdlib_linalg_constants.fypp - blas/stdlib_blas.fypp - blas/stdlib_linalg_blas_aux.fypp - blas/stdlib_blas_level1.fypp - blas/stdlib_blas_level2_gen.fypp - blas/stdlib_blas_level2_ban.fypp - blas/stdlib_blas_level2_pac.fypp - blas/stdlib_blas_level2_sym.fypp - blas/stdlib_blas_level2_tri.fypp - blas/stdlib_blas_level3_gen.fypp - blas/stdlib_blas_level3_sym.fypp - blas/stdlib_blas_level3_tri.fypp - - lapack/stdlib_lapack_base.fypp - lapack/stdlib_lapack_solve.fypp - lapack/stdlib_lapack_others.fypp - lapack/stdlib_lapack_orthogonal_factors.fypp - lapack/stdlib_lapack_eig_svd_lsq.fypp - lapack/stdlib_linalg_lapack_aux.fypp - - lapack/stdlib_lapack_auxiliary.fypp - lapack/stdlib_lapack_blas_like_base.fypp - lapack/stdlib_lapack_blas_like_l1.fypp - lapack/stdlib_lapack_blas_like_l2.fypp - lapack/stdlib_lapack_blas_like_l3.fypp - lapack/stdlib_lapack_blas_like_mnorm.fypp - lapack/stdlib_lapack_blas_like_scalar.fypp - lapack/stdlib_lapack_cosine_sine.fypp - lapack/stdlib_lapack_cosine_sine2.fypp - lapack/stdlib_lapack_eigv_comp.fypp - lapack/stdlib_lapack_eigv_comp2.fypp - lapack/stdlib_lapack_eigv_gen.fypp - lapack/stdlib_lapack_eigv_gen2.fypp - lapack/stdlib_lapack_eigv_gen3.fypp - lapack/stdlib_lapack_eigv_std_driver.fypp - lapack/stdlib_lapack_eigv_svd_bidiag_dc.fypp - lapack/stdlib_lapack_eigv_svd_drivers.fypp - lapack/stdlib_lapack_eigv_svd_drivers2.fypp - lapack/stdlib_lapack_eigv_svd_drivers3.fypp - lapack/stdlib_lapack_eigv_sym_comp.fypp - lapack/stdlib_lapack_eigv_sym.fypp - lapack/stdlib_lapack_eigv_tridiag.fypp - lapack/stdlib_lapack_eigv_tridiag2.fypp - lapack/stdlib_lapack_eigv_tridiag3.fypp - lapack/stdlib_lapack_givens_jacobi_rot.fypp - lapack/stdlib_lapack_householder_reflectors.fypp - lapack/stdlib_lapack_lsq.fypp - lapack/stdlib_lapack_lsq_aux.fypp - lapack/stdlib_lapack_lsq_constrained.fypp - lapack/stdlib_lapack_orthogonal_factors_ql.fypp - lapack/stdlib_lapack_orthogonal_factors_qr.fypp - lapack/stdlib_lapack_orthogonal_factors_rz.fypp - lapack/stdlib_lapack_others_sm.fypp - lapack/stdlib_lapack_solve_aux.fypp - lapack/stdlib_lapack_solve_chol_comp.fypp - lapack/stdlib_lapack_solve_chol.fypp - lapack/stdlib_lapack_solve_ldl_comp.fypp - lapack/stdlib_lapack_solve_ldl_comp2.fypp - lapack/stdlib_lapack_solve_ldl_comp3.fypp - lapack/stdlib_lapack_solve_ldl_comp4.fypp - lapack/stdlib_lapack_solve_ldl.fypp - lapack/stdlib_lapack_solve_lu_comp.fypp - lapack/stdlib_lapack_solve_lu.fypp - lapack/stdlib_lapack_solve_tri_comp.fypp - lapack/stdlib_lapack_svd_bidiag_qr.fypp - lapack/stdlib_lapack_svd_comp.fypp - lapack/stdlib_lapack_svd_comp2.fypp stdlib_linalg_blas.fypp stdlib_linalg_lapack.fypp ) +add_subdirectory(blas) +add_subdirectory(lapack) + fypp_f90("${fyppFlags}" "${fppFiles}" outFiles) fypp_f90pp("${fyppFlags}" "${cppFiles}" outPreprocFiles) diff --git a/src/blas/CMakeLists.txt b/src/blas/CMakeLists.txt new file mode 100644 index 000000000..ad2ee4c27 --- /dev/null +++ b/src/blas/CMakeLists.txt @@ -0,0 +1,24 @@ +#### + +set(dir "${CMAKE_CURRENT_SOURCE_DIR}") + +list(APPEND fppFiles + blas/stdlib_blas_constants.fypp +) + +list(APPEND cppFiles + blas/stdlib_blas.fypp + blas/stdlib_blas_level1.fypp + blas/stdlib_blas_level2_ban.fypp + blas/stdlib_blas_level2_gen.fypp + blas/stdlib_blas_level2_pac.fypp + blas/stdlib_blas_level2_sym.fypp + blas/stdlib_blas_level2_tri.fypp + blas/stdlib_blas_level3_gen.fypp + blas/stdlib_blas_level3_sym.fypp + blas/stdlib_blas_level3_tri.fypp + blas/stdlib_linalg_blas_aux.fypp +) + +set(fppFiles "${fppFiles}" PARENT_SCOPE) +set(cppFiles "${cppFiles}" PARENT_SCOPE) diff --git a/src/lapack/CMakeLists.txt b/src/lapack/CMakeLists.txt new file mode 100644 index 000000000..6aa0a44ec --- /dev/null +++ b/src/lapack/CMakeLists.txt @@ -0,0 +1,58 @@ +list(APPEND cppFiles + lapack/stdlib_lapack_base.fypp + lapack/stdlib_lapack_solve.fypp + lapack/stdlib_lapack_others.fypp + lapack/stdlib_lapack_orthogonal_factors.fypp + lapack/stdlib_lapack_eig_svd_lsq.fypp + lapack/stdlib_linalg_lapack_aux.fypp + + lapack/stdlib_lapack_auxiliary.fypp + lapack/stdlib_lapack_blas_like_base.fypp + lapack/stdlib_lapack_blas_like_l1.fypp + lapack/stdlib_lapack_blas_like_l2.fypp + lapack/stdlib_lapack_blas_like_l3.fypp + lapack/stdlib_lapack_blas_like_mnorm.fypp + lapack/stdlib_lapack_blas_like_scalar.fypp + lapack/stdlib_lapack_cosine_sine.fypp + lapack/stdlib_lapack_cosine_sine2.fypp + lapack/stdlib_lapack_eigv_comp.fypp + lapack/stdlib_lapack_eigv_comp2.fypp + lapack/stdlib_lapack_eigv_gen.fypp + lapack/stdlib_lapack_eigv_gen2.fypp + lapack/stdlib_lapack_eigv_gen3.fypp + lapack/stdlib_lapack_eigv_std_driver.fypp + lapack/stdlib_lapack_eigv_svd_bidiag_dc.fypp + lapack/stdlib_lapack_eigv_svd_drivers.fypp + lapack/stdlib_lapack_eigv_svd_drivers2.fypp + lapack/stdlib_lapack_eigv_svd_drivers3.fypp + lapack/stdlib_lapack_eigv_sym_comp.fypp + lapack/stdlib_lapack_eigv_sym.fypp + lapack/stdlib_lapack_eigv_tridiag.fypp + lapack/stdlib_lapack_eigv_tridiag2.fypp + lapack/stdlib_lapack_eigv_tridiag3.fypp + lapack/stdlib_lapack_givens_jacobi_rot.fypp + lapack/stdlib_lapack_householder_reflectors.fypp + lapack/stdlib_lapack_lsq.fypp + lapack/stdlib_lapack_lsq_aux.fypp + lapack/stdlib_lapack_lsq_constrained.fypp + lapack/stdlib_lapack_orthogonal_factors_ql.fypp + lapack/stdlib_lapack_orthogonal_factors_qr.fypp + lapack/stdlib_lapack_orthogonal_factors_rz.fypp + lapack/stdlib_lapack_others_sm.fypp + lapack/stdlib_lapack_solve_aux.fypp + lapack/stdlib_lapack_solve_chol_comp.fypp + lapack/stdlib_lapack_solve_chol.fypp + lapack/stdlib_lapack_solve_ldl_comp.fypp + lapack/stdlib_lapack_solve_ldl_comp2.fypp + lapack/stdlib_lapack_solve_ldl_comp3.fypp + lapack/stdlib_lapack_solve_ldl_comp4.fypp + lapack/stdlib_lapack_solve_ldl.fypp + lapack/stdlib_lapack_solve_lu_comp.fypp + lapack/stdlib_lapack_solve_lu.fypp + lapack/stdlib_lapack_solve_tri_comp.fypp + lapack/stdlib_lapack_svd_bidiag_qr.fypp + lapack/stdlib_lapack_svd_comp.fypp + lapack/stdlib_lapack_svd_comp2.fypp +) + +set(cppFiles "${cppFiles}" PARENT_SCOPE)