@@ -5,11 +5,11 @@ add_subdirectory(cxx)
55add_subdirectory (fortran)
66
77# -- Fortran calling C++
8- add_executable (fortran_cxx_math fortran/math_main .f90)
9- target_link_libraries (fortran_cxx_math PRIVATE math_cxx )
8+ add_executable (fortran_cxx_vector fortran/vector_main .f90)
9+ target_link_libraries (fortran_cxx_vector PRIVATE vector_cxx )
1010# LINKER_LANGUAGE option is necessary for ifort at least
11- set_target_properties (fortran_cxx_math PROPERTIES LINKER_LANGUAGE Fortran)
12- add_test (NAME Fortran_C++_math COMMAND fortran_cxx_math )
11+ set_target_properties (fortran_cxx_vector PROPERTIES LINKER_LANGUAGE Fortran)
12+ add_test (NAME Fortran_C++_vector COMMAND fortran_cxx_vector )
1313
1414add_executable (fortran_cxx_struct fortran/struct_main.f90)
1515target_link_libraries (fortran_cxx_struct PRIVATE struct_cxx)
@@ -24,9 +24,9 @@ COMMAND ${CMAKE_COMMAND} -Dexe=$<TARGET_FILE:fortran_cxx_error> -Dexp_code=42 -P
2424)
2525
2626# -- Fortran calling C
27- add_executable (fortran_c_math fortran/math_main .f90)
28- target_link_libraries (fortran_c_math PRIVATE math_c )
29- add_test (NAME Fortran_C_math COMMAND fortran_c_math )
27+ add_executable (fortran_c_vector fortran/vector_main .f90)
28+ target_link_libraries (fortran_c_vector PRIVATE vector_c )
29+ add_test (NAME Fortran_C_vector COMMAND fortran_c_vector )
3030
3131add_executable (fortran_c_struct fortran/struct_main.f90)
3232target_link_libraries (fortran_c_struct PRIVATE struct_c)
@@ -39,6 +39,11 @@ COMMAND ${CMAKE_COMMAND} -Dexe=$<TARGET_FILE:fortran_c_error> -Dexp_code=42 -P $
3939)
4040
4141# -- C calling Fortran
42+ add_executable (c_fortran_submodule c/submodule_main.c)
43+ target_link_libraries (c_fortran_submodule PRIVATE submodule_fortran)
44+ set_target_properties (c_fortran_submodule PROPERTIES LINKER_LANGUAGE C)
45+ add_test (NAME C_Fortran_submodule COMMAND c_fortran_submodule)
46+
4247add_executable (c_fortran_error c/error_main.c)
4348target_link_libraries (c_fortran_error PRIVATE error_fortran)
4449# LINKER_LANGUAGE option is necessary for ifort at least
@@ -54,9 +59,18 @@ target_compile_definitions(c_fortran_struct PRIVATE $<$<BOOL:${MSVC}>:_CRT_SECUR
5459add_test (NAME C_Fortran_struct COMMAND c_fortran_struct)
5560
5661# -- C++ calling Fortran
57- add_executable (cxx_call_fortran cxx/math_main.cxx)
58- target_link_libraries (cxx_call_fortran PRIVATE math_fortran)
59- add_test (NAME C++_Fortran_math COMMAND cxx_call_fortran)
62+ add_executable (cxx_fortran_submodule cxx/submodule_main.cxx)
63+ target_link_libraries (cxx_fortran_submodule PRIVATE submodule_fortran)
64+ target_compile_definitions (cxx_fortran_submodule PRIVATE _USE_MATH_DEFINES)
65+ add_test (NAME C++_Fortran_submodule COMMAND cxx_fortran_submodule)
66+
67+ add_executable (cxx_fortran_array cxx/array_main.cxx)
68+ target_link_libraries (cxx_fortran_array PRIVATE vector_fortran)
69+ add_test (NAME C++_Fortran_array COMMAND cxx_fortran_array)
70+
71+ add_executable (cxx_fortran_vector cxx/vector_main.cxx)
72+ target_link_libraries (cxx_fortran_vector PRIVATE vector_fortran)
73+ add_test (NAME C++_Fortran_vector COMMAND cxx_fortran_vector)
6074
6175add_executable (cxx_fortran_error cxx/error_main.cxx)
6276target_link_libraries (cxx_fortran_error PRIVATE error_fortran)
@@ -76,9 +90,9 @@ add_test(NAME C++_Fortran_struct COMMAND cxx_fortran_struct)
7690# -- test wrapup
7791set_tests_properties (
7892C_Fortran_error C_Fortran_struct
79- C++_Fortran_math C++_Fortran_error C++_Fortran_struct
80- Fortran_C_math Fortran_C_struct
81- Fortran_C++_math Fortran_C++_struct
93+ C++_Fortran_vector C++_Fortran_error C++_Fortran_struct
94+ Fortran_C_vector Fortran_C_struct
95+ Fortran_C++_vector Fortran_C++_struct
8296PROPERTIES
8397TIMEOUT 5
8498)
0 commit comments