diff -r 7b8d96fc8799 -r d903f8d2395a tools/corrosion/generator/CMakeLists.txt --- a/tools/corrosion/generator/CMakeLists.txt Wed Sep 18 14:10:51 2024 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,64 +0,0 @@ -message(STATUS "Building CMake Generator for Corrosion - This may take a while") - -set(generator_src "${CMAKE_CURRENT_BINARY_DIR}/legacy_generator_src") -set(generator_destination "${CMAKE_CURRENT_BINARY_DIR}/legacy_generator") -set(generator_build_quiet "") - -file(MAKE_DIRECTORY "${generator_src}") -file(COPY src DESTINATION "${generator_src}") -if(Rust_VERSION VERSION_LESS "1.56") - message(STATUS "Corrosion Generator: Using Compatibility lock file, due to rust version less than 1.56") - file(COPY Compat.Cargo.lock Compat.Cargo.toml DESTINATION "${generator_src}") - file(RENAME "${generator_src}/Compat.Cargo.lock" "${generator_src}/Cargo.lock") - file(RENAME "${generator_src}/Compat.Cargo.toml" "${generator_src}/Cargo.toml") -else() - file(COPY Cargo.lock Cargo.toml DESTINATION "${generator_src}") -endif() - -# Using cargo install has the advantage of caching the build in the user .cargo directory, -# so likely the rebuild will be very cheap even after deleting the build directory. -execute_process( - COMMAND ${CMAKE_COMMAND} - -E env - # If the Generator is built at configure of a project (instead of being pre-installed) - # We don't want environment variables like `RUSTFLAGS` affecting the Generator build. - --unset=RUSTFLAGS - "CARGO_BUILD_RUSTC=${RUSTC_EXECUTABLE}" - "${CARGO_EXECUTABLE}" install - --path "." - --root "${generator_destination}" - --locked - ${_CORROSION_QUIET_OUTPUT_FLAG} - WORKING_DIRECTORY "${generator_src}" - RESULT_VARIABLE generator_build_failed -) -if(generator_build_failed) - message(FATAL_ERROR "Building CMake Generator for Corrosion - failed") -else() - message(STATUS "Building CMake Generator for Corrosion - done") -endif() -set(host_executable_suffix "") -if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Windows") - set(host_executable_suffix ".exe") -endif() - -set(_CORROSION_GENERATOR_EXE - "${generator_destination}/bin/corrosion-generator${host_executable_suffix}" -) - -add_executable(Corrosion::Generator IMPORTED GLOBAL) -set_property( - TARGET Corrosion::Generator - PROPERTY IMPORTED_LOCATION "${_CORROSION_GENERATOR_EXE}") - -if (CORROSION_DEV_MODE) - # If you're developing Corrosion, you want to make sure to re-configure whenever the - # generator changes. - file(GLOB_RECURSE _RUST_FILES CONFIGURE_DEPENDS generator/src/*.rs) - file(GLOB _CARGO_FILES CONFIGURE_DEPENDS generator/Cargo.*) - set_property( - DIRECTORY APPEND - PROPERTY CMAKE_CONFIGURE_DEPENDS - ${_RUST_FILES} ${_CARGO_FILES}) -endif() -