diff --git a/.github/workflows/build-nightly-release.yaml b/.github/workflows/build-nightly-release.yaml index 7bb46a22e6..5017d96691 100644 --- a/.github/workflows/build-nightly-release.yaml +++ b/.github/workflows/build-nightly-release.yaml @@ -43,6 +43,8 @@ jobs: name: Build on Linux x86-64 needs: [setup] uses: ./.github/workflows/build-wheel-linux-x86_64.yaml + with: + build_dev_package: true linux-aarch: if: ${{ inputs.build-linux-arm }} @@ -54,6 +56,8 @@ jobs: name: Build on macOS arm64 needs: [setup] uses: ./.github/workflows/build-wheel-macos-arm64.yaml + with: + build_dev_package: true upload: name: Prepare & Upload wheels to TestPyPI @@ -67,6 +71,7 @@ jobs: - name: Download wheels uses: actions/download-artifact@v4 with: + pattern: "*wheel*" merge-multiple: true path: dist diff --git a/.github/workflows/build-wheel-linux-x86_64.yaml b/.github/workflows/build-wheel-linux-x86_64.yaml index bc3b804872..f4865b71be 100644 --- a/.github/workflows/build-wheel-linux-x86_64.yaml +++ b/.github/workflows/build-wheel-linux-x86_64.yaml @@ -38,6 +38,11 @@ on: required: false default: 'main' type: string + build_dev_package: + description: 'Build and upload the catalyst-dev archives' + required: false + default: false + type: boolean concurrency: group: Build Catalyst Wheel on Linux (x86_64)-${{ github.ref }} @@ -397,6 +402,24 @@ jobs: cmake --build $GITHUB_WORKSPACE/quantum-build --target check-dialects catalyst-cli + # Package the Catalyst MLIR development subsystem (headers, static libs, CMake config). + # Only build once per platform (primary Python version) since the archive is Python-agnostic. + - name: Package catalyst-dev (CPack) + if: inputs.build_dev_package && matrix.python_version == needs.constants.outputs.primary_python_version + run: | + cd $GITHUB_WORKSPACE/quantum-build + cpack + + - name: Upload catalyst-dev Archive + if: inputs.build_dev_package && matrix.python_version == needs.constants.outputs.primary_python_version + uses: actions/upload-artifact@v4 + with: + name: catalyst-dev_Linux_x86_64 + path: | + ${{ github.workspace }}/quantum-build/catalyst-dev_Linux_x86_64*.tar.gz + retention-days: 14 + if-no-files-found: error + - name: Build Plugin wheel # Run only on Thursday at the given time if: env.BUILD_STANDALONE_PLUGIN == 'true' diff --git a/.github/workflows/build-wheel-macos-arm64.yaml b/.github/workflows/build-wheel-macos-arm64.yaml index ed8a5b7c40..7810478e16 100644 --- a/.github/workflows/build-wheel-macos-arm64.yaml +++ b/.github/workflows/build-wheel-macos-arm64.yaml @@ -36,6 +36,11 @@ on: required: false default: 'main' type: string + build_dev_package: + description: 'Build and upload the catalyst-dev archives' + required: false + default: false + type: boolean env: MACOSX_DEPLOYMENT_TARGET: 15.0 @@ -376,6 +381,24 @@ jobs: # xcode builds significantly slower when multithreaded cmake --build $GITHUB_WORKSPACE/quantum-build --target check-dialects catalyst-cli -- -j 1 + # Package the Catalyst MLIR development subsystem (headers, static libs, CMake config). + # Only build once per platform (primary Python version) since the archive is Python-agnostic. + - name: Package catalyst-dev (CPack) + if: inputs.build_dev_package && matrix.python_version == needs.constants.outputs.primary_python_version + run: | + cd $GITHUB_WORKSPACE/quantum-build + cpack + + - name: Upload catalyst-dev Archive + if: inputs.build_dev_package && matrix.python_version == needs.constants.outputs.primary_python_version + uses: actions/upload-artifact@v4 + with: + name: catalyst-dev_macos_arm64 + path: | + ${{ github.workspace }}/quantum-build/catalyst-dev_Darwin_arm64*.tar.gz + retention-days: 14 + if-no-files-found: error + - name: Build Plugin wheel # Run only on Thursday at the given time if: env.BUILD_STANDALONE_PLUGIN == 'true' diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt index 699423c368..32fb77cd06 100644 --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -75,7 +75,7 @@ foreach(STABLEHLO_LIB IN LISTS STABLEHLO_LIBS) ) endforeach() -add_library(ExternalStablehloLib INTERFACE) +add_library(ExternalStablehloLib INTERFACE IMPORTED GLOBAL) foreach(STABLEHLO_LIB IN LISTS STABLEHLO_LIBS) target_link_libraries(ExternalStablehloLib INTERFACE ${STABLEHLO_LIB}) @@ -280,3 +280,92 @@ endif() if(NOT CATALYST_DOCS_ONLY) add_subdirectory(test) endif() + + +################################################################### +## Generate a Catalyst Development Package for External Projects ## +################################################################### + +include(GNUInstallDirs) + +# Re-fetch the exported targets and strip the same third-party ones the +# build-tree export already excludes (see cmake/modules/CMakeLists.txt). +get_property(CATALYST_INSTALL_TARGETS GLOBAL PROPERTY MLIR_EXPORTS) +set(TARGETS_TO_REMOVE + nlohmann_json + tomlplusplus_tomlplusplus + ion-transforms + CatalystCompilerDriver + PBCUtils + QuantumCAPI + pbc-transforms + quantum-transforms # depends on decompsolver, which depends on boost; exclude + decompsolver # depends on boost; exclude + ) +list(REMOVE_ITEM CATALYST_INSTALL_TARGETS ${TARGETS_TO_REMOVE}) + +# Static archives, shared libs, and any runtime artifacts from the dialects, +# transforms and utils. INCLUDES DESTINATION records the include path in the +# exported targets so consumers get it transitively. +# We use `COMPONENT catalyst-dev` since `add_mlir_public_c_api_library(QuantumCAPI ...) +# auto-generates its own install rule that we want to bypass. +install(TARGETS ${CATALYST_INSTALL_TARGETS} + EXPORT CatalystTargets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT catalyst-dev + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT catalyst-dev + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT catalyst-dev + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + +# Install license to share/doc/Catalyst/LICENSE +install(FILES "${PROJECT_SOURCE_DIR}/../LICENSE" + DESTINATION "${CMAKE_INSTALL_DOCDIR}" + COMPONENT catalyst-dev) + +# Tools (binaries). These are usually not in MLIR_EXPORTS, so install by name. +# NOTE: We use the catalyst-bin component for tools to exclude from catalyst-dev. +if(NOT CATALYST_DOCS_ONLY) + # Need to wrap in `if(NOT CATALYST_DOCS_ONLY)` since `add_subdirectory(tools)` + # is also conditional on this predicate + install(TARGETS catalyst-cli quantum-opt quantum-lsp-server + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT catalyst-bin) +endif() + +# Hand-written headers (*.h and the *.td that TableGen consumers may want). +install(DIRECTORY ${CATALYST_MAIN_INCLUDE_DIR}/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + COMPONENT catalyst-dev + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.td" + PATTERN "*.capi.h.inc") + +# TableGen-generated headers (*.h.inc, *.cpp.inc) AND the generated +# frontend_catalyst_version_py.h all live under the build-tree include dir. +install(DIRECTORY ${CATALYST_GEN_INCLUDE_DIR}/ + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + COMPONENT catalyst-dev + FILES_MATCHING + PATTERN "*.h" + PATTERN "*.h.inc" + PATTERN "*.cpp.inc" + PATTERN "CMakeFiles" EXCLUDE) + +# Bundle the StableHLO static archives that Catalyst links against. +install(DIRECTORY "${STABLEHLO_BUILD_DIR}/lib/" + DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT catalyst-dev + FILES_MATCHING PATTERN "lib*.a") + +set(CPACK_PACKAGE_NAME "catalyst-dev") +set(CPACK_PACKAGE_VERSION "${CATALYST_PACKAGE_VERSION}") +set(CPACK_PACKAGE_VENDOR "Xanadu Quantum Technologies Inc.") +set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/../LICENSE") +set(CPACK_GENERATOR "TGZ") +set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}_${CMAKE_SYSTEM_NAME}_${CMAKE_SYSTEM_PROCESSOR}_${CATALYST_PACKAGE_VERSION}") +set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) +set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY ON) # extracts into catalyst-dev-/ +set(CPACK_COMPONENTS_ALL catalyst-dev) # only catalyst-dev component +set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE) # single archive, no per-component split + +message(STATUS "Preparing CPack package ${CPACK_PACKAGE_FILE_NAME}") +include(CPack) diff --git a/mlir/Makefile b/mlir/Makefile index d0e643ee6b..1bf24546c0 100644 --- a/mlir/Makefile +++ b/mlir/Makefile @@ -11,11 +11,17 @@ LLVM_BUILD_DIR ?= $(MK_DIR)/llvm-project/build STABLEHLO_BUILD_DIR ?= $(MK_DIR)/stablehlo/build ENZYME_BUILD_DIR ?= $(MK_DIR)/Enzyme/build RT_BUILD_DIR ?= $(MK_DIR)/../runtime/build +DIST_DIR ?= $(MK_DIR)/dist ENABLE_ASAN ?= OFF STRICT_WARNINGS ?= ON BUILD_TYPE ?= Release LLVM_EXTERNAL_LIT ?= $(LLVM_BUILD_DIR)/bin/llvm-lit LLVM_TARGETS_TO_BUILD ?= host +LLVM_INSTALL_STAGING_DIR ?= $(LLVM_BUILD_DIR)/install +LLVM_DISTRIBUTION_COMPONENTS ?= $\ + "cmake-exports;llvm-headers;llvm-libraries;$\ + mlir-cmake-exports;mlir-headers;mlir-libraries;$\ + FileCheck;llvm-tblgen;llvm-config;mlir-tblgen;not;count" ifeq ($(shell uname), Darwin) DEFAULT_ENABLE_LLD := OFF @@ -49,6 +55,8 @@ help: @echo " enzyme to build Enzyme" @echo " dialects to build custom Catalyst MLIR dialects" @echo " dialect-docs to build custom Catalyst MLIR dialect documentation" + @echo " pack-catalyst-dev to build the catalyst-dev package" + @echo " pack-mlir-dev to build the catalyst-mlir-dev package" @echo " test to run the Catalyst MLIR dialects test suite" @echo " clean to delete all temporary, cache, and build files" @echo " format [check=1] to apply C++ formatter; use with 'check=1' to check instead of modify (requires clang-format)" @@ -80,6 +88,9 @@ llvm: -DLLVM_ENABLE_PROJECTS="$(LLVM_PROJECTS)" \ -DLLVM_ENABLE_ASSERTIONS=ON \ -DMLIR_ENABLE_BINDINGS_PYTHON=ON \ + -DLLVM_INSTALL_UTILS=ON \ + -DLLVM_DISTRIBUTION_COMPONENTS=$(LLVM_DISTRIBUTION_COMPONENTS) \ + -DCMAKE_INSTALL_PREFIX=$(LLVM_INSTALL_STAGING_DIR) \ -DPython_EXECUTABLE=$(PYTHON) \ -DPython3_EXECUTABLE=$(PYTHON) \ -DPython3_NumPy_INCLUDE_DIRS=$$($(PYTHON) -c "import numpy as np; print(np.get_include())") \ @@ -220,6 +231,29 @@ dialect-docs: cmake --build $(DIALECTS_DOCS_BUILD_DIR) --target mlir-doc +.PHONY: pack-catalyst-dev +pack-catalyst-dev: dialects + + @echo "build the catalyst-dev package" + cd $(DIALECTS_BUILD_DIR) && cpack + mkdir -p $(DIST_DIR) + mv $(DIALECTS_BUILD_DIR)/catalyst-dev*.tar.gz $(DIST_DIR) + +# Get the LLVM version as, e.g. 22.0.0git-8f264586 +LLVM_VERSION := $(shell $(LLVM_INSTALL_STAGING_DIR)/bin/llvm-config --version) +LLVM_COMMIT := $(shell grep llvm ../.dep-versions | awk -F '=' '{ print $$2 }' | cut -c1-8) +LLVM_VERSION_FULL := $(LLVM_VERSION)-$(LLVM_COMMIT) + +.PHONY: pack-mlir-dev +pack-mlir-dev: llvm + + @echo "build the catalyst-mlir-dev package" + cmake --build $(LLVM_BUILD_DIR) --target install-distribution + tar -czf catalyst-mlir-dev_$(shell uname -s)_$(shell uname -m)_$(LLVM_VERSION_FULL).tar.gz \ + -C $(LLVM_INSTALL_STAGING_DIR) bin lib include + mkdir -p $(DIST_DIR) + mv catalyst-mlir-dev*.tar.gz $(DIST_DIR) + .PHONY: test test: @echo "test the Catalyst MLIR dialects test suite" diff --git a/mlir/cmake/modules/CMakeLists.txt b/mlir/cmake/modules/CMakeLists.txt index f2f98bb83b..c3fac05a45 100644 --- a/mlir/cmake/modules/CMakeLists.txt +++ b/mlir/cmake/modules/CMakeLists.txt @@ -28,7 +28,7 @@ set(llvm_cmake_builddir "${LLVM_BINARY_DIR}/${LLVM_INSTALL_PACKAGE_DIR}") get_property(MLIR_EXPORTS GLOBAL PROPERTY MLIR_EXPORTS) set(TARGETS_TO_REMOVE nlohmann_json tomlplusplus_tomlplusplus ion-transforms CatalystCompilerDriver PBCUtils QuantumCAPI pbc-transforms) list(REMOVE_ITEM MLIR_EXPORTS ${TARGETS_TO_REMOVE}) -export(TARGETS ${MLIR_EXPORTS} ExternalStablehloLib FILE ${catalyst_cmake_builddir}/CatalystTargets.cmake) +export(TARGETS ${MLIR_EXPORTS} FILE ${catalyst_cmake_builddir}/CatalystTargets.cmake) # Generate MlirConfig.cmake for the build tree. set(CATALYST_CONFIG_CMAKE_DIR "${catalyst_cmake_builddir}") @@ -48,3 +48,59 @@ configure_file( set(CATALYST_CONFIG_CMAKE_DIR) set(CATALYST_CONFIG_LLVM_CMAKE_DIR) set(CATALYST_CONFIG_INCLUDE_DIRS) + +include(GNUInstallDirs) +include(CMakePackageConfigHelpers) + +# --- version string, reused from frontend/catalyst/_version.py --- +find_package(Python3 REQUIRED COMPONENTS Interpreter) + +execute_process( + COMMAND + ${Python3_EXECUTABLE} -c + "import sys; \ + sys.path.append('${PROJECT_SOURCE_DIR}/../frontend/catalyst'); \ + from _version import __version__; \ + print(__version__)" + OUTPUT_VARIABLE CATALYST_PACKAGE_VERSION + ERROR_VARIABLE PARSE_CATALYST_VERSION_ERRORS + RESULT_VARIABLE PARSE_CATALYST_VERSION_RETURN_CODE + OUTPUT_STRIP_TRAILING_WHITESPACE +) + +if(NOT PARSE_CATALYST_VERSION_RETURN_CODE EQUAL 0) + message(FATAL_ERROR + "Failed to read Catalyst package version from file \ + ${PROJECT_SOURCE_DIR}/../frontend/catalyst/_version.py: \ + ${PARSE_CATALYST_VERSION_ERRORS}" + ) +endif() + +message(STATUS "Found Catalyst package version: ${CATALYST_PACKAGE_VERSION}") + +string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" CATALYST_NUMERIC_VERSION "${CATALYST_PACKAGE_VERSION}") + +write_basic_package_version_file( + "${catalyst_cmake_builddir}/CatalystConfigVersion.cmake" + VERSION ${CATALYST_NUMERIC_VERSION} + COMPATIBILITY SameMajorVersion) + +# --- install-tree config, generated from a *separate* template --- +set(CATALYST_INSTALL_TARGETS_LIST "${MLIR_EXPORTS}") # same list, minus removals +configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/CatalystConfig.install.cmake.in + "${catalyst_cmake_builddir}/install/CatalystConfig.cmake" + INSTALL_DESTINATION ${CATALYST_INSTALL_PACKAGE_DIR} + PATH_VARS CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR) + +# --- install the export set + configs --- +install(EXPORT CatalystTargets + FILE CatalystTargets.cmake + DESTINATION ${CATALYST_INSTALL_PACKAGE_DIR} + COMPONENT catalyst-dev) + +install(FILES + "${catalyst_cmake_builddir}/install/CatalystConfig.cmake" + "${catalyst_cmake_builddir}/CatalystConfigVersion.cmake" + DESTINATION ${CATALYST_INSTALL_PACKAGE_DIR} + COMPONENT catalyst-dev) diff --git a/mlir/cmake/modules/CatalystConfig.cmake.in b/mlir/cmake/modules/CatalystConfig.cmake.in index f6745ef324..cc91747c88 100644 --- a/mlir/cmake/modules/CatalystConfig.cmake.in +++ b/mlir/cmake/modules/CatalystConfig.cmake.in @@ -22,3 +22,25 @@ set(CATALYST_INCLUDE_DIRS "@CATALYST_CONFIG_INCLUDE_DIRS@") # Provide all our library targets to users. @CATALYST_CONFIG_INCLUDE_EXPORTS@ + +# --- rebuild ExternalStablehloLib for build-tree consumers --- +if(NOT TARGET ExternalStablehloLib) + add_library(ExternalStablehloLib INTERFACE IMPORTED) + + set(_shlo_libs ChloCAPI ChloOps StablehloAssemblyFormat StablehloBase + StablehloBroadcastUtils StablehloBroadcastLowering StablehloCAPI + StablehloLinalgTransforms StablehloOps StablehloOptimizationPasses + StablehloPasses StablehloPassUtils StablehloRegister + StablehloTypeConversion StablehloTypeInference Version + VhloCAPI VhloOps VhloTypes) + + foreach(_l IN LISTS _shlo_libs) + if(NOT TARGET ${_l}) + add_library(${_l} STATIC IMPORTED) + set_target_properties(${_l} PROPERTIES + IMPORTED_LOCATION "@STABLEHLO_BUILD_DIR@/lib/lib${_l}.a") + endif() + set_property(TARGET ExternalStablehloLib APPEND + PROPERTY INTERFACE_LINK_LIBRARIES ${_l}) + endforeach() +endif() diff --git a/mlir/cmake/modules/CatalystConfig.install.cmake.in b/mlir/cmake/modules/CatalystConfig.install.cmake.in new file mode 100644 index 0000000000..4779313b3c --- /dev/null +++ b/mlir/cmake/modules/CatalystConfig.install.cmake.in @@ -0,0 +1,34 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) +find_dependency(MLIR) + +set_and_check(CATALYST_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") +set_and_check(CATALYST_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_LIBDIR@") + +# Reconstruct the bundled StableHLO interface target. +if(NOT TARGET ExternalStablehloLib) + add_library(ExternalStablehloLib INTERFACE IMPORTED) + + set(_shlo_libs ChloCAPI ChloOps StablehloAssemblyFormat StablehloBase + StablehloBroadcastUtils StablehloBroadcastLowering StablehloCAPI + StablehloLinalgTransforms StablehloOps StablehloOptimizationPasses + StablehloPasses StablehloPassUtils StablehloRegister + StablehloTypeConversion StablehloTypeInference Version + VhloCAPI VhloOps VhloTypes) + + foreach(_l IN LISTS _shlo_libs) + if(NOT TARGET ${_l}) + add_library(${_l} STATIC IMPORTED) + set_target_properties(${_l} PROPERTIES + IMPORTED_LOCATION "${CATALYST_LIBRARY_DIR}/lib${_l}.a") + endif() + set_property(TARGET ExternalStablehloLib APPEND + PROPERTY INTERFACE_LINK_LIBRARIES ${_l}) + endforeach() +endif() + +include("${CMAKE_CURRENT_LIST_DIR}/CatalystTargets.cmake") + +set(CATALYST_EXPORTED_TARGETS "@CATALYST_INSTALL_TARGETS_LIST@") +check_required_components(Catalyst) diff --git a/mlir/lib/Catalyst/Analysis/CMakeLists.txt b/mlir/lib/Catalyst/Analysis/CMakeLists.txt index f8d3b47428..bdce81bf4a 100644 --- a/mlir/lib/Catalyst/Analysis/CMakeLists.txt +++ b/mlir/lib/Catalyst/Analysis/CMakeLists.txt @@ -16,6 +16,8 @@ set(LIBS add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS}) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/Catalyst/Transforms/CMakeLists.txt b/mlir/lib/Catalyst/Transforms/CMakeLists.txt index bb794d3b4c..c9690ba27d 100644 --- a/mlir/lib/Catalyst/Transforms/CMakeLists.txt +++ b/mlir/lib/Catalyst/Transforms/CMakeLists.txt @@ -43,6 +43,8 @@ set(DEPENDS add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS ${DEPENDS}) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/Gradient/Transforms/CMakeLists.txt b/mlir/lib/Gradient/Transforms/CMakeLists.txt index 572a1217bc..9fcc61ec8f 100644 --- a/mlir/lib/Gradient/Transforms/CMakeLists.txt +++ b/mlir/lib/Gradient/Transforms/CMakeLists.txt @@ -35,6 +35,8 @@ set(DEPENDS add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS ${DEPENDS}) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/Ion/Transforms/CMakeLists.txt b/mlir/lib/Ion/Transforms/CMakeLists.txt index 59468e4a55..768af4be67 100644 --- a/mlir/lib/Ion/Transforms/CMakeLists.txt +++ b/mlir/lib/Ion/Transforms/CMakeLists.txt @@ -45,9 +45,11 @@ set(DEPENDS add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS ${DEPENDS}) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) target_link_libraries(${LIBRARY_NAME} PRIVATE tomlplusplus::tomlplusplus diff --git a/mlir/lib/MBQC/Transforms/CMakeLists.txt b/mlir/lib/MBQC/Transforms/CMakeLists.txt index 9b9ea4dd8f..07d70ba648 100644 --- a/mlir/lib/MBQC/Transforms/CMakeLists.txt +++ b/mlir/lib/MBQC/Transforms/CMakeLists.txt @@ -20,6 +20,8 @@ set(DEPENDS add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS ${DEPENDS}) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/Mitigation/Transforms/CMakeLists.txt b/mlir/lib/Mitigation/Transforms/CMakeLists.txt index 2af124cd74..73d0b21595 100644 --- a/mlir/lib/Mitigation/Transforms/CMakeLists.txt +++ b/mlir/lib/Mitigation/Transforms/CMakeLists.txt @@ -21,6 +21,8 @@ set(DEPENDS add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS ${DEPENDS}) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/PBC/Transforms/CMakeLists.txt b/mlir/lib/PBC/Transforms/CMakeLists.txt index f0ec206ce3..6984088448 100644 --- a/mlir/lib/PBC/Transforms/CMakeLists.txt +++ b/mlir/lib/PBC/Transforms/CMakeLists.txt @@ -59,6 +59,8 @@ set_source_files_properties( endif() target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/PauliFrame/Transforms/CMakeLists.txt b/mlir/lib/PauliFrame/Transforms/CMakeLists.txt index 7556802b3c..b74d7f89bd 100644 --- a/mlir/lib/PauliFrame/Transforms/CMakeLists.txt +++ b/mlir/lib/PauliFrame/Transforms/CMakeLists.txt @@ -22,6 +22,8 @@ add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/QRef/Transforms/CMakeLists.txt b/mlir/lib/QRef/Transforms/CMakeLists.txt index 4be9bd0d6d..a3646548af 100644 --- a/mlir/lib/QRef/Transforms/CMakeLists.txt +++ b/mlir/lib/QRef/Transforms/CMakeLists.txt @@ -22,6 +22,8 @@ add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/QecPhysical/Transforms/CMakeLists.txt b/mlir/lib/QecPhysical/Transforms/CMakeLists.txt index 4b7afc95cd..b28b1559f6 100644 --- a/mlir/lib/QecPhysical/Transforms/CMakeLists.txt +++ b/mlir/lib/QecPhysical/Transforms/CMakeLists.txt @@ -28,6 +28,8 @@ add_mlir_library(${LIBRARY_NAME} STATIC ) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/Quantum/Transforms/CMakeLists.txt b/mlir/lib/Quantum/Transforms/CMakeLists.txt index ff73879814..21a63b6cf7 100644 --- a/mlir/lib/Quantum/Transforms/CMakeLists.txt +++ b/mlir/lib/Quantum/Transforms/CMakeLists.txt @@ -61,10 +61,11 @@ add_mlir_library(${LIBRARY_NAME} STATIC ) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include - AdjointLowering/ - GraphDecomposition/ - GraphDecomposition/DecompGraphSolver/ + $ + $ + $ + $ + $ + $ + $ ) diff --git a/mlir/lib/RTIO/Transforms/CMakeLists.txt b/mlir/lib/RTIO/Transforms/CMakeLists.txt index a2a7c4edc1..96935ccac3 100644 --- a/mlir/lib/RTIO/Transforms/CMakeLists.txt +++ b/mlir/lib/RTIO/Transforms/CMakeLists.txt @@ -22,6 +22,8 @@ set(DEPENDS add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS ${DEPENDS}) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/Test/Transforms/CMakeLists.txt b/mlir/lib/Test/Transforms/CMakeLists.txt index 7df4fc2cd5..0c18147953 100644 --- a/mlir/lib/Test/Transforms/CMakeLists.txt +++ b/mlir/lib/Test/Transforms/CMakeLists.txt @@ -6,6 +6,8 @@ add_mlir_library(MLIRCatalystTest ) target_include_directories(MLIRCatalystTest PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +) diff --git a/mlir/lib/hlo-extensions/Transforms/CMakeLists.txt b/mlir/lib/hlo-extensions/Transforms/CMakeLists.txt index d483476a62..9954a152e1 100644 --- a/mlir/lib/hlo-extensions/Transforms/CMakeLists.txt +++ b/mlir/lib/hlo-extensions/Transforms/CMakeLists.txt @@ -27,6 +27,8 @@ set(DEPENDS add_mlir_library(${LIBRARY_NAME} STATIC ${SRC} LINK_LIBS PRIVATE ${LIBS} DEPENDS ${DEPENDS}) target_compile_features(${LIBRARY_NAME} PUBLIC cxx_std_20) target_include_directories(${LIBRARY_NAME} PUBLIC - . - ${PROJECT_SOURCE_DIR}/include - ${CMAKE_BINARY_DIR}/include) + $ + $ + $ + $ +)