Skip to content

Commit d6618d6

Browse files
Make the build work on Windows
1 parent 2e3f5cd commit d6618d6

File tree

7 files changed

+49
-27
lines changed

7 files changed

+49
-27
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.21 FATAL_ERROR)
1+
cmake_minimum_required(VERSION 3.21...3.22 FATAL_ERROR)
22

33
project(dpctl
44
LANGUAGES CXX

cmake/IntelDPCPPConfig.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ if(SYCL_COMPILER)
201201
NAMES
202202
include
203203
HINTS
204-
${SYCL_PACKAGE_DIR} ENV SYCL_INCLUDE_DIR_HINT
204+
${SYCL_PACKAGE_DIR} $ENV{SYCL_INCLUDE_DIR_HINT}
205205
NO_DEFAULT_PATH
206206
)
207207

@@ -210,7 +210,7 @@ if(SYCL_COMPILER)
210210
NAMES
211211
lib lib64
212212
HINTS
213-
${SYCL_PACKAGE_DIR} ENV SYCL_LIBRARY_DIR_HINT
213+
${SYCL_PACKAGE_DIR} $ENV{SYCL_LIBRARY_DIR_HINT}
214214
NO_DEFAULT_PATH
215215
)
216216

conda-recipe/bld.bat

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,17 @@ set "LIB=%BUILD_PREFIX%\Library\lib;%BUILD_PREFIX%\compiler\lib;%LIB%"
44
set "INCLUDE=%BUILD_PREFIX%\include;%INCLUDE%"
55

66
"%PYTHON%" setup.py clean --all
7-
set "INSTALL_CMD=install -- -G Ninja -DDPCTL_DPCPP_HOME_DIR=%BUILD_PREFIX%\Library -DCMAKE_C_COMPILER:PATH=icx -DCMAKE_CXX_COMPILER:PATH=icx -DDPCTL_ENABLE_LO_PROGRAM_CREATION=ON"
7+
set "SKBUILD_ARGS=-- -G Ninja -DDPCTL_DPCPP_HOME_DIR=%BUILD_PREFIX%\Library -DCMAKE_C_COMPILER:PATH=icx -DCMAKE_CXX_COMPILER:PATH=icx -DDPCTL_ENABLE_LO_PROGRAM_CREATION=ON"
8+
set "SYCL_INCLUDE_DIR_HINT=%BUILD_PREFIX%\Library\lib\clang\14.0.0"
89

910
if NOT "%WHEELS_OUTPUT_FOLDER%"=="" (
1011
rem Install and assemble wheel package from the build bits
11-
"%PYTHON%" setup.py %INSTALL_CMD% bdist_wheel
12+
"%PYTHON%" setup.py install bdist_wheel %SKBUILD_ARGS%
1213
if errorlevel 1 exit 1
1314
copy dist\dpctl*.whl %WHEELS_OUTPUT_FOLDER%
1415
if errorlevel 1 exit 1
1516
) ELSE (
1617
rem Only install
17-
"%PYTHON%" setup.py %INSTALL_CMD%
18+
"%PYTHON%" setup.py install %SKBUILD_ARGS%
1819
if errorlevel 1 exit 1
1920
)

conda-recipe/build.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ export LDFLAGS="$LDFLAGS -Wl,-rpath,$PREFIX/lib"
77

88
${PYTHON} setup.py clean --all
99
export CMAKE_GENERATOR="Unix Makefiles"
10-
INSTALL_CMD="install -- -DCMAKE_C_COMPILER:PATH=icx -DCMAKE_CXX_COMPILER:PATH=icpx -DDPCTL_ENABLE_LO_PROGRAM_CREATION=ON -DDPCTL_DPCPP_HOME_DIR=${BUILD_PREFIX}"
11-
echo "${PYTHON} setup.py ${INSTALL_CMD}"
10+
SKBUILD_ARGS="-- -DCMAKE_C_COMPILER:PATH=icx -DCMAKE_CXX_COMPILER:PATH=icpx -DDPCTL_ENABLE_LO_PROGRAM_CREATION=ON -DDPCTL_DPCPP_HOME_DIR=${BUILD_PREFIX}"
11+
echo "${PYTHON} setup.py install ${SKBUILD_ARGS}"
1212

1313
# Workaround for:
1414
# DPC++ launched by cmake does not see components of `dpcpp_cpp_rt`,
@@ -22,9 +22,9 @@ if [ -n "${WHEELS_OUTPUT_FOLDER}" ]; then
2222
else
2323
WHEELS_BUILD_ARGS="-p manylinux2014_x86_64"
2424
fi
25-
${PYTHON} setup.py ${INSTALL_CMD} bdist_wheel ${WHEELS_BUILD_ARGS}
25+
${PYTHON} setup.py install bdist_wheel ${WHEELS_BUILD_ARGS} ${SKBUILD_ARGS}
2626
cp dist/dpctl*.whl ${WHEELS_OUTPUT_FOLDER}
2727
else
2828
# Perform regular install
29-
${PYTHON} setup.py ${INSTALL_CMD}
29+
${PYTHON} setup.py install ${SKBUILD_ARGS}
3030
fi

conda-recipe/meta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ requirements:
1818
host:
1919
- setuptools
2020
- cython
21-
- cmake
21+
- cmake >=3.21
2222
- python
2323
- make # [unix]
2424
- ninja # [win]

dpctl/CMakeLists.txt

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ if(WIN32)
1111
"-Wunused-function "
1212
"-Wuninitialized "
1313
"-Wmissing-declarations "
14+
"-Wno-unused-parameter "
1415
)
1516
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Ox ${WARNING_FLAGS}")
1617
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /Ox ${WARNING_FLAGS}")
@@ -70,11 +71,39 @@ set(DPCTL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
7071
add_custom_target(_build_time_create_dpctl_include ALL
7172
COMMAND ${CMAKE_COMMAND} -E make_directory ${DPCTL_INCLUDE_DIR}
7273
COMMAND ${CMAKE_COMMAND} -E make_directory ${DPCTL_INCLUDE_DIR}/syclinterface
73-
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/libsyclinterface/include/* ${DPCTL_INCLUDE_DIR}/syclinterface
74-
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/apis/include/* ${DPCTL_INCLUDE_DIR}
74+
COMMAND ${CMAKE_COMMAND} -E make_directory ${DPCTL_INCLUDE_DIR}/syclinterface/Support
75+
COMMAND ${CMAKE_COMMAND} -E make_directory ${DPCTL_INCLUDE_DIR}/syclinterface/Config
7576
DEPENDS DPCTLSyclInterface
7677
)
7778

79+
file(GLOB _syclinterface_h ${CMAKE_SOURCE_DIR}/libsyclinterface/include/*.h)
80+
foreach(hf ${_syclinterface_h})
81+
add_custom_command(TARGET _build_time_create_dpctl_include
82+
COMMAND ${CMAKE_COMMAND} -E copy ${hf} ${DPCTL_INCLUDE_DIR}/syclinterface
83+
)
84+
endforeach()
85+
86+
file(GLOB _syclinterface_Support_h ${CMAKE_SOURCE_DIR}/libsyclinterface/include/Support/*.h)
87+
foreach(hf ${_syclinterface_Support_h})
88+
add_custom_command(TARGET _build_time_create_dpctl_include
89+
COMMAND ${CMAKE_COMMAND} -E copy ${hf} ${DPCTL_INCLUDE_DIR}/syclinterface/Support
90+
)
91+
endforeach()
92+
93+
file(GLOB _syclinterface_Config_h ${CMAKE_SOURCE_DIR}/libsyclinterface/include/Config/*.h)
94+
foreach(hf ${_syclinterface_Config_h})
95+
add_custom_command(TARGET _build_time_create_dpctl_include
96+
COMMAND ${CMAKE_COMMAND} -E copy ${hf} ${DPCTL_INCLUDE_DIR}/syclinterface/Config
97+
)
98+
endforeach()
99+
100+
file(GLOB _apis_h ${CMAKE_CURRENT_SOURCE_DIR}/apis/include/*)
101+
foreach(hf ${_apis_h})
102+
add_custom_command(TARGET _build_time_create_dpctl_include
103+
COMMAND ${CMAKE_COMMAND} -E copy ${hf} ${DPCTL_INCLUDE_DIR}
104+
)
105+
endforeach()
106+
78107
set(CMAKE_INSTALL_RPATH "$ORIGIN")
79108

80109
function(build_dpctl_ext _trgt _src _dest)

libsyclinterface/CMakeLists.txt

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
1+
cmake_minimum_required(VERSION 3.10...3.22 FATAL_ERROR)
22

33
project(
44
"libDPCTLSYCLInterface"
@@ -84,6 +84,7 @@ if(WIN32)
8484
"-Wunused-function "
8585
"-Wuninitialized "
8686
"-Wmissing-declarations "
87+
"-Wno-deprecated-declarations "
8788
)
8889
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${WARNING_FLAGS}")
8990
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${WARNING_FLAGS}")
@@ -195,19 +196,6 @@ file(GLOB MAIN_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h")
195196
file(GLOB SUPPORT_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/include/Support/*.h")
196197
file(GLOB CONFIG_HEADERS "${CMAKE_CURRENT_SOURCE_DIR}/include/Config/*.h")
197198

198-
if (0)
199-
set(ALL_HEADERS)
200-
foreach(HEADER ${MAIN_HEADERS})
201-
list(APPEND ALL_HEADERS ${HEADER})
202-
endforeach()
203-
foreach(HEADER ${SUPPORT_HEADERS})
204-
list(APPEND ALL_HEADERS ${HEADER})
205-
endforeach()
206-
foreach(HEADER ${CONFIG_HEADERS})
207-
list(APPEND ALL_HEADERS ${HEADER})
208-
endforeach()
209-
endif()
210-
211199
set_target_properties(DPCTLSyclInterface
212200
PROPERTIES PUBLIC_HEADER
213201
"${MAIN_HEADERS}"
@@ -225,6 +213,10 @@ install(TARGETS
225213
DPCTLSyclInterface
226214
LIBRARY
227215
DESTINATION ${_lib_destination}
216+
ARCHIVE
217+
DESTINATION ${_lib_destination}
218+
RUNTIME
219+
DESTINATION ${_lib_destination}
228220
PUBLIC_HEADER
229221
DESTINATION ${_include_destination}
230222
)

0 commit comments

Comments
 (0)