Skip to content

Commit 68dca8d

Browse files
authored
Merge branch 'fortran-lang:master' into subprocess
2 parents d1a4715 + 74f5f90 commit 68dca8d

File tree

5 files changed

+102
-76
lines changed

5 files changed

+102
-76
lines changed

.github/workflows/CI.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,16 @@ jobs:
2525
- {compiler: gcc, version: 11}
2626
- {compiler: gcc, version: 12}
2727
- {compiler: gcc, version: 13}
28-
- {compiler: intel, version: '2024.1'}
29-
- {compiler: intel-classic, version: '2021.9'}
30-
build: [cmake]
28+
- {compiler: intel, version: '2024.1'}
29+
build: [cmake]
3130
include:
31+
- os: ubuntu-22.04
32+
build: cmake
33+
toolchain: {compiler: intel-classic, version: '2021.10'}
3234
- os: ubuntu-latest
3335
build: cmake-inline
34-
toolchain:
35-
- {compiler: gcc, version: 10}
36+
toolchain: {compiler: gcc, version: 10}
3637
exclude:
37-
- os: macos-13
38-
toolchain: {compiler: intel-classic, version: '2021.9'}
3938
- os: macos-13
4039
toolchain: {compiler: intel, version: '2024.1'}
4140
- os: macos-13
@@ -56,7 +55,7 @@ jobs:
5655
run: pip install --upgrade fypp ninja
5756

5857
- name: Setup Fortran compiler
59-
uses: fortran-lang/[email protected].1
58+
uses: fortran-lang/[email protected].2
6059
id: setup-fortran
6160
with:
6261
compiler: ${{ matrix.toolchain.compiler }}

src/CMakeLists.txt

Lines changed: 3 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ set(fppFiles
2121
stdlib_io_npy_load.fypp
2222
stdlib_io_npy_save.fypp
2323
stdlib_kinds.fypp
24-
blas/stdlib_blas_constants.fypp
2524
stdlib_linalg.fypp
2625
stdlib_linalg_diag.fypp
2726
stdlib_linalg_least_squares.fypp
@@ -86,77 +85,14 @@ set(fppFiles
8685
# Preprocessed files to contain preprocessor directives -> .F90
8786
set(cppFiles
8887
stdlib_linalg_constants.fypp
89-
blas/stdlib_blas.fypp
90-
blas/stdlib_linalg_blas_aux.fypp
91-
blas/stdlib_blas_level1.fypp
92-
blas/stdlib_blas_level2_gen.fypp
93-
blas/stdlib_blas_level2_ban.fypp
94-
blas/stdlib_blas_level2_pac.fypp
95-
blas/stdlib_blas_level2_sym.fypp
96-
blas/stdlib_blas_level2_tri.fypp
97-
blas/stdlib_blas_level3_gen.fypp
98-
blas/stdlib_blas_level3_sym.fypp
99-
blas/stdlib_blas_level3_tri.fypp
100-
101-
lapack/stdlib_lapack_base.fypp
102-
lapack/stdlib_lapack_solve.fypp
103-
lapack/stdlib_lapack_others.fypp
104-
lapack/stdlib_lapack_orthogonal_factors.fypp
105-
lapack/stdlib_lapack_eig_svd_lsq.fypp
106-
lapack/stdlib_linalg_lapack_aux.fypp
107-
108-
lapack/stdlib_lapack_auxiliary.fypp
109-
lapack/stdlib_lapack_blas_like_base.fypp
110-
lapack/stdlib_lapack_blas_like_l1.fypp
111-
lapack/stdlib_lapack_blas_like_l2.fypp
112-
lapack/stdlib_lapack_blas_like_l3.fypp
113-
lapack/stdlib_lapack_blas_like_mnorm.fypp
114-
lapack/stdlib_lapack_blas_like_scalar.fypp
115-
lapack/stdlib_lapack_cosine_sine.fypp
116-
lapack/stdlib_lapack_cosine_sine2.fypp
117-
lapack/stdlib_lapack_eigv_comp.fypp
118-
lapack/stdlib_lapack_eigv_comp2.fypp
119-
lapack/stdlib_lapack_eigv_gen.fypp
120-
lapack/stdlib_lapack_eigv_gen2.fypp
121-
lapack/stdlib_lapack_eigv_gen3.fypp
122-
lapack/stdlib_lapack_eigv_std_driver.fypp
123-
lapack/stdlib_lapack_eigv_svd_bidiag_dc.fypp
124-
lapack/stdlib_lapack_eigv_svd_drivers.fypp
125-
lapack/stdlib_lapack_eigv_svd_drivers2.fypp
126-
lapack/stdlib_lapack_eigv_svd_drivers3.fypp
127-
lapack/stdlib_lapack_eigv_sym_comp.fypp
128-
lapack/stdlib_lapack_eigv_sym.fypp
129-
lapack/stdlib_lapack_eigv_tridiag.fypp
130-
lapack/stdlib_lapack_eigv_tridiag2.fypp
131-
lapack/stdlib_lapack_eigv_tridiag3.fypp
132-
lapack/stdlib_lapack_givens_jacobi_rot.fypp
133-
lapack/stdlib_lapack_householder_reflectors.fypp
134-
lapack/stdlib_lapack_lsq.fypp
135-
lapack/stdlib_lapack_lsq_aux.fypp
136-
lapack/stdlib_lapack_lsq_constrained.fypp
137-
lapack/stdlib_lapack_orthogonal_factors_ql.fypp
138-
lapack/stdlib_lapack_orthogonal_factors_qr.fypp
139-
lapack/stdlib_lapack_orthogonal_factors_rz.fypp
140-
lapack/stdlib_lapack_others_sm.fypp
141-
lapack/stdlib_lapack_solve_aux.fypp
142-
lapack/stdlib_lapack_solve_chol_comp.fypp
143-
lapack/stdlib_lapack_solve_chol.fypp
144-
lapack/stdlib_lapack_solve_ldl_comp.fypp
145-
lapack/stdlib_lapack_solve_ldl_comp2.fypp
146-
lapack/stdlib_lapack_solve_ldl_comp3.fypp
147-
lapack/stdlib_lapack_solve_ldl_comp4.fypp
148-
lapack/stdlib_lapack_solve_ldl.fypp
149-
lapack/stdlib_lapack_solve_lu_comp.fypp
150-
lapack/stdlib_lapack_solve_lu.fypp
151-
lapack/stdlib_lapack_solve_tri_comp.fypp
152-
lapack/stdlib_lapack_svd_bidiag_qr.fypp
153-
lapack/stdlib_lapack_svd_comp.fypp
154-
lapack/stdlib_lapack_svd_comp2.fypp
15588

15689
stdlib_linalg_blas.fypp
15790
stdlib_linalg_lapack.fypp
15891
)
15992

93+
add_subdirectory(blas)
94+
add_subdirectory(lapack)
95+
16096
fypp_f90("${fyppFlags}" "${fppFiles}" outFiles)
16197
fypp_f90pp("${fyppFlags}" "${cppFiles}" outPreprocFiles)
16298

src/blas/CMakeLists.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
####
2+
3+
set(dir "${CMAKE_CURRENT_SOURCE_DIR}")
4+
5+
list(APPEND fppFiles
6+
blas/stdlib_blas_constants.fypp
7+
)
8+
9+
list(APPEND cppFiles
10+
blas/stdlib_blas.fypp
11+
blas/stdlib_blas_level1.fypp
12+
blas/stdlib_blas_level2_ban.fypp
13+
blas/stdlib_blas_level2_gen.fypp
14+
blas/stdlib_blas_level2_pac.fypp
15+
blas/stdlib_blas_level2_sym.fypp
16+
blas/stdlib_blas_level2_tri.fypp
17+
blas/stdlib_blas_level3_gen.fypp
18+
blas/stdlib_blas_level3_sym.fypp
19+
blas/stdlib_blas_level3_tri.fypp
20+
blas/stdlib_linalg_blas_aux.fypp
21+
)
22+
23+
set(fppFiles "${fppFiles}" PARENT_SCOPE)
24+
set(cppFiles "${cppFiles}" PARENT_SCOPE)

src/lapack/CMakeLists.txt

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
list(APPEND cppFiles
2+
lapack/stdlib_lapack_base.fypp
3+
lapack/stdlib_lapack_solve.fypp
4+
lapack/stdlib_lapack_others.fypp
5+
lapack/stdlib_lapack_orthogonal_factors.fypp
6+
lapack/stdlib_lapack_eig_svd_lsq.fypp
7+
lapack/stdlib_linalg_lapack_aux.fypp
8+
9+
lapack/stdlib_lapack_auxiliary.fypp
10+
lapack/stdlib_lapack_blas_like_base.fypp
11+
lapack/stdlib_lapack_blas_like_l1.fypp
12+
lapack/stdlib_lapack_blas_like_l2.fypp
13+
lapack/stdlib_lapack_blas_like_l3.fypp
14+
lapack/stdlib_lapack_blas_like_mnorm.fypp
15+
lapack/stdlib_lapack_blas_like_scalar.fypp
16+
lapack/stdlib_lapack_cosine_sine.fypp
17+
lapack/stdlib_lapack_cosine_sine2.fypp
18+
lapack/stdlib_lapack_eigv_comp.fypp
19+
lapack/stdlib_lapack_eigv_comp2.fypp
20+
lapack/stdlib_lapack_eigv_gen.fypp
21+
lapack/stdlib_lapack_eigv_gen2.fypp
22+
lapack/stdlib_lapack_eigv_gen3.fypp
23+
lapack/stdlib_lapack_eigv_std_driver.fypp
24+
lapack/stdlib_lapack_eigv_svd_bidiag_dc.fypp
25+
lapack/stdlib_lapack_eigv_svd_drivers.fypp
26+
lapack/stdlib_lapack_eigv_svd_drivers2.fypp
27+
lapack/stdlib_lapack_eigv_svd_drivers3.fypp
28+
lapack/stdlib_lapack_eigv_sym_comp.fypp
29+
lapack/stdlib_lapack_eigv_sym.fypp
30+
lapack/stdlib_lapack_eigv_tridiag.fypp
31+
lapack/stdlib_lapack_eigv_tridiag2.fypp
32+
lapack/stdlib_lapack_eigv_tridiag3.fypp
33+
lapack/stdlib_lapack_givens_jacobi_rot.fypp
34+
lapack/stdlib_lapack_householder_reflectors.fypp
35+
lapack/stdlib_lapack_lsq.fypp
36+
lapack/stdlib_lapack_lsq_aux.fypp
37+
lapack/stdlib_lapack_lsq_constrained.fypp
38+
lapack/stdlib_lapack_orthogonal_factors_ql.fypp
39+
lapack/stdlib_lapack_orthogonal_factors_qr.fypp
40+
lapack/stdlib_lapack_orthogonal_factors_rz.fypp
41+
lapack/stdlib_lapack_others_sm.fypp
42+
lapack/stdlib_lapack_solve_aux.fypp
43+
lapack/stdlib_lapack_solve_chol_comp.fypp
44+
lapack/stdlib_lapack_solve_chol.fypp
45+
lapack/stdlib_lapack_solve_ldl_comp.fypp
46+
lapack/stdlib_lapack_solve_ldl_comp2.fypp
47+
lapack/stdlib_lapack_solve_ldl_comp3.fypp
48+
lapack/stdlib_lapack_solve_ldl_comp4.fypp
49+
lapack/stdlib_lapack_solve_ldl.fypp
50+
lapack/stdlib_lapack_solve_lu_comp.fypp
51+
lapack/stdlib_lapack_solve_lu.fypp
52+
lapack/stdlib_lapack_solve_tri_comp.fypp
53+
lapack/stdlib_lapack_svd_bidiag_qr.fypp
54+
lapack/stdlib_lapack_svd_comp.fypp
55+
lapack/stdlib_lapack_svd_comp2.fypp
56+
)
57+
58+
set(cppFiles "${cppFiles}" PARENT_SCOPE)

test/hash_functions/CMakeLists.txt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,22 @@ target_sources(
1414
waterhash.c
1515
generate_hash_arrays.cpp
1616
)
17+
1718
if(CMAKE_Fortran_COMPILER_ID MATCHES "^Intel")
19+
20+
# Set the C++ standard to prevent icpc breakage
21+
set(CMAKE_CXX_STANDARD 11)
22+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
23+
set(CMAKE_CXX_EXTENSIONS OFF)
24+
1825
set_target_properties(test_hash_functions PROPERTIES LINKER_LANGUAGE Fortran)
1926
endif()
27+
2028
if(CMAKE_Fortran_COMPILER_ID STREQUAL GNU AND CMAKE_Fortran_COMPILER_VERSION VERSION_LESS 10.0)
2129
target_compile_options(
2230
test_hash_functions
2331
PRIVATE
2432
$<$<COMPILE_LANGUAGE:Fortran>:-fno-range-check>
25-
)
33+
)
2634
endif()
35+

0 commit comments

Comments
 (0)