@@ -64,17 +64,12 @@ if (NOT RUSTC_LLVM_VERSION STREQUAL LLVM_PACKAGE_VERSION)
6464endif ()
6565
6666include (${CMAKE_CURRENT_SOURCE_DIR } /cmake/rust-toolchain.cmake )
67-
68- # rule-preprocessor uses nightly
69- foreach (_dir libcc2rs rules)
70- write_rust_toolchain (${CMAKE_SOURCE_DIR } /${_dir} )
71- endforeach ()
72-
7367set (RUST_STAMP_FILE "${CMAKE_BINARY_DIR } /.rust-toolchain.stamp" )
7468
7569add_custom_command (
7670 OUTPUT "${RUST_STAMP_FILE} "
7771 COMMAND rustup toolchain install ${RUST_STABLE_VERSION}
72+ COMMAND rustup toolchain install ${RUST_NIGHTLY_VERSION} --component rustc-dev --component llvm-tools
7873 COMMAND ${CMAKE_COMMAND } -E touch "${RUST_STAMP_FILE} "
7974 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR } /cmake/rust-toolchain.cmake"
8075 USES_TERMINAL
@@ -95,18 +90,18 @@ set(PYTHON_SOURCES ${PROJECT_SOURCE_DIR}/tests/lit/lit/formats/Cpp2RustTest.py)
9590
9691add_custom_target ("format"
9792 COMMAND ${CLANG_FORMAT} -i ${ALL_CXX_SOURCES}
98- COMMAND rustup run ${RUST_STABLE_VERSION} cargo fmt --manifest-path ${PROJECT_SOURCE_DIR } /rules/Cargo.toml
99- COMMAND rustup run ${RUST_STABLE_VERSION} cargo fmt --manifest-path ${PROJECT_SOURCE_DIR } /rule-preprocessor/Cargo.toml
100- COMMAND rustup run ${RUST_STABLE_VERSION} cargo fmt --manifest-path ${PROJECT_SOURCE_DIR } /libcc2rs/Cargo.toml
101- COMMAND rustup run ${RUST_STABLE_VERSION} cargo fmt --manifest-path ${PROJECT_SOURCE_DIR } /libcc2rs-macros/Cargo.toml
102- COMMAND ${ CMAKE_COMMAND } -E chdir ${ PROJECT_SOURCE_DIR } /rules
103- cargo clippy --fix --allow-dirty --allow-staged --all-targets --all-features -- -Dwarnings
104- COMMAND ${ CMAKE_COMMAND } -E chdir ${ PROJECT_SOURCE_DIR } /rule-preprocessor
105- cargo clippy --fix --allow-dirty --allow-staged --all-targets --all-features -- -Dwarnings
106- COMMAND ${ CMAKE_COMMAND } -E chdir ${ PROJECT_SOURCE_DIR } /libcc2rs
107- cargo clippy --fix --allow-dirty --allow-staged --all-targets --all-features -- -Dwarnings
108- COMMAND ${ CMAKE_COMMAND } -E chdir ${ PROJECT_SOURCE_DIR } /libcc2rs-macros
109- cargo clippy --fix --allow-dirty --allow-staged --all-targets --all-features -- -Dwarnings
93+ COMMAND cargo + ${RUST_STABLE_VERSION} fmt --manifest-path ${PROJECT_SOURCE_DIR } /rules/Cargo.toml
94+ COMMAND cargo + ${RUST_STABLE_VERSION} --manifest-path ${PROJECT_SOURCE_DIR } /rule-preprocessor/Cargo.toml
95+ COMMAND cargo + ${RUST_STABLE_VERSION} fmt --manifest-path ${PROJECT_SOURCE_DIR } /libcc2rs/Cargo.toml
96+ COMMAND cargo + ${RUST_STABLE_VERSION} fmt --manifest-path ${PROJECT_SOURCE_DIR } /libcc2rs-macros/Cargo.toml
97+ COMMAND cargo +${RUST_STABLE_VERSION} clippy --fix --allow-dirty --allow-staged --all-targets --all-features
98+ --manifest-path ${ PROJECT_SOURCE_DIR } /rules/Cargo.toml -- -Dwarnings
99+ COMMAND cargo +${RUST_STABLE_VERSION} clippy --fix --allow-dirty --allow-staged --all-targets --all-features
100+ --manifest-path chdir ${ PROJECT_SOURCE_DIR } /rule-preprocessor/Cargo.toml -- -Dwarnings
101+ COMMAND cargo +${RUST_STABLE_VERSION} clippy --fix --allow-dirty --allow-staged --all-targets --all-features
102+ --manifest-path $${PROJECT_SOURCE_DIR}/libcc2rs/Cargo.toml -- -Dwarnings
103+ COMMAND cargo +${RUST_STABLE_VERSION} clippy --fix --allow-dirty --allow-staged --all-targets --all-features
104+ --manifest-path ${ PROJECT_SOURCE_DIR } /libcc2rs-macros/Cargo.toml -- -Dwarnings
110105 COMMAND ${RUFF} --silent check --fix ${PYTHON_SOURCES}
111106 COMMAND ${RUFF} --silent format ${PYTHON_SOURCES}
112107 DEPENDS "${RUST_STAMP_FILE} "
@@ -119,7 +114,7 @@ if (NOT LIT_FLAGS)
119114endif ()
120115
121116add_custom_target ("check-libcc2rs"
122- COMMAND cargo test
117+ COMMAND cargo +${RUST_STABLE_VERSION} test
123118 WORKING_DIRECTORY "${PROJECT_SOURCE_DIR } /libcc2rs"
124119 DEPENDS "${RUST_STAMP_FILE} "
125120 USES_TERMINAL
@@ -188,12 +183,10 @@ file(GLOB_RECURSE rule_preprocessor_sources
188183
189184add_custom_command (
190185 OUTPUT ${rust_rules_ir_outputs}
191- COMMAND cargo build
192- COMMAND ${CMAKE_COMMAND } -E chdir ${PROJECT_SOURCE_DIR } /rule-preprocessor
193- ${CMAKE_COMMAND } -E env
194- CARGO_TARGET_DIR=${PROJECT_SOURCE_DIR}/rule-preprocessor/target
195- cargo run
196- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR } /rules"
186+ COMMAND cargo +${RUST_STABLE_VERSION} build --release --manifest-path "${PROJECT_SOURCE_DIR } /rules/Cargo.toml"
187+ COMMAND ${CMAKE_COMMAND } -E env
188+ CARGO_TARGET_DIR= "${CMAKE_CURRENT_BINARY_DIR } /target_preprocessor"
189+ cargo +${RUST_NIGHTLY_VERSION} run --manifest-path "${PROJECT_SOURCE_DIR } /rule-preprocessor/Cargo.toml"
197190 DEPENDS ${rust_rules_inputs} ${rule_preprocessor_sources} "${RUST_STAMP_FILE} "
198191 VERBATIM
199192)
0 commit comments