33
44# FFT Backend Benchmark (requires MPI)
55add_executable (fft_backend_benchmark fft_backend_benchmark.cpp)
6- target_link_libraries (fft_backend_benchmark PRIVATE OpenPFC)
6+ set (_heffte_tgt "" )
7+ if (TARGET Heffte::Heffte)
8+ set (_heffte_tgt Heffte::Heffte)
9+ elseif (TARGET Heffte)
10+ set (_heffte_tgt Heffte)
11+ elseif (TARGET heffte)
12+ set (_heffte_tgt heffte)
13+ endif ()
14+
15+ target_link_libraries (fft_backend_benchmark PRIVATE OpenPFC ${_heffte_tgt} )
716if (OpenPFC_ENABLE_CUDA)
817 target_compile_definitions (fft_backend_benchmark PRIVATE OpenPFC_ENABLE_CUDA)
918endif ()
@@ -12,73 +21,73 @@ endif()
1221# target_link_libraries(01_hello_world PRIVATE OpenPFC)
1322
1423add_executable (02_domain_decomposition 02_domain_decomposition.cpp)
15- target_link_libraries (02_domain_decomposition PRIVATE OpenPFC)
24+ target_link_libraries (02_domain_decomposition PRIVATE OpenPFC ${_heffte_tgt} )
1625
1726add_executable (03_parallel_fft 03_parallel_fft.cpp)
18- target_link_libraries (03_parallel_fft PRIVATE OpenPFC)
27+ target_link_libraries (03_parallel_fft PRIVATE OpenPFC ${_heffte_tgt} )
1928
2029add_executable (04_diffusion_model 04_diffusion_model.cpp)
21- target_link_libraries (04_diffusion_model PRIVATE OpenPFC)
30+ target_link_libraries (04_diffusion_model PRIVATE OpenPFC ${_heffte_tgt} )
2231
2332add_executable (05_simulator 05_simulator.cpp)
24- target_link_libraries (05_simulator PRIVATE OpenPFC)
33+ target_link_libraries (05_simulator PRIVATE OpenPFC ${_heffte_tgt} )
2534
2635add_executable (06_multi_index 06_multi_index.cpp)
27- target_link_libraries (06_multi_index PRIVATE OpenPFC)
36+ target_link_libraries (06_multi_index PRIVATE OpenPFC ${_heffte_tgt} )
2837
2938add_executable (07_array 07_array.cpp)
30- target_link_libraries (07_array PRIVATE OpenPFC)
39+ target_link_libraries (07_array PRIVATE OpenPFC ${_heffte_tgt} )
3140
3241add_executable (08_discrete_fields 08_discrete_fields.cpp)
33- target_link_libraries (08_discrete_fields PRIVATE OpenPFC)
42+ target_link_libraries (08_discrete_fields PRIVATE OpenPFC ${_heffte_tgt} )
3443
3544add_executable (09_parallel_fft_high_level 09_parallel_fft_high_level.cpp)
36- target_link_libraries (09_parallel_fft_high_level PRIVATE OpenPFC)
45+ target_link_libraries (09_parallel_fft_high_level PRIVATE OpenPFC ${_heffte_tgt} )
3746
3847add_executable (10_ui_register_ic 10_ui_register_ic.cpp)
39- target_link_libraries (10_ui_register_ic PRIVATE OpenPFC nlohmann_json::nlohmann_json)
48+ target_link_libraries (10_ui_register_ic PRIVATE OpenPFC nlohmann_json::nlohmann_json ${_heffte_tgt} )
4049
4150add_executable (11_write_results 11_write_results.cpp)
42- target_link_libraries (11_write_results PRIVATE OpenPFC)
51+ target_link_libraries (11_write_results PRIVATE OpenPFC ${_heffte_tgt} )
4352
4453add_executable (12_cahn_hilliard 12_cahn_hilliard.cpp)
45- target_link_libraries (12_cahn_hilliard PRIVATE OpenPFC nlohmann_json::nlohmann_json)
54+ target_link_libraries (12_cahn_hilliard PRIVATE OpenPFC nlohmann_json::nlohmann_json ${_heffte_tgt} )
4655
4756add_executable (fft_kspace_helpers_example fft_kspace_helpers_example.cpp)
48- target_link_libraries (fft_kspace_helpers_example PRIVATE OpenPFC)
57+ target_link_libraries (fft_kspace_helpers_example PRIVATE OpenPFC ${_heffte_tgt} )
4958
5059add_executable (mpi_worker mpi_worker.cpp)
51- target_link_libraries (mpi_worker PRIVATE OpenPFC)
60+ target_link_libraries (mpi_worker PRIVATE OpenPFC ${_heffte_tgt} )
5261
5362add_executable (mpi_worker_inside_class mpi_worker_inside_class.cpp)
54- target_link_libraries (mpi_worker_inside_class PRIVATE OpenPFC)
63+ target_link_libraries (mpi_worker_inside_class PRIVATE OpenPFC ${_heffte_tgt} )
5564
5665add_executable (mpi_timers mpi_timers.cpp)
57- target_link_libraries (mpi_timers PRIVATE OpenPFC)
66+ target_link_libraries (mpi_timers PRIVATE OpenPFC ${_heffte_tgt} )
5867
5968add_executable (time time.cpp)
60- target_link_libraries (time PRIVATE OpenPFC)
69+ target_link_libraries (time PRIVATE OpenPFC ${_heffte_tgt} )
6170
6271add_executable (write_results write_results.cpp)
63- target_link_libraries (write_results PRIVATE OpenPFC)
72+ target_link_libraries (write_results PRIVATE OpenPFC ${_heffte_tgt} )
6473
6574add_executable (diffusion_model_with_custom_initial_condition diffusion_model_with_custom_initial_condition.cpp)
66- target_link_libraries (diffusion_model_with_custom_initial_condition PRIVATE OpenPFC)
75+ target_link_libraries (diffusion_model_with_custom_initial_condition PRIVATE OpenPFC ${_heffte_tgt} )
6776
6877add_executable (json_read json_read.cpp)
6978target_link_libraries (json_read PRIVATE nlohmann_json::nlohmann_json)
7079
7180add_executable (world_helpers_example world_helpers_example.cpp)
72- target_link_libraries (world_helpers_example PRIVATE OpenPFC)
81+ target_link_libraries (world_helpers_example PRIVATE OpenPFC ${_heffte_tgt} )
7382
7483add_executable (14_custom_field_initializer 14_custom_field_initializer.cpp)
75- target_link_libraries (14_custom_field_initializer PRIVATE OpenPFC)
84+ target_link_libraries (14_custom_field_initializer PRIVATE OpenPFC ${_heffte_tgt} )
7685
7786add_executable (16_strong_types_demo 16_strong_types_demo.cpp)
78- target_link_libraries (16_strong_types_demo PRIVATE OpenPFC)
87+ target_link_libraries (16_strong_types_demo PRIVATE OpenPFC ${_heffte_tgt} )
7988
8089add_executable (17_custom_coordinate_system 17_custom_coordinate_system.cpp)
81- target_link_libraries (17_custom_coordinate_system PRIVATE OpenPFC)
90+ target_link_libraries (17_custom_coordinate_system PRIVATE OpenPFC ${_heffte_tgt} )
8291
8392add_executable (world_strong_types_example world_strong_types_example.cpp)
84- target_link_libraries (world_strong_types_example PRIVATE OpenPFC)
93+ target_link_libraries (world_strong_types_example PRIVATE OpenPFC ${_heffte_tgt} )
0 commit comments