|
2 | 2 | find_package(PythonExtensions REQUIRED)
|
3 | 3 | find_package(NumPy REQUIRED)
|
4 | 4 |
|
5 |
| -set(CYTHON_FLAGS "-w ${CMAKE_SOURCE_DIR}") |
| 5 | +set(CYTHON_FLAGS "-t -w ${CMAKE_SOURCE_DIR}") |
6 | 6 | find_package(Cython REQUIRED)
|
7 | 7 |
|
8 | 8 | if(WIN32)
|
@@ -78,41 +78,64 @@ add_custom_target(_build_time_create_dpctl_include ALL
|
78 | 78 | DEPENDS DPCTLSyclInterface
|
79 | 79 | )
|
80 | 80 |
|
| 81 | +set(_copied_header_files) |
81 | 82 | file(GLOB _syclinterface_h ${CMAKE_SOURCE_DIR}/libsyclinterface/include/*.h)
|
82 | 83 | foreach(hf ${_syclinterface_h})
|
83 |
| - add_custom_command(TARGET _build_time_create_dpctl_include |
84 |
| - COMMAND ${CMAKE_COMMAND} -E copy ${hf} ${DPCTL_INCLUDE_DIR}/syclinterface |
85 |
| - ) |
| 84 | + get_filename_component(_header_name ${hf} NAME) |
| 85 | + set(_target_header_file ${DPCTL_INCLUDE_DIR}/syclinterface/${_header_name}) |
| 86 | + list(APPEND _copied_header_files ${_target_header_file}) |
| 87 | + add_custom_command(OUTPUT ${_target_header_file} |
| 88 | + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${hf} ${_target_header_file} |
| 89 | + DEPENDS ${hf} _build_time_create_dpctl_include |
| 90 | + VERBATIM |
| 91 | + ) |
86 | 92 | endforeach()
|
87 | 93 |
|
88 | 94 | file(GLOB _syclinterface_Support_h ${CMAKE_SOURCE_DIR}/libsyclinterface/include/Support/*.h)
|
89 | 95 | foreach(hf ${_syclinterface_Support_h})
|
90 |
| - add_custom_command(TARGET _build_time_create_dpctl_include |
91 |
| - COMMAND ${CMAKE_COMMAND} -E copy ${hf} ${DPCTL_INCLUDE_DIR}/syclinterface/Support |
92 |
| - ) |
| 96 | + get_filename_component(_header_name ${hf} NAME) |
| 97 | + set(_target_header_file ${DPCTL_INCLUDE_DIR}/syclinterface/Support/${_header_name}) |
| 98 | + list(APPEND _copied_header_files ${_target_header_file}) |
| 99 | + add_custom_command(OUTPUT ${_target_header_file} |
| 100 | + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${hf} ${_target_header_file} |
| 101 | + DEPENDS ${hf} _build_time_create_dpctl_include |
| 102 | + ) |
93 | 103 | endforeach()
|
94 | 104 |
|
95 | 105 | file(GLOB _syclinterface_Config_h ${CMAKE_SOURCE_DIR}/libsyclinterface/include/Config/*.h)
|
96 | 106 | foreach(hf ${_syclinterface_Config_h})
|
97 |
| - add_custom_command(TARGET _build_time_create_dpctl_include |
98 |
| - COMMAND ${CMAKE_COMMAND} -E copy ${hf} ${DPCTL_INCLUDE_DIR}/syclinterface/Config |
99 |
| - ) |
| 107 | + get_filename_component(_header_name ${hf} NAME) |
| 108 | + set(_target_header_file ${DPCTL_INCLUDE_DIR}/syclinterface/Config/${_header_name}) |
| 109 | + list(APPEND _copied_header_files ${_target_header_file}) |
| 110 | + add_custom_command(OUTPUT ${_target_header_file} |
| 111 | + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${hf} ${_target_header_file} |
| 112 | + DEPENDS ${hf} _build_time_create_dpctl_include |
| 113 | + ) |
100 | 114 | endforeach()
|
101 | 115 |
|
102 | 116 | file(GLOB _apis_h ${CMAKE_CURRENT_SOURCE_DIR}/apis/include/*)
|
103 | 117 | foreach(hf ${_apis_h})
|
104 |
| - add_custom_command(TARGET _build_time_create_dpctl_include |
105 |
| - COMMAND ${CMAKE_COMMAND} -E copy ${hf} ${DPCTL_INCLUDE_DIR} |
106 |
| - ) |
| 118 | + get_filename_component(_header_name ${hf} NAME) |
| 119 | + set(_target_header_file ${DPCTL_INCLUDE_DIR}/${_header_name}) |
| 120 | + list(APPEND _copied_header_files ${_target_header_file}) |
| 121 | + add_custom_command(OUTPUT ${_target_header_file} |
| 122 | + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${hf} ${_target_header_file} |
| 123 | + DEPENDS ${hf} _build_time_create_dpctl_include |
| 124 | + ) |
107 | 125 | endforeach()
|
108 | 126 |
|
| 127 | +add_custom_target( |
| 128 | + _build_time_create_dpctl_include_copy ALL |
| 129 | + DEPENDS ${_copied_header_files} |
| 130 | +) |
| 131 | + |
109 | 132 | set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
110 | 133 |
|
111 | 134 | function(build_dpctl_ext _trgt _src _dest)
|
112 | 135 | add_cython_target(${_trgt} ${_src} CXX OUTPUT_VAR _generated_src)
|
113 | 136 | add_library(${_trgt} MODULE ${_generated_src})
|
114 | 137 | target_include_directories(${_trgt} PRIVATE ${NumPy_INCLUDE_DIR} ${DPCTL_INCLUDE_DIR})
|
115 |
| - add_dependencies(${_trgt} _build_time_create_dpctl_include) |
| 138 | + add_dependencies(${_trgt} _build_time_create_dpctl_include_copy) |
116 | 139 | if (DPCTL_GENERATE_COVERAGE)
|
117 | 140 | target_compile_definitions(${_trgt} PRIVATE CYTHON_TRACE=1 CYTHON_TRACE_NOGIL=1)
|
118 | 141 | target_compile_options(${_trgt} PRIVATE -fno-sycl-use-footer)
|
|
0 commit comments