@@ -3,96 +3,3 @@ add_subdirectory(c)
33add_subdirectory (cxx)
44
55add_subdirectory (fortran)
6-
7- # -- Fortran calling C++
8- add_executable (fortran_cxx_vector fortran/vector_main.f90)
9- target_link_libraries (fortran_cxx_vector PRIVATE vector_cxx)
10- # LINKER_LANGUAGE option is necessary for ifort at least
11- set_target_properties (fortran_cxx_vector PROPERTIES LINKER_LANGUAGE Fortran)
12- add_test (NAME Fortran_C++_vector COMMAND fortran_cxx_vector)
13-
14- add_executable (fortran_cxx_struct fortran/struct_main.f90)
15- target_link_libraries (fortran_cxx_struct PRIVATE struct_cxx)
16- set_target_properties (fortran_cxx_struct PROPERTIES LINKER_LANGUAGE Fortran)
17- add_test (NAME Fortran_C++_struct COMMAND fortran_cxx_struct)
18-
19- add_executable (fortran_cxx_error fortran/error_main.f90)
20- target_link_libraries (fortran_cxx_error PRIVATE error_cxx)
21- set_target_properties (fortran_cxx_error PROPERTIES LINKER_LANGUAGE Fortran)
22- add_test (NAME Fortran_C++_error
23- COMMAND ${CMAKE_COMMAND} -Dexe=$<TARGET_FILE:fortran_cxx_error> -Dexp_code=42 -P ${PROJECT_SOURCE_DIR} /cmake/test_error.cmake
24- )
25-
26- # -- Fortran calling C
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)
30-
31- add_executable (fortran_c_struct fortran/struct_main.f90)
32- target_link_libraries (fortran_c_struct PRIVATE struct_c)
33- add_test (NAME Fortran_C_struct COMMAND fortran_c_struct)
34-
35- add_executable (fortran_c_error fortran/error_main.f90)
36- target_link_libraries (fortran_c_error PRIVATE error_c)
37- add_test (NAME Fortran_C_error
38- COMMAND ${CMAKE_COMMAND} -Dexe=$<TARGET_FILE:fortran_c_error> -Dexp_code=42 -P ${PROJECT_SOURCE_DIR} /cmake/test_error.cmake
39- )
40-
41- # -- 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-
47- add_executable (c_fortran_error c/error_main.c)
48- target_link_libraries (c_fortran_error PRIVATE error_fortran)
49- # LINKER_LANGUAGE option is necessary for ifort at least
50- set_target_properties (c_fortran_error PROPERTIES LINKER_LANGUAGE C)
51- add_test (NAME C_Fortran_error
52- COMMAND ${CMAKE_COMMAND} -Dexe=$<TARGET_FILE:c_fortran_error> -Dexp_code=42 -P ${PROJECT_SOURCE_DIR} /cmake/test_error.cmake
53- )
54-
55- add_executable (c_fortran_struct c/struct_main.c)
56- target_link_libraries (c_fortran_struct PRIVATE struct_fortran)
57- set_target_properties (c_fortran_struct PROPERTIES LINKER_LANGUAGE C)
58- target_compile_definitions (c_fortran_struct PRIVATE $<$<BOOL :${MSVC} >:_CRT_SECURE_NO_WARNINGS>)
59- add_test (NAME C_Fortran_struct COMMAND c_fortran_struct)
60-
61- # -- C++ calling 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)
74-
75- add_executable (cxx_fortran_error cxx/error_main.cxx)
76- target_link_libraries (cxx_fortran_error PRIVATE error_fortran)
77- # LINKER_LANGUAGE option is necessary for ifort at least
78- set_target_properties (cxx_fortran_error PROPERTIES LINKER_LANGUAGE CXX)
79- add_test (NAME C++_Fortran_error
80- COMMAND ${CMAKE_COMMAND} -Dexe=$<TARGET_FILE:cxx_fortran_error> -Dexp_code=42 -P ${PROJECT_SOURCE_DIR} /cmake/test_error.cmake
81- )
82-
83- add_executable (cxx_fortran_struct cxx/struct_main.cxx)
84- target_include_directories (cxx_fortran_struct PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} /c)
85- target_link_libraries (cxx_fortran_struct PRIVATE struct_fortran)
86- set_target_properties (cxx_fortran_struct PROPERTIES LINKER_LANGUAGE CXX)
87- target_compile_definitions (cxx_fortran_struct PRIVATE $<$<BOOL :${MSVC} >:_CRT_SECURE_NO_WARNINGS>)
88- add_test (NAME C++_Fortran_struct COMMAND cxx_fortran_struct)
89-
90- # -- test wrapup
91- set_tests_properties (
92- C_Fortran_error C_Fortran_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
96- PROPERTIES
97- TIMEOUT 5
98- )
0 commit comments