@@ -12,7 +12,7 @@ include(GNUInstallDirs)
1212# Perhaps this should permanently be OFF and users can build their own CppInterOp if they want to run the tests?
1313option (CPPJIT_ENABLE_CPPINTEROP_TESTS "enable CppInterOp tests" OFF )
1414set (CPPINTEROP_GIT_REPOSITORY "https://github.com/compiler-research/CppInterOp.git" CACHE STRING "" )
15- set (CPPINTEROP_GIT_TAG "8d624c621a4b95e36ff73ac708c85a768287478f " CACHE STRING "" )
15+ set (CPPINTEROP_GIT_TAG "9802d61921ad5688ae42e4e628d754fc1192244d " CACHE STRING "" )
1616set (CPPINTEROP_SOURCE_DIR "" CACHE PATH
1717 "Override default CppInterOp built by ExternalProject_Add, with a path to local CppInterOp source" )
1818
@@ -101,7 +101,10 @@ if(_python_platlib)
101101else ()
102102 set (CPPINTEROP_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX } " )
103103endif ()
104- set (CPPINTEROP_INSTALL_DIR "${CPPINTEROP_INSTALL_PREFIX} /cppjit/interop" )
104+
105+ # CppInterOp installs here; cppjit's own rules ship a subset, so the wheel
106+ # owns every installed file.
107+ set (CPPINTEROP_STAGE_DIR "${CMAKE_BINARY_DIR } /cppinterop-stage" )
105108
106109# Include cmake for CppInterOp config and build using ExternalProject.
107110include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/AddCppInterOp.cmake )
@@ -134,7 +137,7 @@ target_include_directories(cppjit PRIVATE
134137 ${CMAKE_CURRENT_SOURCE_DIR } /src
135138 ${CMAKE_CURRENT_SOURCE_DIR } /src/cpyrt
136139 ${CMAKE_CURRENT_SOURCE_DIR } /src/interop
137- ${CPPINTEROP_INSTALL_DIR } /include
140+ ${CPPINTEROP_STAGE_DIR } /include
138141 ${Python_INCLUDE_DIRS}
139142)
140143
@@ -164,17 +167,12 @@ install(TARGETS cppjit
164167 LIBRARY DESTINATION cppjit
165168)
166169
167- # install CppInterOp libraries and headers
168- install (CODE "
169- file(GLOB _interop_libs \" ${CPPINTEROP_INSTALL_DIR} /lib/libclangCppInterOp*\" )
170- foreach(_lib \$ {_interop_libs})
171- file(INSTALL \$ {_lib} DESTINATION \$ {CMAKE_INSTALL_PREFIX}/cppjit/interop/lib)
172- endforeach()
173- " )
174-
175- install (CODE "
176- file(INSTALL \" ${CPPINTEROP_INSTALL_DIR} /include/\" DESTINATION \$ {CMAKE_INSTALL_PREFIX}/cppjit/interop/include)
177- " )
170+ install (DIRECTORY "${CPPINTEROP_STAGE_DIR} /lib/"
171+ DESTINATION cppjit/interop/lib
172+ )
173+ install (DIRECTORY "${CPPINTEROP_STAGE_DIR} /include/"
174+ DESTINATION cppjit/interop/include
175+ )
178176
179177# ship the builtin headers of the build clang, laid out as a headers-only
180178# resource dir: only include/ ships
0 commit comments