Bug#808739: yoshimi: FTBFS: Missing cmGeneratorTarget instance!

Rob Couto dbtx11 at gmail.com
Fri Jan 22 21:03:44 UTC 2016


In case it helps, here's a patch to apply the same workaround to
1.3.7.1. It's basically the same as the recent commit but with
different line numbers.

-- 
Rob
-------------- next part --------------
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f1cf0d0..c2f82df 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -217,18 +217,6 @@ else(READLINE_FOUND)
     message( FATAL_ERROR "Readline library not found! Please install development components (libreadline-dev)" )
 endif(READLINE_FOUND)
 
-set (GuiFluids
-    UI/WidgetPDialUI.fl  UI/PresetsUI.fl  UI/EnvelopeUI.fl
-    UI/LFOUI.fl  UI/FilterUI.fl  UI/VirKeyboardUI.fl
-    UI/ConfigUI.fl  UI/SUBnoteUI.fl  UI/ResonanceUI.fl
-    UI/OscilGenUI.fl  UI/ADnoteUI.fl  UI/PADnoteUI.fl
-    UI/EffUI.fl  UI/BankUI.fl  UI/PartUI.fl
-    UI/MicrotonalUI.fl  UI/MasterUI.fl    UI/MasterMiscUI.fl
-    UI/ParametersUI.fl UI/ConsoleUI.fl
-)
-
-fltk_wrap_ui (yoshimi ${GuiFluids})
-set_source_files_properties (UI/MasterUI.h PROPERTIES GENERATED 1)
 set (YOSHI_INCLUDES ${FLTK_INCLUDE_DIR})
 
 if (BuildForDebug)
@@ -292,6 +280,52 @@ set (MusicIO_sources
     MusicIO/JackAlsaClient.cpp  MusicIO/AlsaJackClient.cpp
 )
 
+set (FlGUI_sources
+    WidgetPDialUI.cpp  PresetsUI.cpp  EnvelopeUI.cpp
+    LFOUI.cpp  FilterUI.cpp  VirKeyboardUI.cpp
+    ConfigUI.cpp  SUBnoteUI.cpp  ResonanceUI.cpp
+    OscilGenUI.cpp  ADnoteUI.cpp  PADnoteUI.cpp
+    EffUI.cpp  BankUI.cpp  PartUI.cpp
+    MicrotonalUI.cpp  MasterUI.cpp MasterMiscUI.cpp
+    ParametersUI.cpp ConsoleUI.cpp
+)
+
+# mostly for make clean because cmake doesn't expect 2 files to come from 1 custom command
+set (FlGUI_headers
+    WidgetPDialUI.h  PresetsUI.h  EnvelopeUI.h
+    LFOUI.h  FilterUI.h  VirKeyboardUI.h
+    ConfigUI.h  SUBnoteUI.h  ResonanceUI.h
+    OscilGenUI.h  ADnoteUI.h  PADnoteUI.h
+    EffUI.h  BankUI.h  PartUI.h
+    MicrotonalUI.h  MasterUI.h MasterMiscUI.h
+    ParametersUI.h ConsoleUI.h
+)
+
+# workaround fltk_wrap_ui breakage
+add_custom_command(
+    OUTPUT ${FlGUI_sources}
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/WidgetPDialUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/PresetsUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/EnvelopeUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/LFOUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/FilterUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/VirKeyboardUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/ConfigUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/SUBnoteUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/ResonanceUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/OscilGenUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/ADnoteUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/PADnoteUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/EffUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/BankUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/PartUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/MicrotonalUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/MasterUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/MasterMiscUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/ParametersUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/UI/ConsoleUI.fl
+)
+
 add_definitions (
     -D'YOSHIMI_VERSION="${YOSHIMI_VERSION}"'
     -D'BASE_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}"'
@@ -395,7 +429,7 @@ set (ProgSources
     ${DSP_sources}
     ${Effects_sources}
     ${MusicIO_sources}
-    ${yoshimi_FLTK_UI_SRCS}
+    ${FlGUI_sources}
 )
 
 include_directories (AFTER
@@ -486,7 +520,7 @@ install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/../desktop/yoshimi.appdata.xml
     DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/appdata)
 
 set_directory_properties (PROPERTIES
-    ADDITIONAL_MAKE_CLEAN_FILES "${CMAKE_SOURCE_DIR}/*UI.c* ${CMAKE_SOURCE_DIR}/src/*UI.h"
+    ADDITIONAL_MAKE_CLEAN_FILES "${FlGUI_headers}"
 )
 
 add_custom_target (showversion
diff --git a/src/LV2_Plugin/CMakeLists.txt b/src/LV2_Plugin/CMakeLists.txt
index 889f3ce..b512a49 100644
--- a/src/LV2_Plugin/CMakeLists.txt
+++ b/src/LV2_Plugin/CMakeLists.txt
@@ -66,18 +66,52 @@ file (GLOB yoshimi_manifest_ttl
 file (GLOB yoshimi_plugin_ttl
     yoshimi.ttl)
 
-set (GuiFluids
-    ../UI/WidgetPDialUI.fl  ../UI/PresetsUI.fl  ../UI/EnvelopeUI.fl
-    ../UI/LFOUI.fl  ../UI/FilterUI.fl  ../UI/VirKeyboardUI.fl
-    ../UI/ConfigUI.fl  ../UI/SUBnoteUI.fl  ../UI/ResonanceUI.fl
-    ../UI/OscilGenUI.fl  ../UI/ADnoteUI.fl  ../UI/PADnoteUI.fl
-    ../UI/EffUI.fl  ../UI/BankUI.fl  ../UI/PartUI.fl
-    ../UI/MicrotonalUI.fl  ../UI/MasterUI.fl    ../UI/MasterMiscUI.fl
-    ../UI/ParametersUI.fl ../UI/ConsoleUI.fl
+# merely copied from top level
+set (FlGUI_sources
+    WidgetPDialUI.cpp  PresetsUI.cpp  EnvelopeUI.cpp
+    LFOUI.cpp  FilterUI.cpp  VirKeyboardUI.cpp
+    ConfigUI.cpp  SUBnoteUI.cpp  ResonanceUI.cpp
+    OscilGenUI.cpp  ADnoteUI.cpp  PADnoteUI.cpp
+    EffUI.cpp  BankUI.cpp  PartUI.cpp
+    MicrotonalUI.cpp  MasterUI.cpp MasterMiscUI.cpp
+    ParametersUI.cpp ConsoleUI.cpp
 )
 
-fltk_wrap_ui (yoshimi_lv2 ${GuiFluids})
-set_source_files_properties (../UI/MasterUI.h PROPERTIES GENERATED 1)
+# mostly for make clean because cmake doesn't expect 2 files to come from 1 custom command
+set (FlGUI_headers
+    WidgetPDialUI.h  PresetsUI.h  EnvelopeUI.h
+    LFOUI.h  FilterUI.h  VirKeyboardUI.h
+    ConfigUI.h  SUBnoteUI.h  ResonanceUI.h
+    OscilGenUI.h  ADnoteUI.h  PADnoteUI.h
+    EffUI.h  BankUI.h  PartUI.h
+    MicrotonalUI.h  MasterUI.h MasterMiscUI.h
+    ParametersUI.h ConsoleUI.h
+)
+
+# workaround fltk_wrap_ui breakage
+add_custom_command(
+    OUTPUT ${FlGUI_sources}
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/WidgetPDialUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/PresetsUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/EnvelopeUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/LFOUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/FilterUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/VirKeyboardUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/ConfigUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/SUBnoteUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/ResonanceUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/OscilGenUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/ADnoteUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/PADnoteUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/EffUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/BankUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/PartUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/MicrotonalUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/MasterUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/MasterMiscUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/ParametersUI.fl
+    COMMAND ${FLTK_FLUID_EXECUTABLE} ARGS -c -o .cpp ${CMAKE_CURRENT_SOURCE_DIR}/../UI/ConsoleUI.fl
+)
 
 add_definitions (-DYOSHIMI_LV2_PLUGIN=1)
 
@@ -91,7 +125,7 @@ add_library (yoshimi_lv2 MODULE
             ${yoshimi_params_files}
             ${yoshimi_synth_files}
             ${yoshimi_musicio_files}
-            ${yoshimi_lv2_FLTK_UI_SRCS})
+            ${FlGUI_sources})
 
 add_custom_target(yoshimi_lv2_ttl
                    COMMAND test -f ${yoshimi_manifest_ttl}
@@ -125,3 +159,5 @@ install (TARGETS yoshimi_lv2 DESTINATION ${CMAKE_INSTALL_PREFIX}/${LV2_INSTALL_D
 install (FILES ${yoshimi_manifest_ttl} ${yoshimi_plugin_ttl}
   DESTINATION ${CMAKE_INSTALL_PREFIX}/${LV2_INSTALL_DIR}/yoshimi.lv2
 )
+
+set_directory_properties(PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${FlGUI_headers}")


More information about the pkg-multimedia-maintainers mailing list