Skip to content

Commit b7e2d0d

Browse files
author
Javier Velo
committed
Merge branch '551-c-build-failure' into 'development'
make compatible with older CMake Closes #551 See merge request damask/DAMASK!1133
2 parents f1085a9 + 6320f6f commit b7e2d0d

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

CMakeLists.txt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ if(NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL ${CMAKE_Fortran_COMPILER_ID})
4949
message(FATAL_ERROR "C++ compiler (${CMAKE_CXX_COMPILER_ID}) does not match Fortran compiler (${CMAKE_Fortran_COMPILER_ID})")
5050
endif()
5151

52-
add_compile_definitions("-D${DAMASK_SOLVER_UPPER}")
52+
add_compile_definitions("${DAMASK_SOLVER_UPPER}")
5353

5454
set(CMAKE_Fortran_PREPROCESS "ON")
5555

@@ -66,20 +66,20 @@ endif()
6666

6767
message("\nBuilding ${CMAKE_PROJECT_NAME} ${DAMASK_VERSION_STRING}\n")
6868

69-
add_compile_definitions(-DPETSC)
70-
add_compile_definitions(-DDAMASK_VERSION="${DAMASK_VERSION_STRING}")
71-
add_compile_definitions(-DDAMASK_VERSION_MAJOR="${PROJECT_VERSION_MAJOR}")
72-
add_compile_definitions(-DDAMASK_VERSION_MINOR="${PROJECT_VERSION_MINOR}")
73-
add_compile_definitions(-DDAMASK_VERSION_PATCH="${PROJECT_VERSION_PATCH}")
69+
add_compile_definitions(PETSC)
70+
add_compile_definitions(DAMASK_VERSION="${DAMASK_VERSION_STRING}")
71+
add_compile_definitions(DAMASK_VERSION_MAJOR="${PROJECT_VERSION_MAJOR}")
72+
add_compile_definitions(DAMASK_VERSION_MINOR="${PROJECT_VERSION_MINOR}")
73+
add_compile_definitions(DAMASK_VERSION_PATCH="${PROJECT_VERSION_PATCH}")
7474
if(DEFINED PROJECT_VERSION_HASH)
75-
add_compile_definitions(-DDAMASK_VERSION_HASH="${PROJECT_VERSION_HASH}")
75+
add_compile_definitions(DAMASK_VERSION_HASH="${PROJECT_VERSION_HASH}")
7676
endif()
7777

78-
add_compile_definitions(-DCMAKE_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}")
79-
add_compile_definitions(-DCMAKE_SYSTEM_PROCESSOR="${CMAKE_SYSTEM_PROCESSOR}")
78+
add_compile_definitions(CMAKE_SYSTEM_NAME="${CMAKE_SYSTEM_NAME}")
79+
add_compile_definitions(CMAKE_SYSTEM_PROCESSOR="${CMAKE_SYSTEM_PROCESSOR}")
8080

8181
if(PETSC_VERSION VERSION_EQUAL 3.17.0)
82-
add_compile_definitions("-DCHKERRQ=PetscCall")
82+
add_compile_definitions("CHKERRQ=PetscCall")
8383
endif()
8484
if(PETSC_VERSION VERSION_LESS 3.23.0)
8585
add_compile_definitions(
@@ -195,7 +195,7 @@ if(fYAML_FOUND STREQUAL "1")
195195
foreach(fYAML_LIBRARY ${fYAML_LIBRARIES})
196196
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} -L${fYAML_LIBRARY_DIRS} -l${fYAML_LIBRARY}")
197197
endforeach()
198-
add_compile_definitions(-DFYAML)
198+
add_compile_definitions(FYAML)
199199
pkg_get_variable(fYAML_INCLUDE_DIR libfyaml includedir) # fYAML_INCLUDE_DIRS and fYAML_CFLAGS are not working
200200
set(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}} -I${fYAML_INCLUDE_DIR}")
201201
endif()

src/CLI.f90

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#define PETSC_MINOR_MAX 23
1010

1111
module CLI
12-
use, intrinsic :: ISO_fortran_env
12+
use, intrinsic :: ISO_Fortran_env
1313
use, intrinsic :: ISO_C_binding
1414

1515
use PETScSys
@@ -31,7 +31,7 @@ module CLI
3131
CLI_jobName, & !< name of the job (will be used for DADF5 result file)
3232
CLI_jobID !< unique job ID (UUID)
3333

34-
#ifdef BOOST
34+
#if (defined(BOOST) && !defined(OLD_STYLE_C_TO_FORTRAN_STRING))
3535
type :: tCLIBuffer
3636
character(len=:, kind=C_CHAR), pointer :: buf
3737
end type tCLIBuffer
@@ -46,7 +46,7 @@ module CLI
4646

4747
interface
4848
function C_CLI__new(argc, argv, worldrank) result(this) bind(C, name='CLI__new')
49-
use, intrinsic :: iso_c_binding, only: C_INT, C_PTR
49+
use, intrinsic :: ISO_C_binding, only: C_INT, C_PTR
5050
integer(C_INT), intent(in) :: argc
5151
type(C_PTR), intent(in) :: argv(*) ! MD I think this should be dimension(:), but wait for working ifx
5252
integer(C_INT), intent(in) :: worldrank
@@ -55,7 +55,7 @@ end function C_CLI__new
5555

5656
subroutine C_CLI_getParsedArgs(cli, geom, load, material, numerics, jobname, uuid, restart, stat) &
5757
bind(C, name='CLI_getParsedArgs')
58-
use iso_c_binding
58+
use ISO_C_binding
5959
type(C_PTR), value :: cli
6060
character(kind=C_CHAR,len=:), allocatable, intent(out) :: geom, load, material, numerics, jobname, uuid
6161
integer(C_INT), intent(out) :: restart, stat
@@ -106,15 +106,15 @@ subroutine CLI_init()
106106
#ifdef PETSC_DOI
107107
character(len=*), parameter :: PETSc_DOI = PETSC_DOI
108108
#endif
109-
#ifdef BOOST
109+
#if (defined(BOOST) && !defined(OLD_STYLE_C_TO_FORTRAN_STRING))
110110
type(C_PTR) :: CLI_ = C_NULL_PTR
111111
type(tCLIArgs) :: cliArgs
112112
integer(C_INT) :: stat
113113
#endif
114114

115115
print'(/,1x,a)', '<<<+- CLI init -+>>>'
116116

117-
#ifdef BOOST
117+
#if (defined(BOOST) && !defined(OLD_STYLE_C_TO_FORTRAN_STRING))
118118
print'(a)', 'Using boost, experimental C++ feature'
119119

120120
call cliArgs%copyCommandLineArgs()
@@ -242,7 +242,7 @@ subroutine CLI_init()
242242
if (allocated(numericsArg)) &
243243
print'(1x,a)', 'Numerics config: '//IO_glueDiffering(CLI_numericsFile,numericsArg)
244244
print'(1x,a)', 'Job name: '//CLI_jobName
245-
#ifdef BOOST
245+
#if (defined(BOOST) && !defined(OLD_STYLE_C_TO_FORTRAN_STRING))
246246
print'(1x,a)', 'Job ID: '//CLI_jobID
247247
#endif
248248
if (CLI_restartInc > 0) &
@@ -314,7 +314,7 @@ subroutine printCompileOptions() bind(C, name="F_printCompileOptions")
314314

315315
end subroutine printCompileOptions
316316

317-
#ifdef BOOST
317+
#if (defined(BOOST) && !defined(OLD_STYLE_C_TO_FORTRAN_STRING))
318318
!--------------------------------------------------------------------------------------------------
319319
!> @brief Copy command line args to c strings for boost-processing,
320320
! allocate one extra element for the NULL termination.

0 commit comments

Comments
 (0)