Commit a7938265 authored by juan rodriguez-carvajal's avatar juan rodriguez-carvajal
Browse files

Eliminating CFML_GlobalDeps_Windows_intel64.f90 that is the same as...

Eliminating CFML_GlobalDeps_Windows_intel64.f90 that is the same as CFML_GlobalDeps_Windows_intel.f90, the corresponding part in crysfml_common.cmake has been modified.
parent 75f21341
Pipeline #12442 passed with stages
in 13 minutes and 13 seconds
!!-------------------------------------------------------
!!---- Crystallographic Fortran Modules Library (CrysFML)
!!-------------------------------------------------------
!!---- The CrysFML project is distributed under LGPL. In agreement with the
!!---- Intergovernmental Convention of the ILL, this software cannot be used
!!---- in military applications.
!!----
!!---- Copyright (C) 1999-2012 Institut Laue-Langevin (ILL), Grenoble, FRANCE
!!---- Universidad de La Laguna (ULL), Tenerife, SPAIN
!!---- Laboratoire Leon Brillouin(LLB), Saclay, FRANCE
!!----
!!---- Authors: Juan Rodriguez-Carvajal (ILL)
!!---- Javier Gonzalez-Platas (ULL)
!!---- Nebil Ayape Katcho (ILL)
!!----
!!---- Contributors: Laurent Chapon (ILL)
!!---- Marc Janoschek (Los Alamos National Laboratory, USA)
!!---- Oksana Zaharko (Paul Scherrer Institute, Switzerland)
!!---- Tierry Roisnel (CDIFX,Rennes France)
!!---- Eric Pellegrini (ILL)
!!----
!!---- This library is free software; you can redistribute it and/or
!!---- modify it under the terms of the GNU Lesser General Public
!!---- License as published by the Free Software Foundation; either
!!---- version 3.0 of the License, or (at your option) any later version.
!!----
!!---- This library is distributed in the hope that it will be useful,
!!---- but WITHOUT ANY WARRANTY; without even the implied warranty of
!!---- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
!!---- Lesser General Public License for more details.
!!----
!!---- You should have received a copy of the GNU Lesser General Public
!!---- License along with this library; if not, see <http://www.gnu.org/licenses/>.
!!----
!!----
!!---- MODULE: CFML_GlobalDeps (Windows version)
!!---- INFO: Precision for CrysFML library and Operating System information
!!---- All the global variables defined in this module are implicitly public.
!!----
!!---- HISTORY
!!--.. Update: January - 2009
!!--..
!!---- VARIABLES
!!--..
!!--.. Operating system
!!--..
!!---- OPS
!!---- OPS_NAME
!!---- OPS_SEP
!!--..
!!--.. Precision Data
!!--..
!!---- SP
!!---- DP
!!---- CP
!!--..
!!--.. Trigonometric
!!--..
!!---- PI
!!---- TO_DEG
!!---- TO_RAD
!!---- TPI
!!--..
!!--.. Numeric
!!--..
!!---- DEPS
!!---- EPS
!!--..
!!---- FUNCTIONS
!!--..
!!---- DIRECTORY_EXISTS
!!----
!!
Module CFML_GlobalDeps
!---- Variables ----!
implicit None
public
!------------------------------------!
!---- Operating System variables ----!
!------------------------------------!
!!----
!!---- OPS
!!---- Integer variable 1: Windows, 2: Linux, 3: MacOs, ....
!!---- This is a variable set by the user of the library for the case
!!---- that there is no external library with a procedure for getting
!!---- the operating system.
!!----
!!---- Update: March 2009
!!
integer, parameter :: OPS= 1 ! Windows
!!----
!!---- OPS_NAME
!!---- Character variable containing the name of the operating system
!!---- This is a variable set by the user of the library for the case
!!---- that there is no external library with a procedure for getting
!!---- the operating system.
!!----
!!---- Update: March 2009
!!
character(len=*), parameter :: OPS_NAME="Windows"
!!----
!!---- OPS_SEP
!!---- ASCII code of directory separator character
!!---- Here it is written explicitly as a character variable
!!----
!!---- Update: March 2009
!!
character(len=*), parameter :: OPS_SEP="\"
!------------------------------!
!---- Precision Parameters ----!
!------------------------------!
!!----
!!---- SP
!!---- SP: Single precision ( sp = selected_real_kind(6,30) )
!!----
!!---- Update: January - 2009
!!
integer, parameter :: sp = selected_real_kind(6,30)
!!----
!!---- DP
!!---- DP: Double precision ( dp = selected_real_kind(14,150) )
!!----
!!---- Update: January - 2009
!!
integer, parameter :: dp = selected_real_kind(14,150)
!!----
!!---- CP
!!---- CP: Current precision
!!----
!!---- Update: January - 2009
!!
integer, parameter :: cp = sp
integer, parameter :: IL = selected_int_kind(16) ! Long Integer
!----------------------------------!
!---- Trigonometric Parameters ----!
!----------------------------------!
!!----
!!---- PI
!!---- real(kind=dp), parameter :: pi = 3.141592653589793238463_dp
!!----
!!---- Pi value
!!----
!!---- Update: January - 2009
!!
real(kind=dp), parameter :: pi = 3.141592653589793238463_dp
!!----
!!---- TO_DEG
!!---- real(kind=dp), parameter :: to_DEG = 180.0_dp/pi
!!----
!!---- Conversion from Radians to Degrees
!!----
!!---- Update: January - 2009
!!
real(kind=dp), parameter :: to_DEG = 180.0_dp/pi
!!----
!!---- TO_RAD
!!---- real(kind=dp), parameter :: to_RAD = pi/180.0_dp
!!----
!!---- Conversion from Degrees to Radians
!!----
!!---- Update: January - 2009
!!
real(kind=dp), parameter :: to_RAD = pi/180.0_dp
!!----
!!---- TPI
!!---- real(kind=dp), parameter :: tpi = 6.283185307179586476925_dp
!!----
!!---- 2.0*Pi value
!!----
!!---- Update: January - 2009
!!
real(kind=dp), parameter :: tpi = 6.283185307179586476925_dp
!----------------------------!
!---- Numeric Parameters ----!
!----------------------------!
!!----
!!---- DEPS
!!---- real(kind=dp), parameter :: deps=0.00000001_dp
!!----
!!---- Epsilon value use for comparison of real numbers
!!----
!!---- Update: January - 2009
!!
real(kind=dp), parameter, public :: deps=0.00000001_dp
!!----
!!---- EPS
!!---- real(kind=cp), public :: eps=0.00001_cp
!!----
!!---- Epsilon value use for comparison of real numbers
!!----
!!---- Update: January - 2009
!!
real(kind=cp), parameter, public :: eps=0.00001_cp
Contains
!-------------------!
!---- Functions ----!
!-------------------!
!!----
!!---- Function Directory_Exists(Dirname) Result(info)
!!---- character(len=*), intent(in) :: Dirname
!!---- logical :: info
!!----
!!---- Generic function dependent of the compiler that return
!!---- a logical value if a directory exists or not.
!!----
!!---- Update: April - 2009
!!
Function Directory_Exists(Dirname) Result(info)
!---- Argument ----!
character(len=*), intent(in) :: Dirname
logical :: info
!---- Local Variables ----!
character(len=512) :: linea
integer :: nlong
! Init value
info=.false.
linea=trim(dirname)
nlong=len_trim(linea)
if (nlong ==0) return
if (linea(nlong:nlong) /= ops_sep) linea=trim(linea)//ops_sep
! All compilers except Intel
!inquire(file=trim(linea)//'.' , exist=info)
! Intel
inquire(directory=trim(linea), exist=info)
return
End Function Directory_Exists
!---------------------!
!---- Subroutines ----!
!---------------------!
!!----
!!---- Subroutine Write_Date_Time(lun)
!!---- integer, intent(in) :: lun
!!----
!!---- Generic subroutine for writing the date and time
!!---- in form Date: Day/Month/Year Time: hour:minute:second
!!---- to a file with logical unit = lun.
!!----
!!---- Update: January - 2014
!!
Subroutine Write_Date_Time(lun,dtim)
integer, optional,intent(in) :: lun
character(len=*),optional,intent(out):: dtim
!--- Local variables ----!
character (len=10) :: dat
character (len=10) :: tim
call date_and_time(date=dat,time=tim)
if(present(lun)) &
write(unit=lun,fmt="(/,4a)") &
" => Date: ",dat(7:8)//"/"//dat(5:6)//"/"//dat(1:4), &
" Time: ",tim(1:2)//":"//tim(3:4)//":"//tim(5:10)
if(present(dtim)) &
dtim="# Date: "//dat(7:8)//"/"//dat(5:6)//"/"//dat(1:4)// &
" Time: "//tim(1:2)//":"//tim(3:4)//":"//tim(5:10)
return
End Subroutine Write_Date_Time
End Module CFML_GlobalDeps
......@@ -84,7 +84,7 @@
!---- List of public subroutines ----!
public :: Close_scroll_window, error_message, info_message, question_message, warning_message, &
stop_message, write_scroll_text
stop_message, write_scroll_text, Wait_Message, Print_Message
!---- Definitions ----!
......@@ -305,4 +305,48 @@
return
End Subroutine Write_Scroll_Text
!!----
!!---- Subroutine Print_Message(Mess)
!!---- character(len=*), intent(in) :: Mess ! In -> Print information
!!----
!!---- Print an message on the standard output. This subroutine is here for
!!---- compatibility with the console version of this module. It should not be
!!--- used in pure Winteracter programs.
!!
Subroutine Print_Message(Mess)
!---- Arguments ----!
character(len=*),intent(in) :: Mess
!---- Local Variables ----!
integer :: lon
lon=len_trim(mess)
if (lon == 0) then
write(unit=*,fmt="(a)") " "
else
if (mess(1:1) == "=" .or. mess(2:2) == "=") then
write(unit=*,fmt="(a)") mess(1:lon)
else
write(unit=*,fmt="(a,a)")" =>", mess(1:lon)
end if
end if
End Subroutine Print_Message
!!----
!!---- Subroutine Wait_Message(Mess)
!!---- character(len=*), optional, intent(in) :: Mess
!!----
!!---- Similar to Pause for Console version .This subroutine is here for
!!---- compatibility with the console version of this module. It should not be
!!--- used in pure Winteracter programs.
!!----
!!
Subroutine Wait_Message(Mess)
!---- Argument ----!
character(len=*), optional, intent(in) :: Mess
write(unit=*,fmt="(a)") " "
if (present(mess)) write(unit=*,fmt="(a)", advance="no") mess
End Subroutine Wait_Message
End Module CFML_IO_Messages
......@@ -7,11 +7,7 @@
if(WIN32 OR MSYS)
# Intel Fortran compiler
if(${COMPILER_NAME} STREQUAL ifort)
if(ARCH32)
set(GLOBAL_DEPS CFML_GlobalDeps_Windows_Intel.f90)
else()
set(GLOBAL_DEPS CFML_GlobalDeps_Windows_Intel64.f90)
endif()
set(GLOBAL_DEPS CFML_GlobalDeps_Windows_Intel.f90)
set(STRING_UTILS CFML_String_Utilities.f90)
else()
set(GLOBAL_DEPS CFML_GlobalDeps_Windows.f90)
......
......@@ -13,7 +13,6 @@ if [%_CHANGE%]==[to_xxx] (
ren CFML_GlobalDeps_MacOS_Intel.f90 CFML_GlobalDeps_MacOS_Intel.xxx
ren CFML_GlobalDeps_Windows.f90 CFML_GlobalDeps_Windows.xxx
ren CFML_GlobalDeps_Windows_Intel.f90 CFML_GlobalDeps_Windows_Intel.xxx
ren CFML_GlobalDeps_Windows_Intel64.f90 CFML_GlobalDeps_Windows_Intel64.xxx
ren CFML_HDF5.f90 CFML_HDF5.xxx
ren CFML_ILL_Instrm_Data_LF.f90 CFML_ILL_Instrm_Data_LF.xxx
ren CFML_IO_MessagesRW.f90 CFML_IO_MessagesRW.xxx
......@@ -37,7 +36,6 @@ if [%_CHANGE%]==[to_f90] (
ren CFML_GlobalDeps_MacOS_Intel.xxx CFML_GlobalDeps_MacOS_Intel.f90
ren CFML_GlobalDeps_Windows.xxx CFML_GlobalDeps_Windows.f90
ren CFML_GlobalDeps_Windows_Intel.xxx CFML_GlobalDeps_Windows_Intel.f90
ren CFML_GlobalDeps_Windows_Intel64.xxx CFML_GlobalDeps_Windows_Intel64.f90
ren CFML_HDF5.xxx CFML_HDF5.f90
ren CFML_ILL_Instrm_Data_LF.xxx CFML_ILL_Instrm_Data_LF.f90
ren CFML_IO_MessagesRW.xxx CFML_IO_MessagesRW.f90
......
......@@ -9,21 +9,21 @@ author = "Juan Rodriguez-Carvajal, Javier Gonzalez-Platas, Nebil A. Katcho"
maintainer = "jrc@ill.eu"
copyright = "Copyright 2022, Juan Rodriguez-Carvajal, Javier Gonzalez-Platas, Nebil A. Katcho"
[library]
source-dir = "Src"
include-dir = "../../wint/lib.i64"
[build]
auto-executables = false
auto-tests = false
auto-examples = false
#link=["../../wint/lib.i64/winter.lib","user32.lib", "gdi32.lib", "comdlg32.lib", "winspool.lib", "winmm.lib", "shell32.lib", "advapi32.lib", "htmlhelp.lib"]
external-modules = "winteracter"
link=["winter","user32", "gdi32", "comdlg32", "winspool", "winmm", "shell32", "advapi32", "htmlhelp"]
[install]
library = true
[library]
source-dir = "Src"
include-dir = "Src"
#[dependencies]
#my-utils = { path = "../../wint/lib.i64" } does not work! Looks for a fpm.toml file!
#
# The lines above are enough for building the library using the scripts make_CrysFML_fpm.bat/make_CrysFML_fpm.sh
......@@ -34,6 +34,14 @@ include-dir = "Src"
#
# Some executables from Program_Examples
#
#[[executable]]
#executable = [
# { name = "cryscalcon", source-dir = "Program_Examples/Cryst_calculator_console", main = "cryscalc_con.f90"},
# { name = "hkl_gen", source-dir = "Program_Examples/hkl_gen", main = "hkl_gen.f90"},
# { name = "Formal_Charges", source-dir = "Program_Examples/BondStr/FormalCharges", main = "Formal_Charges.f90"},
# { name = "Bond_Str", source-dir = "Program_Examples/BondStr/Src", main = "Bond_Str.f90"}
#]
[[executable]]
name="cryscalcon"
source-dir="Program_Examples/Cryst_calculator_console"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment