siesta: update to 5.0.1

This commit is contained in:
مهدي شينون (Mehdi Chinoune)
2024-10-26 06:55:19 +01:00
parent 026dd99372
commit 55682fdc4e
2 changed files with 33 additions and 160 deletions

View File

@@ -38,112 +38,40 @@
pexsi-solver/m_pexsi.F90
pexsi-solver/m_pexsi_dos.F90
pexsi-solver/m_pexsi_driver.F90
@@ -610,6 +610,8 @@
@@ -607,6 +607,8 @@
$<$<BOOL:${SIESTA_WITH_OPENMP}>:OpenMP::OpenMP_Fortran>
# Profiling
$<$<BOOL:${SIESTA_WITH_PROFILE_NVTX}>:nvtx-c>
$<$<BOOL:${SIESTA_WITH_PROFILE_NVTX}>:${PROJECT_NAME}.nvtx-c>
+ # Windows
+ $<$<BOOL:${WIN32}>:ws2_32>
)
#get_target_property(out SIESTA_libsiesta INTERFACE_LINK_LIBRARIES)
@@ -750,7 +752,9 @@
## For stuff that depends on libsiesta, add its include directory
@@ -741,7 +743,9 @@
if( SIESTA_INSTALL )
install(
TARGETS SIESTA_libsiesta
TARGETS ${PROJECT_NAME}.libsiesta
- RUNTIME DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
)
install(
TARGETS SIESTA_siesta_exe
--- a/Src/MatrixSwitch/src/CMakeLists.txt
+++ b/Src/MatrixSwitch/src/CMakeLists.txt
@@ -1,7 +1,7 @@
# Built-in MatrixSwitch
#
add_library(${PROJECT_NAME}-libms
-
+ STATIC
MatrixSwitch.F90
MatrixSwitch_m_add.F90
MatrixSwitch_m_copy.F90
TARGETS ${PROJECT_NAME}.siesta
--- a/Src/MPI/CMakeLists.txt
+++ b/Src/MPI/CMakeLists.txt
@@ -65,4 +65,11 @@
COMMENT "Creating MPI interfaces and modules"
@@ -77,3 +77,11 @@
POP
VARIABLES EXECUTABLE
)
-
+if( SIESTA_INSTALL )
+ install(
+ TARGETS mpi_siesta
+ TARGETS ${PROJECT_NAME}.mpi
+ RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
+ LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
+ )
+endif()
--- a/Src/easy-fdict/CMakeLists.txt
+++ b/Src/easy-fdict/CMakeLists.txt
@@ -3,7 +3,7 @@
add_library(
${PROJECT_NAME}-libfdict
-
+ STATIC
variable.F90
dictionary.f90
)
--- a/Src/easy-ncdf/CMakeLists.txt
+++ b/Src/easy-ncdf/CMakeLists.txt
@@ -3,7 +3,7 @@
#
add_library(
${PROJECT_NAME}-libncdf
-
+ STATIC
netcdf_ncdf.F90
)
--- a/Src/libsys/CMakeLists.txt
+++ b/Src/libsys/CMakeLists.txt
@@ -2,6 +2,7 @@
#
add_library(
${PROJECT_NAME}-libsys
+ STATIC
sys.F90
external_entries.F90
)
--- a/Src/libxc-compat/CMakeLists.txt
+++ b/Src/libxc-compat/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_library(${PROJECT_NAME}-libxc-trans
+add_library(${PROJECT_NAME}-libxc-trans STATIC
m_libxc_compat.f90
m_libxc_list.F90
m_libxc_sxc_translation.F90
--- a/Src/ncps/src/CMakeLists.txt
+++ b/Src/ncps/src/CMakeLists.txt
@@ -1,6 +1,6 @@
add_library(
${PROJECT_NAME}-libncps
-
+ STATIC
interpolation.f90
m_ncps.f90
m_ncps_froyen_ps_t.f90
--- a/Src/psoplib/src/CMakeLists.txt
+++ b/Src/psoplib/src/CMakeLists.txt
@@ -1,6 +1,6 @@
add_library(
${PROJECT_NAME}-libpsop
-
+ STATIC
arw.f
m_kbgen.F
m_localgen.f
--- a/Src/sockets.c
+++ b/Src/sockets.c
@@ -39,10 +39,16 @@
@@ -165,113 +93,58 @@
/* Opens a socket.
--- a/Util/Grid/CMakeLists.txt
+++ b/Util/Grid/CMakeLists.txt
@@ -8,8 +8,8 @@
# To avoid "multiple rules" in Ninja
# Maybe turn into global-utility targets
-add_library(aux_opts ${top_src_dir}/m_getopts.f90)
-add_library(aux_gridfunc m_gridfunc.F90)
+add_library(aux_opts STATIC ${top_src_dir}/m_getopts.f90)
+add_library(aux_gridfunc STATIC m_gridfunc.F90)
#-----------------------------------------
add_executable(g2c_ng
@@ -81,7 +81,7 @@
@@ -98,7 +98,7 @@
# To avoid "multiple rules" in Ninja
# (could add OBJECT qualifier to avoid the lib appearing)
-add_library(aux_m_grid m_grid.F90)
+add_library(aux_m_grid STATIC m_grid.F90)
target_compile_definitions(aux_m_grid PRIVATE CDF )
target_link_libraries(aux_m_grid PUBLIC NetCDF::NetCDF_Fortran )
-siesta_add_library(${PROJECT_NAME}.aux_m_grid m_grid.F90)
+siesta_add_library(${PROJECT_NAME}.aux_m_grid STATIC m_grid.F90)
target_compile_definitions(${PROJECT_NAME}.aux_m_grid PRIVATE CDF )
target_link_libraries(${PROJECT_NAME}.aux_m_grid PUBLIC NetCDF::NetCDF_Fortran )
@@ -100,7 +100,7 @@
#-----------------------------------------
# To avoid "multiple rules" in Ninja
-add_library(aux_fft ${top_src_dir}/m_fft_gpfa.F)
+add_library(aux_fft STATIC ${top_src_dir}/m_fft_gpfa.F)
target_link_libraries(aux_fft PRIVATE ${PROJECT_NAME}-libsys)
add_executable(cdf_laplacian
--- a/Util/JobList/Src/CMakeLists.txt
+++ b/Util/JobList/Src/CMakeLists.txt
@@ -1,7 +1,7 @@
# To avoid "multiple rules" in Ninja
# Maybe turn into global-utility targets
-add_library(aux_joblist jobList.f90 posix_calls.f90)
+add_library(aux_joblist STATIC jobList.f90 posix_calls.f90)
-siesta_add_library(${PROJECT_NAME}.aux_joblist
+siesta_add_library(${PROJECT_NAME}.aux_joblist STATIC
jobList.f90 posix_calls.f90)
add_executable(countJobs countJobs.f90 )
add_executable(runJobs runJobs.f90 )
--- a/Util/Optimizer/CMakeLists.txt
+++ b/Util/Optimizer/CMakeLists.txt
@@ -1,4 +1,5 @@
add_library(aux_optim
+ STATIC
io.f
parse.f
minimizer.f90
siesta_add_executable(${PROJECT_NAME}.countJobs countJobs.f90 )
--- a/Util/STM/simple-stm/CMakeLists.txt
+++ b/Util/STM/simple-stm/CMakeLists.txt
@@ -4,7 +4,7 @@
# To avoid "multiple rules" in Ninja
# Maybe turn into global-utility targets
-add_library(stm_gridfunc ${grid_srcdir}/m_gridfunc.F90)
+add_library(stm_gridfunc STATIC ${grid_srcdir}/m_gridfunc.F90)
-siesta_add_library(${PROJECT_NAME}.stm_gridfunc ${grid_srcdir}/m_gridfunc.F90)
+siesta_add_library(${PROJECT_NAME}.stm_gridfunc STATIC ${grid_srcdir}/m_gridfunc.F90)
add_executable( plstm
siesta_add_executable( ${PROJECT_NAME}.plstm
plstm.f90
--- a/Util/SiestaSubroutine/SimpleTest/Src/CMakeLists.txt
+++ b/Util/SiestaSubroutine/SimpleTest/Src/CMakeLists.txt
@@ -10,7 +10,7 @@
# to satisfy Ninja. This is also good practice in general
#
# -- Sockets
-siesta_add_library(sockets-siesta-dispatch
+siesta_add_library(sockets-siesta-dispatch STATIC
${top_srcdir}/fsiesta_sockets.F90
${top_srcdir}/fsockets.f90
${top_srcdir}/sockets.c
@@ -19,6 +19,9 @@
set_target_properties(sockets-siesta-dispatch
@@ -21,6 +21,9 @@
set_target_properties(${PROJECT_NAME}.sockets-dispatch
PROPERTIES
Fortran_MODULE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/sockets-include")
+if(WIN32)
+ target_link_libraries(sockets-siesta-dispatch PUBLIC ws2_32)
+ target_link_libraries(${PROJECT_NAME}.sockets-dispatch PUBLIC ws2_32)
+endif()
target_include_directories(sockets-siesta-dispatch
target_include_directories(${PROJECT_NAME}.sockets-dispatch
INTERFACE
@@ -25,7 +28,7 @@
"${CMAKE_CURRENT_BINARY_DIR}/sockets-include")
# -- Pipes
-siesta_add_library(pipes-siesta-dispatch
+siesta_add_library(pipes-siesta-dispatch STATIC
${top_srcdir}/fsiesta_pipes.F90
${top_srcdir}/pxf.F90
${top_srcdir}/posix_calls.f90
@@ -40,7 +43,7 @@
if (SIESTA_WITH_MPI)
# -- MPI dispatch -- uses 'libsiesta'
-siesta_add_library(mpi-siesta-dispatch
+siesta_add_library(mpi-siesta-dispatch STATIC
${top_srcdir}/fsiesta_mpi.F90
)
target_link_libraries(mpi-siesta-dispatch PUBLIC SIESTA_libsiesta)
--- a/Util/Sockets/CMakeLists.txt
+++ b/Util/Sockets/CMakeLists.txt
@@ -11,6 +11,10 @@
target_link_libraries(f2fmaster sockets_objs )
target_link_libraries(f2fslave sockets_objs )
target_link_libraries(${PROJECT_NAME}.f2fmaster PRIVATE ${PROJECT_NAME}.sockets_objs )
target_link_libraries(${PROJECT_NAME}.f2fslave PRIVATE ${PROJECT_NAME}.sockets_objs )
+if(WIN32)
+ target_link_libraries(f2fmaster ws2_32)
+ target_link_libraries(f2fslave ws2_32)
+ target_link_libraries(${PROJECT_NAME}.f2fmaster PUBLIC ws2_32)
+ target_link_libraries(${PROJECT_NAME}.f2fslave PUBLIC ws2_32)
+endif()
if( SIESTA_INSTALL )

View File

@@ -3,7 +3,7 @@
_realname=siesta
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=5.0.0
pkgver=5.0.1
pkgrel=1
pkgdesc="A first-principles materials simulation code using DFT. (mingw-w64)"
arch=('any')
@@ -38,9 +38,9 @@ _w90_ver=3.1.0
source=("https://gitlab.com/siesta-project/siesta/-/releases/${pkgver}/downloads/${_realname}-${pkgver}.tar.gz"
"https://github.com/wannier-developers/wannier90/archive/v${_w90_ver}/wannier90-${_w90_ver}.tar.gz"
"001-fix-build-on-mingw.patch")
sha256sums=('b7c18e0bbfb4c8707c483fc516953c10ea5489de43a744957a9b0e10fb4ae5af'
sha256sums=('1933cde879d921577a5e854c459531951d0afc9fd193f086a04457e9022ba9a0'
'40651a9832eb93dec20a8360dd535262c261c34e13c41b6755fa6915c936b254'
'7fa2cf211e958d658ebe832c4baec59bc664b859b135d95a46aa0125503c7228')
'95ea74aa1083bad50480bc2abf1777aa463df1c8393845e1fe83402240f91efd')
noextract=("wannier90-${_w90_ver}.tar.gz")
prepare() {