commit 0533e2e64b98fecbbea1e7808729cb068ea980f5
parent a02804483534bfd83a619b57a38bb327c91fedd6
Author: Jean Pierre Cimalando <jp-dev@inbox.ru>
Date: Fri, 21 May 2021 19:05:14 +0200
Compatibility with cmake 3.7
Diffstat:
1 file changed, 31 insertions(+), 7 deletions(-)
diff --git a/cmake/DPF-plugin.cmake b/cmake/DPF-plugin.cmake
@@ -130,7 +130,9 @@ function(dpf__build_jack NAME DGL_LIBRARY)
return()
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_ui_main("${NAME}-jack" "jack" "${DGL_LIBRARY}")
target_link_libraries("${NAME}-jack" PRIVATE "${NAME}-dsp" "${NAME}-ui")
@@ -149,7 +151,9 @@ endfunction()
# Add build rules for a DSSI plugin.
#
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")
target_link_libraries("${NAME}-ladspa" PRIVATE "${NAME}-dsp")
set_target_properties("${NAME}-ladspa" PROPERTIES
@@ -172,7 +176,9 @@ function(dpf__build_dssi NAME DGL_LIBRARY)
return()
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")
target_link_libraries("${NAME}-dssi" PRIVATE "${NAME}-dsp")
set_target_properties("${NAME}-dssi" PROPERTIES
@@ -181,7 +187,7 @@ function(dpf__build_dssi NAME DGL_LIBRARY)
PREFIX "")
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}")
target_link_libraries("${NAME}-dssi-ui" PRIVATE "${NAME}-ui")
set_target_properties("${NAME}-dssi-ui" PROPERTIES
@@ -200,7 +206,9 @@ endfunction()
# Add build rules for a LV2 plugin.
#
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")
target_link_libraries("${NAME}-lv2" PRIVATE "${NAME}-dsp")
set_target_properties("${NAME}-lv2" PROPERTIES
@@ -215,7 +223,7 @@ function(dpf__build_lv2 NAME DGL_LIBRARY MONOLITHIC)
set_target_properties("${NAME}-lv2" PROPERTIES
OUTPUT_NAME "${NAME}")
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}")
target_link_libraries("${NAME}-lv2-ui" PRIVATE "${NAME}-ui")
set_target_properties("${NAME}-lv2-ui" PROPERTIES
@@ -241,7 +249,9 @@ endfunction()
# Add build rules for a VST plugin.
#
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_ui_main("${NAME}-vst" "vst" "${DGL_LIBRARY}")
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)
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
# ------------------------------------------------------------------------------
#