Skip to content

Commit cb204ae

Browse files
Merge pull request #322 from easifem/dev-breaking-changes
Merging changes for next release
2 parents ca818a2 + 56c9521 commit cb204ae

File tree

320 files changed

+42608
-31826
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

320 files changed

+42608
-31826
lines changed

CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ project(${PROJECT_NAME})
2424
enable_language(C Fortran CXX)
2525

2626
set(VERSION_MAJOR "24")
27-
set(VERSION_MINOR "4")
28-
set(VERSION_BugFix "5")
27+
set(VERSION_MINOR "10")
28+
set(VERSION_BugFix "3")
2929

3030
set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BugFix})
3131

@@ -314,6 +314,8 @@ include(${PROJECT_SOURCE_DIR}/cmake/addPLPLOT.cmake)
314314
include(${PROJECT_SOURCE_DIR}/cmake/addFFTW.cmake)
315315
include(${PROJECT_SOURCE_DIR}/cmake/addGTKFortran.cmake)
316316
include(${PROJECT_SOURCE_DIR}/cmake/addLua.cmake)
317+
include(${PROJECT_SOURCE_DIR}/cmake/addGmsh.cmake)
318+
include(${PROJECT_SOURCE_DIR}/cmake/addHDF5.cmake)
317319

318320
# Add source files
319321
include(src/modules/CMakeLists.txt)

cmake/Config.cmake.in

Lines changed: 56 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,70 @@
11
@PACKAGE_INIT@
22

3-
LIST(
4-
APPEND
5-
ExternalLibs
6-
Sparsekit
7-
toml-f
8-
)
3+
list(APPEND ExternalLibs Sparsekit toml-f)
94

10-
IF( @USE_LAPACK95@ )
11-
LIST(APPEND
12-
ExternalLibs
13-
LAPACK95
14-
)
15-
ENDIF()
5+
if(@USE_LAPACK95@)
6+
list(APPEND ExternalLibs LAPACK95)
7+
endif()
168

17-
IF( @USE_ARPACK@ )
18-
LIST(APPEND
19-
ExternalLibs
20-
arpackng
21-
)
22-
ENDIF()
9+
if(@USE_ARPACK@)
10+
list(APPEND ExternalLibs arpackng)
11+
endif()
2312

24-
IF( @USE_RAYLIB@ )
25-
LIST(APPEND
26-
ExternalLibs
27-
raylib
28-
)
29-
ENDIF()
13+
if(@USE_RAYLIB@)
14+
list(APPEND ExternalLibs raylib)
15+
endif()
3016

31-
FOREACH(LIB ${ExternalLibs})
32-
FIND_PACKAGE(${LIB} REQUIRED)
33-
ENDFOREACH()
17+
foreach(LIB ${ExternalLibs})
18+
find_package(${LIB} REQUIRED)
19+
endforeach()
3420

35-
IF( @USE_OPENMP@ )
36-
IF(APPLE)
37-
IF(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID MATCHES "AppleClang")
38-
SET(OpenMP_C "${CMAKE_C_COMPILER}" CACHE STRING "" FORCE)
39-
SET(OpenMP_C_FLAGS
40-
"-fopenmp=libomp -Wno-unused-command-line-argument"
41-
CACHE STRING
42-
""
43-
FORCE
44-
)
45-
SET(OpenMP_C_LIB_NAMES "libomp" "libgomp" "libiomp5" CACHE STRING "" FORCE)
46-
SET(OpenMP_libomp_LIBRARY ${OpenMP_C_LIB_NAMES} CACHE STRING "" FORCE)
47-
SET(OpenMP_libgomp_LIBRARY ${OpenMP_C_LIB_NAMES} CACHE STRING "" FORCE)
48-
SET(OpenMP_libiomp5_LIBRARY ${OpenMP_C_LIB_NAMES} CACHE STRING "" FORCE)
21+
if(@USE_GMSH_SDK@)
22+
find_library(GMSH_LIBRARIES NAMES gmsh gmsh.4.13.0 gmsh.4.13 REQUIRED)
23+
endif()
4924

50-
SET(OpenMP_CXX "${CMAKE_CXX_COMPILER}" CACHE STRING "" FORCE)
51-
SET(
52-
OpenMP_CXX_FLAGS
53-
"-fopenmp=libomp -Wno-unused-command-line-argument"
54-
CACHE STRING
55-
""
56-
FORCE
57-
)
25+
find_package(HDF5 REQUIRED COMPONENTS Fortran HL)
5826

59-
SET(OpenMP_CXX_LIB_NAMES "libomp" "libgomp" "libiomp5" CACHE STRING "" FORCE)
60-
ENDIF()
61-
ENDIF()
27+
if(@USE_OPENMP@)
28+
if(APPLE)
29+
if(CMAKE_C_COMPILER_ID MATCHES "Clang" OR CMAKE_C_COMPILER_ID MATCHES
30+
"AppleClang")
31+
set(OpenMP_C
32+
"${CMAKE_C_COMPILER}"
33+
CACHE STRING "" FORCE)
34+
set(OpenMP_C_FLAGS
35+
"-fopenmp=libomp -Wno-unused-command-line-argument"
36+
CACHE STRING "" FORCE)
37+
set(OpenMP_C_LIB_NAMES
38+
"libomp" "libgomp" "libiomp5"
39+
CACHE STRING "" FORCE)
40+
set(OpenMP_libomp_LIBRARY
41+
${OpenMP_C_LIB_NAMES}
42+
CACHE STRING "" FORCE)
43+
set(OpenMP_libgomp_LIBRARY
44+
${OpenMP_C_LIB_NAMES}
45+
CACHE STRING "" FORCE)
46+
set(OpenMP_libiomp5_LIBRARY
47+
${OpenMP_C_LIB_NAMES}
48+
CACHE STRING "" FORCE)
6249

63-
FIND_PACKAGE(OpenMP REQUIRED)
64-
ENDIF()
50+
set(OpenMP_CXX
51+
"${CMAKE_CXX_COMPILER}"
52+
CACHE STRING "" FORCE)
53+
set(OpenMP_CXX_FLAGS
54+
"-fopenmp=libomp -Wno-unused-command-line-argument"
55+
CACHE STRING "" FORCE)
6556

57+
set(OpenMP_CXX_LIB_NAMES
58+
"libomp" "libgomp" "libiomp5"
59+
CACHE STRING "" FORCE)
60+
endif()
61+
endif()
6662

67-
set_and_check(
68-
"@PROJECT_NAME@_INCLUDE_DIR" "@PACKAGE_INSTALL_INCLUDEDIR@")
63+
find_package(OpenMP REQUIRED)
64+
endif()
6965

70-
include(
71-
"${CMAKE_CURRENT_LIST_DIR}/@[email protected]")
66+
set_and_check("@PROJECT_NAME@_INCLUDE_DIR" "@PACKAGE_INSTALL_INCLUDEDIR@")
7267

73-
check_required_components(
74-
"@PROJECT_NAME@"
75-
)
68+
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]")
69+
70+
check_required_components("@PROJECT_NAME@")

cmake/addGmsh.cmake

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# This program is a part of EASIFEM library Copyright (C) 2020-2021 Vikas
2+
# Sharma, Ph.D
3+
#
4+
# This program is free software: you can redistribute it and/or modify it under
5+
# the terms of the GNU General Public License as published by the Free Software
6+
# Foundation, either version 3 of the License, or (at your option) any later
7+
# version.
8+
#
9+
# This program is distributed in the hope that it will be useful, but WITHOUT
10+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12+
# details.
13+
#
14+
# You should have received a copy of the GNU General Public License along with
15+
# this program. If not, see <https: //www.gnu.org/licenses/>
16+
17+
option(USE_GMSH_SDK OFF)
18+
if(USE_GMSH_SDK)
19+
20+
message(STATUS "USING GMSH SDK")
21+
list(APPEND TARGET_COMPILE_DEF "-DUSE_GMSH_SDK")
22+
23+
find_library(GMSH_LIBRARIES NAMES gmsh gmsh.4.13.0 gmsh.4.13 REQUIRED)
24+
25+
target_link_libraries(${PROJECT_NAME} PUBLIC ${GMSH_LIBRARIES})
26+
message(STATUS "GMSH_LIBRARIES : ${GMSH_LIBRARIES}")
27+
28+
else()
29+
30+
message(STATUS "NOT USING GMSH SDK")
31+
32+
endif()

cmake/addHDF5.cmake

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# This program is a part of EASIFEM library Copyright (C) 2020-2021 Vikas
2+
# Sharma, Ph.D
3+
#
4+
# This program is free software: you can redistribute it and/or modify it under
5+
# the terms of the GNU General Public License as published by the Free Software
6+
# Foundation, either version 3 of the License, or (at your option) any later
7+
# version.
8+
#
9+
# This program is distributed in the hope that it will be useful, but WITHOUT
10+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11+
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12+
# details.
13+
#
14+
# You should have received a copy of the GNU General Public License along with
15+
# this program. If not, see <https: //www.gnu.org/licenses/>
16+
#
17+
18+
# SET(HDF5_NO_FIND_PACKAGE_CONFIG_FILE true CACHE BOOL "Set true to skip trying
19+
# to find hdf5-config.cmake" FORCE)
20+
find_package(HDF5 REQUIRED COMPONENTS Fortran HL)
21+
if(HDF5_VERSION VERSION_LESS 1.8.7)
22+
message(WARNING "HDF5 VERSION SHOULD BE >= 1.8.7")
23+
endif()
24+
if(HDF5_FOUND)
25+
message(STATUS "HDF5 FOUND: ")
26+
list(APPEND TARGET_COMPILE_DEF "-DUSE_HDF5")
27+
list(APPEND TARGET_COMPILE_DEF "${HDF5_Fortran_DEFINITIONS}")
28+
message(STATUS "HDF5 fortran lib :: ${HDF5_Fortran_LIBRARIES}")
29+
else()
30+
message(ERROR "HDF5 NOT FOUND")
31+
endif()
32+
target_link_libraries(${PROJECT_NAME} PUBLIC ${HDF5_Fortran_LIBRARIES})
33+
target_include_directories(${PROJECT_NAME} PUBLIC ${HDF5_Fortran_INCLUDE_DIRS})

cmake/addLIS.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
#
1515
# You should have received a copy of the GNU General Public License along with
1616
# this program. If not, see <https: //www.gnu.org/licenses/>
17-
#
1817

1918
option(USE_LIS OFF)
2019
if(USE_LIS)

cmake/addToml.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
find_package(toml-f REQUIRED)
2020

21-
if(Sparsekit_FOUND)
21+
if(toml-f_FOUND)
2222
message(STATUS "[INFO] :: FOUND toml-f")
2323
target_link_libraries(${PROJECT_NAME} PUBLIC toml-f::toml-f)
2424

src/modules/BLAS95/src/F95_BLAS.F90

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ MODULE F95_BLAS
4040
PUBLIC :: AXPY
4141
PUBLIC :: ASUM
4242
PUBLIC :: GEMV
43+
PUBLIC :: GEMM
4344

4445
#ifndef USE_NativeBLAS
4546
PUBLIC :: IAMIN
@@ -204,6 +205,24 @@ MODULE F95_BLAS
204205
END INTERFACE GEMV
205206
#endif
206207

208+
!----------------------------------------------------------------------------
209+
!
210+
!----------------------------------------------------------------------------
211+
212+
INTERFACE GEMM
213+
MODULE PROCEDURE SGEMM_F95, DGEMM_F95, CGEMM_F95, ZGEMM_F95
214+
END INTERFACE GEMM
215+
216+
! #ifdef USE_INTEL_MKL
217+
! INTERFACE GEMV
218+
! MODULE PROCEDURE SCGEMV_F95, DZGEMV_F95
219+
! END INTERFACE GEMV
220+
! #endif
221+
222+
!----------------------------------------------------------------------------
223+
!
224+
!----------------------------------------------------------------------------
225+
207226
CONTAINS
208227

209228
#ifndef USE_APPLE_NativeBLAS

0 commit comments

Comments
 (0)