diff --git a/Applications/TextEditor/CMakeLists.txt b/Applications/TextEditor/CMakeLists.txt index 1feb0ae1838..19820b5ffbf 100644 --- a/Applications/TextEditor/CMakeLists.txt +++ b/Applications/TextEditor/CMakeLists.txt @@ -1,14 +1,10 @@ +compile_json_gui(MainWindow.json MainWindowUI.h main_window_ui_json) + set(SOURCES main.cpp TextEditorWidget.cpp MainWindowUI.h ) -add_custom_command( - OUTPUT MainWindowUI.h - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/MainWindow.json - COMMAND ${write_if_different} MainWindowUI.h ${CMAKE_SOURCE_DIR}/Meta/text-to-cpp-string.sh main_window_ui_json ${CMAKE_CURRENT_SOURCE_DIR}/MainWindow.json -) - serenity_bin(TextEditor) target_link_libraries(TextEditor LibWeb LibMarkdown LibGUI LibDesktop) diff --git a/CMakeLists.txt b/CMakeLists.txt index bcd2efffeec..4d0e5a104eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -137,6 +137,19 @@ function(serenity_bin target_name) serenity_generated_sources(${target_name}) endfunction() +function(compile_json_gui source output string_name) + set(source ${CMAKE_CURRENT_SOURCE_DIR}/${source}) + add_custom_command( + OUTPUT ${output} + COMMAND ${write_if_different} ${output} ${CMAKE_SOURCE_DIR}/Meta/text-to-cpp-string.sh ${string_name} ${source} + VERBATIM + DEPENDS ${CMAKE_SOURCE_DIR}/Meta/text-to-cpp-string.sh + MAIN_DEPENDENCY ${source} + ) + get_filename_component(output_name ${output} NAME) + add_custom_target(generate_${output_name} DEPENDS ${output}) +endfunction() + function(compile_ipc source output) set(source ${CMAKE_CURRENT_SOURCE_DIR}/${source}) add_custom_command(