@@ -30,47 +30,44 @@ macro(add_test_without_mode exe)
3030 set_property (TEST ${exe} APPEND PROPERTY ENVIRONMENT OCCA_CACHE_DIR=${OCCA_BUILD_DIR}/occa )
3131endmacro ()
3232
33- macro (compile_c_example target file )
34- add_executable (examples_c_${target} ${file} )
35- target_link_libraries (examples_c_${target} libocca )
36- target_include_directories (examples_c_${target} PRIVATE
37- $<BUILD_INTERFACE :${OCCA_SOURCE_DIR} /src >)
38- if (OCCA_ENABLE_TESTS)
39- add_test_with_modes (examples_c_${target} )
33+ macro (compile_example target file mode )
34+ add_executable (${target} ${file} )
35+ target_link_libraries (${target} libocca )
36+ target_include_directories (${target} PRIVATE $<BUILD_INTERFACE :${OCCA_SOURCE_DIR} /src >)
37+
38+ file (RELATIVE_PATH install_dir ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_LIST_DIR} )
39+ file (GLOB_RECURSE OKLS "${CMAKE_CURRENT_LIST_DIR} /*.okl" )
40+ install (TARGETS ${target} DESTINATION ${install_dir} )
41+ install (FILES ${OKLS} DESTINATION ${install_dir} )
42+
43+ if (NOT DEFINED OCCA_ENABLE_TESTS)
44+ return ()
45+ endif ()
46+ if (${mode} )
47+ add_test_with_modes (${target} )
48+ else ()
49+ add_test_without_mode (${target} )
4050 endif ()
4151endmacro ()
4252
53+ macro (compile_c_example target file )
54+ compile_example (examples_c_${target} ${file} TRUE )
55+ endmacro ()
56+
4357macro (compile_cpp_example target file )
44- add_executable (examples_cpp_${target} ${file} )
45- target_link_libraries (examples_cpp_${target} libocca )
46- target_include_directories (examples_cpp_${target} PRIVATE
47- $<BUILD_INTERFACE :${OCCA_SOURCE_DIR} /src >)
48- if (OCCA_ENABLE_TESTS)
49- add_test_without_mode (examples_cpp_${target} )
50- endif ()
58+ compile_example (examples_cpp_${target} ${file} FALSE )
5159endmacro ()
5260
5361macro (compile_cpp_example_with_modes target file )
54- add_executable (examples_cpp_${target} ${file} )
55- target_link_libraries (examples_cpp_${target} libocca )
56- target_include_directories (examples_cpp_${target} PRIVATE
57- $<BUILD_INTERFACE :${OCCA_SOURCE_DIR} /src >)
58- if (OCCA_ENABLE_TESTS)
59- add_test_with_modes (examples_cpp_${target} )
60- endif ()
62+ compile_example (examples_cpp_${target} ${file} TRUE )
63+ endmacro ()
64+
65+ macro (compile_fortran_example_with_modes target file )
66+ compile_example (examples_fortran_${target} ${file} TRUE )
6167endmacro ()
6268
6369add_subdirectory (c )
6470add_subdirectory (cpp )
65-
6671if (OCCA_ENABLE_FORTRAN)
67- macro (compile_fortran_example_with_modes target file )
68- add_executable (examples_fortran_${target} ${file} )
69- target_link_libraries (examples_fortran_${target} libocca )
70- if (OCCA_ENABLE_TESTS)
71- add_test_with_modes (examples_fortran_${target} )
72- endif ()
73- endmacro ()
74-
7572 add_subdirectory (fortran )
7673endif ()
0 commit comments