diff --git a/CMakeLists.txt b/CMakeLists.txt index d161def836..19a0dbc499 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,27 +54,16 @@ set(build_types Release RelWithDebInfo Debug "") if(NOT "${CMAKE_BUILD_TYPE}" IN_LIST build_types) - message(WARNING "Unsupported build type ${CMAKE_BUILD_TYPE}. If this doesn't build, try one of Release, RelWithDebInfo or Debug") + message(WARNING "Unsupported build type ${CMAKE_BUILD_TYPE}. If this doesn't build, try one of Release, RelWithDebInfo or Debug") endif() # Define a function to build and link dependencies. function(CREATE_TARGET target) - add_custom_target( + add_custom_target( ${target} ALL COMMAND "${CMAKE_COMMAND}" -E - env ${VARS_FOR_CARGO} - ${Rust_CARGO} - build --bin ${target} - $<$:--release> - $<$:--profile=release-with-debug> - --target ${Rust_CARGO_TARGET} - --no-default-features - --features=${FISH_CARGO_FEATURES} - ${CARGO_FLAGS} - && - "${CMAKE_COMMAND}" -E - copy "${rust_target_dir}/${rust_profile}/${target}" "${CMAKE_CURRENT_BINARY_DIR}" + copy "${FISH_RUST_BUILD_DIR}/${rust_profile}/${target}" "${CMAKE_CURRENT_BINARY_DIR}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" USES_TERMINAL ) diff --git a/cmake/Rust.cmake b/cmake/Rust.cmake index 1de0da5803..c92c1cc2af 100644 --- a/cmake/Rust.cmake +++ b/cmake/Rust.cmake @@ -1,7 +1,7 @@ include(FindRust) find_package(Rust REQUIRED) -set(FISH_RUST_BUILD_DIR "${CMAKE_BINARY_DIR}/cargo/build") +set(FISH_RUST_BUILD_DIR "${CMAKE_SOURCE_DIR}/target") list(APPEND FISH_CARGO_FEATURES_LIST "embed-data") @@ -20,8 +20,8 @@ set(rust_target_dir "${FISH_RUST_BUILD_DIR}/${Rust_CARGO_HOST_TARGET}") endif() -set(rust_profile $,debug,$,release-with-debug,release>>) -set(rust_debugflags "$<$:-g>$<$:-g>") +set(rust_profile $,debug,release>) +set(rust_debugflags $<$:-g>) option(WITH_GETTEXT "Build with gettext localization support. Requires `msgfmt` to work." ON) # Enable gettext feature unless explicitly disabled.