Skip to content

Commit e606c57

Browse files
committed
Merge bitcoin#31899: cmake: Exclude generated sources from translation
ff4ddd3 Revert "cmake: Ensure generated sources are up to date for `translate` target" (Hennadii Stepanov) 03b3166 cmake: Exclude generated sources from translation (Hennadii Stepanov) Pull request description: This PR fixes an error encountered when building the `translate` target: ``` $ gmake -j $(nproc) -C depends MULTIPROCESS=1 $ cmake -G "Unix Makefiles" --preset dev-mode --toolchain depends/x86_64-pc-linux-gnu/toolchain.cmake -DWITH_USDT=OFF $ cmake --build build_dev_mode -t translate gmake[3]: *** No rule to make target 'src/test/ipc_test.capnp.c++', needed by 'src/qt/CMakeFiles/translate'. Stop. gmake[2]: *** [CMakeFiles/Makefile2:1646: src/qt/CMakeFiles/translate.dir/all] Error 2 gmake[1]: *** [CMakeFiles/Makefile2:1653: src/qt/CMakeFiles/translate.dir/rule] Error 2 gmake: *** [Makefile:699: translate] Error 2 ``` The previous [attempt](bitcoin@864386a) to address this issue worked only with Ninja generators and has been reverted. Essentially, this PR modifies the `translate` target so that it ignores generated sources rather than attempting to update them. At present, multiprocess-specific sources do not contain any translatable strings. Nonetheless, it is prudent to maintain a general approach. ACKs for top commit: TheCharlatan: ACK ff4ddd3 pablomartin4btc: tACK ff4ddd3 Tree-SHA512: 6471498a33b145e073f76bd007591b0449e5d520f141c3e3afeca02a09c160fd0f572ec7172dd84703cdc2a1175ad8f3c91e8b0bf705d671338d760786765f56
2 parents fd14995 + ff4ddd3 commit e606c57

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/qt/CMakeLists.txt

+7-2
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,13 @@ function(get_translatable_sources var)
288288
get_target_property(target_source_dir ${target} SOURCE_DIR)
289289
cmake_path(APPEND target_source_dir ${source} OUTPUT_VARIABLE source)
290290
endif()
291-
list(APPEND result ${source})
291+
get_property(is_generated
292+
SOURCE ${source} TARGET_DIRECTORY ${target}
293+
PROPERTY GENERATED
294+
)
295+
if(NOT is_generated)
296+
list(APPEND result ${source})
297+
endif()
292298
endforeach()
293299
endif()
294300
endforeach()
@@ -319,7 +325,6 @@ else()
319325
COMMAND Qt5::lconvert -drop-translations -o ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf -i ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.ts
320326
COMMAND ${SED_EXECUTABLE} -i.old -e "s|source-language=\"en\" target-language=\"en\"|source-language=\"en\"|" -e "/<target xml:space=\"preserve\"><\\/target>/d" ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf
321327
COMMAND ${CMAKE_COMMAND} -E rm ${CMAKE_CURRENT_SOURCE_DIR}/locale/bitcoin_en.xlf.old
322-
DEPENDS ${translatable_sources}
323328
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src
324329
VERBATIM
325330
)

0 commit comments

Comments
 (0)