| @@ -130,7 +130,9 @@ function(dpf__build_jack NAME DGL_LIBRARY) | |||||
| return() | return() | ||||
| endif() | endif() | ||||
| dpf__add_executable("${NAME}-jack") | |||||
| dpf__create_dummy_source_list(_no_srcs) | |||||
| dpf__add_executable("${NAME}-jack" ${_no_srcs}) | |||||
| dpf__add_plugin_main("${NAME}-jack" "jack") | dpf__add_plugin_main("${NAME}-jack" "jack") | ||||
| dpf__add_ui_main("${NAME}-jack" "jack" "${DGL_LIBRARY}") | dpf__add_ui_main("${NAME}-jack" "jack" "${DGL_LIBRARY}") | ||||
| target_link_libraries("${NAME}-jack" PRIVATE "${NAME}-dsp" "${NAME}-ui") | target_link_libraries("${NAME}-jack" PRIVATE "${NAME}-dsp" "${NAME}-ui") | ||||
| @@ -149,7 +151,9 @@ endfunction() | |||||
| # Add build rules for a DSSI plugin. | # Add build rules for a DSSI plugin. | ||||
| # | # | ||||
| function(dpf__build_ladspa NAME) | function(dpf__build_ladspa NAME) | ||||
| dpf__add_module("${NAME}-ladspa") | |||||
| dpf__create_dummy_source_list(_no_srcs) | |||||
| dpf__add_module("${NAME}-ladspa" ${_no_srcs}) | |||||
| dpf__add_plugin_main("${NAME}-ladspa" "ladspa") | dpf__add_plugin_main("${NAME}-ladspa" "ladspa") | ||||
| target_link_libraries("${NAME}-ladspa" PRIVATE "${NAME}-dsp") | target_link_libraries("${NAME}-ladspa" PRIVATE "${NAME}-dsp") | ||||
| set_target_properties("${NAME}-ladspa" PROPERTIES | set_target_properties("${NAME}-ladspa" PROPERTIES | ||||
| @@ -172,7 +176,9 @@ function(dpf__build_dssi NAME DGL_LIBRARY) | |||||
| return() | return() | ||||
| endif() | endif() | ||||
| dpf__add_module("${NAME}-dssi") | |||||
| dpf__create_dummy_source_list(_no_srcs) | |||||
| dpf__add_module("${NAME}-dssi" ${_no_srcs}) | |||||
| dpf__add_plugin_main("${NAME}-dssi" "dssi") | dpf__add_plugin_main("${NAME}-dssi" "dssi") | ||||
| target_link_libraries("${NAME}-dssi" PRIVATE "${NAME}-dsp") | target_link_libraries("${NAME}-dssi" PRIVATE "${NAME}-dsp") | ||||
| set_target_properties("${NAME}-dssi" PROPERTIES | set_target_properties("${NAME}-dssi" PROPERTIES | ||||
| @@ -181,7 +187,7 @@ function(dpf__build_dssi NAME DGL_LIBRARY) | |||||
| PREFIX "") | PREFIX "") | ||||
| if(DGL_LIBRARY) | if(DGL_LIBRARY) | ||||
| dpf__add_executable("${NAME}-dssi-ui") | |||||
| dpf__add_executable("${NAME}-dssi-ui" ${_no_srcs}) | |||||
| dpf__add_ui_main("${NAME}-dssi-ui" "dssi" "${DGL_LIBRARY}") | dpf__add_ui_main("${NAME}-dssi-ui" "dssi" "${DGL_LIBRARY}") | ||||
| target_link_libraries("${NAME}-dssi-ui" PRIVATE "${NAME}-ui") | target_link_libraries("${NAME}-dssi-ui" PRIVATE "${NAME}-ui") | ||||
| set_target_properties("${NAME}-dssi-ui" PROPERTIES | set_target_properties("${NAME}-dssi-ui" PROPERTIES | ||||
| @@ -200,7 +206,9 @@ endfunction() | |||||
| # Add build rules for a LV2 plugin. | # Add build rules for a LV2 plugin. | ||||
| # | # | ||||
| function(dpf__build_lv2 NAME DGL_LIBRARY MONOLITHIC) | function(dpf__build_lv2 NAME DGL_LIBRARY MONOLITHIC) | ||||
| dpf__add_module("${NAME}-lv2") | |||||
| dpf__create_dummy_source_list(_no_srcs) | |||||
| dpf__add_module("${NAME}-lv2" ${_no_srcs}) | |||||
| dpf__add_plugin_main("${NAME}-lv2" "lv2") | dpf__add_plugin_main("${NAME}-lv2" "lv2") | ||||
| target_link_libraries("${NAME}-lv2" PRIVATE "${NAME}-dsp") | target_link_libraries("${NAME}-lv2" PRIVATE "${NAME}-dsp") | ||||
| set_target_properties("${NAME}-lv2" PROPERTIES | set_target_properties("${NAME}-lv2" PROPERTIES | ||||
| @@ -215,7 +223,7 @@ function(dpf__build_lv2 NAME DGL_LIBRARY MONOLITHIC) | |||||
| set_target_properties("${NAME}-lv2" PROPERTIES | set_target_properties("${NAME}-lv2" PROPERTIES | ||||
| OUTPUT_NAME "${NAME}") | OUTPUT_NAME "${NAME}") | ||||
| else() | else() | ||||
| dpf__add_module("${NAME}-lv2-ui") | |||||
| dpf__add_module("${NAME}-lv2-ui" ${_no_srcs}) | |||||
| dpf__add_ui_main("${NAME}-lv2-ui" "lv2" "${DGL_LIBRARY}") | dpf__add_ui_main("${NAME}-lv2-ui" "lv2" "${DGL_LIBRARY}") | ||||
| target_link_libraries("${NAME}-lv2-ui" PRIVATE "${NAME}-ui") | target_link_libraries("${NAME}-lv2-ui" PRIVATE "${NAME}-ui") | ||||
| set_target_properties("${NAME}-lv2-ui" PROPERTIES | set_target_properties("${NAME}-lv2-ui" PROPERTIES | ||||
| @@ -241,7 +249,9 @@ endfunction() | |||||
| # Add build rules for a VST plugin. | # Add build rules for a VST plugin. | ||||
| # | # | ||||
| function(dpf__build_vst NAME DGL_LIBRARY) | function(dpf__build_vst NAME DGL_LIBRARY) | ||||
| dpf__add_module("${NAME}-vst") | |||||
| dpf__create_dummy_source_list(_no_srcs) | |||||
| dpf__add_module("${NAME}-vst" ${_no_srcs}) | |||||
| dpf__add_plugin_main("${NAME}-vst" "vst") | dpf__add_plugin_main("${NAME}-vst" "vst") | ||||
| dpf__add_ui_main("${NAME}-vst" "vst" "${DGL_LIBRARY}") | dpf__add_ui_main("${NAME}-vst" "vst" "${DGL_LIBRARY}") | ||||
| target_link_libraries("${NAME}-vst" PRIVATE "${NAME}-dsp" "${NAME}-ui") | target_link_libraries("${NAME}-vst" PRIVATE "${NAME}-dsp" "${NAME}-ui") | ||||
| @@ -479,6 +489,20 @@ function(dpf__ensure_sources_non_empty VAR) | |||||
| set("${VAR}" "${_file}" PARENT_SCOPE) | set("${VAR}" "${_file}" PARENT_SCOPE) | ||||
| endfunction() | endfunction() | ||||
| # dpf__create_dummy_source_list | |||||
| # ------------------------------------------------------------------------------ | |||||
| # | |||||
| # Create a dummy source list which is equivalent to compiling nothing. | |||||
| # This is only for compatibility with older CMake versions, which refuse to add | |||||
| # targets without any sources. | |||||
| # | |||||
| macro(dpf__create_dummy_source_list VAR) | |||||
| set("${VAR}") | |||||
| if(CMAKE_VERSION VERSION_LESS "3.11") | |||||
| dpf__ensure_sources_non_empty("${VAR}") | |||||
| endif() | |||||
| endmacro() | |||||
| # dpf__warn_once | # dpf__warn_once | ||||
| # ------------------------------------------------------------------------------ | # ------------------------------------------------------------------------------ | ||||
| # | # | ||||