1+ find_package (OpenCV 4 REQUIRED )
2+
3+ find_library (ACCELERATE Accelerate REQUIRED )
4+ find_library (METAL Metal REQUIRED )
5+ find_library (FOUNDATION Foundation REQUIRED )
6+
7+
8+
9+ add_library (bridge_cv OBJECT ${BRIDGE_DIR} /include/bridge.h ${BRIDGE_DIR} /lib/bridge.cpp )
10+
11+ target_link_directories (bridge_cv PRIVATE ${LIBTORCH_DIR} /lib )
12+
13+ target_link_libraries (
14+ bridge_cv
15+ PRIVATE
16+ -ltorch
17+ -ltorch_cpu
18+ -lc10
19+ -ltorch_global_deps
20+ ${OpenCV_LIBS}
21+ # ${TORCH_LIBRARIES}
22+ ${ACCELERATE}
23+ ${METAL}
24+ ${FOUNDATION}
25+ )
26+
27+ target_include_directories (
28+ bridge_cv
29+ PRIVATE
30+ ${BRIDGE_DIR} /include
31+ ${LIBTORCH_DIR} /include
32+ ${LIBTORCH_DIR} /include/torch/csrc/api/include
33+ # ${BRIDGE_DIR}/util
34+ )
35+
36+ # if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
37+ # target_compile_options(bridge_cv PRIVATE -Ofast -flto -ffast-math)
38+ # target_link_options(bridge_cv PRIVATE -flto)
39+ # endif()
40+
41+
42+ set (BRIDGE_CV_OBJECT_FILES $<TARGET_OBJECTS :bridge_cv >)
43+
44+
45+ set (CHAI_CV_LINKER_ARGS
46+ -M ${PROJECT_ROOT_DIR} /lib
47+ ${BRIDGE_DIR} /include/bridge.h
48+ ${BRIDGE_CV_OBJECT_FILES}
49+ -L ${LIBTORCH_DIR} /lib
50+ ${LIBTORCH_LIBS_LINKER_ARGS}
51+ --ldflags "-Wl,-rpath,${LIBTORCH_DIR} /lib"
52+ )
53+
54+
55+
56+
57+
58+
59+
60+
161add_executable (SplitLoop
262 ${CMAKE_CURRENT_SOURCE_DIR} /split_loop.chpl
363 ${CHAI_LIB_FILES}
464)
5- add_dependencies (SplitLoop bridge )
6- add_dependencies (SplitLoop ChAI )
65+
66+ add_dependencies (SplitLoop bridge_cv )
67+ # add_dependencies(SplitLoop ChAI)
768target_link_options (SplitLoop
869 PRIVATE
9- ${CHAI_LINKER_ARGS }
70+ ${CHAI_CV_LINKER_ARGS }
1071)
1172
73+ cmake_print_variables (CHAI_CV_LINKER_ARGS )
74+ cmake_print_variables (OpenCV_LIBS )
75+ cmake_print_variables (ACCELERATE )
76+ cmake_print_variables (METAL )
77+ cmake_print_variables (FOUNDATION )
78+
1279set_target_properties (SplitLoop PROPERTIES
1380 RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}
14- )
81+ )
82+
83+ # if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
84+ # target_compile_options(SplitLoop PRIVATE -Ofast -flto -ffast-math)
85+ # target_link_options(SplitLoop PRIVATE -flto)
86+ # endif()
0 commit comments