Skip to content

Commit e52b7df

Browse files
committed
rearrange dirs
1 parent 21f393c commit e52b7df

File tree

11 files changed

+47
-36
lines changed

11 files changed

+47
-36
lines changed

CMakeLists.txt

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,28 +29,9 @@ include(CTest)
2929

3030
include (cmake/compilers.cmake)
3131

32-
set(CMAKE_CXX_STANDARD 11)
3332
set(CMAKE_C_STANDARD 99)
33+
set(CMAKE_CXX_STANDARD 11)
3434

35-
add_library(c_lib call_c.c)
36-
37-
add_executable(f_call_c f_call_c.f90 $<TARGET_OBJECTS:c_lib>)
38-
add_test(NAME FortranCallC COMMAND f_call_c)
39-
40-
# -- C++ calling Fortran
41-
add_library(call_f OBJECT c_call_f.f90)
42-
43-
add_executable(cxx_call_f cxx_call_f.cxx $<TARGET_OBJECTS:call_f>)
44-
add_test(NAME CXXCallFortran COMMAND cxx_call_f)
45-
46-
# -- Fortran calling C++
47-
add_library(cxx_lib OBJECT call_cxx.cxx)
48-
49-
add_executable(f_call_cxx f_call_c.f90 $<TARGET_OBJECTS:cxx_lib>)
50-
# LINKER_LANGUAGE option is necessary for ifort at least
51-
set_target_properties(f_call_cxx PROPERTIES LINKER_LANGUAGE Fortran)
52-
add_test(NAME FortranCallC++ COMMAND f_call_cxx)
35+
add_subdirectory(c)
5336

54-
set_tests_properties(FortranCallC CXXCallFortran FortranCallC++
55-
PROPERTIES
56-
TIMEOUT 5)
37+
add_subdirectory(cxx)

CMakePresets.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
"displayName": "Intel oneAPI LLVM",
1515
"environment": {
1616
"CC": "icx",
17-
"CXX": "icx",
1817
"FC": "ifx"
1918
}
2019
}

c/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
add_library(c_lib call_c.c)
2+
3+
add_executable(f_call_c ${PROJECT_SOURCE_DIR}/f_call_c.f90 $<TARGET_OBJECTS:c_lib>)
4+
add_test(NAME FortranCallC COMMAND f_call_c)
5+
6+
set_tests_properties(FortranCallC
7+
PROPERTIES
8+
TIMEOUT 5)
File renamed without changes.

c/meson.build

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
c_lib = library('call_c', 'call_c.c')
2+
3+
f_call_c = executable('f_call_c', fcc_src,
4+
link_with: c_lib,
5+
link_language: 'fortran')
6+
7+
test('Fortran calling C', f_call_c, timeout: 10)

cxx/CMakeLists.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# -- C++ calling Fortran
2+
add_library(call_f OBJECT c_call_f.f90)
3+
4+
add_executable(cxx_call_f cxx_call_f.cxx $<TARGET_OBJECTS:call_f>)
5+
add_test(NAME CXXCallFortran COMMAND cxx_call_f)
6+
7+
# -- Fortran calling C++
8+
add_library(cxx_lib OBJECT call_cxx.cxx)
9+
10+
add_executable(f_call_cxx ${PROJECT_SOURCE_DIR}/f_call_c.f90 $<TARGET_OBJECTS:cxx_lib>)
11+
# LINKER_LANGUAGE option is necessary for ifort at least
12+
set_target_properties(f_call_cxx PROPERTIES LINKER_LANGUAGE Fortran)
13+
add_test(NAME FortranCallC++ COMMAND f_call_cxx)
14+
15+
set_tests_properties(CXXCallFortran FortranCallC++
16+
PROPERTIES
17+
TIMEOUT 5)
File renamed without changes.
File renamed without changes.
File renamed without changes.

cxx/meson.build

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
call_f = library('call_f', 'c_call_f.f90')
2+
c_call_f = executable('c_call_f', 'cxx_call_f.cxx', link_with: call_f)
3+
test('C++ calling Fortran', c_call_f, timeout: 10)
4+
5+
cxx_lib = library('call_cxx', 'call_cxx.cxx')
6+
f_call_cxx = executable('f_call_cxx', fcc_src,
7+
link_with: cxx_lib,
8+
link_language: 'fortran')
9+
test('Fortran calling C++', f_call_cxx, timeout: 10)

0 commit comments

Comments
 (0)