Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1f3a21f
Rename more stuff as YUP
kunitoki Jun 9, 2025
ab0ddf7
Add AI guidelines
kunitoki Jun 9, 2025
c0ce75a
Improve guidelines
kunitoki Jun 9, 2025
de0a4c0
Added TextEditor!
kunitoki Jun 10, 2025
1d12eb4
Merge branch 'main' into dev/text_editor
kunitoki Jun 10, 2025
d1e2612
Merge branch 'main' into dev/text_editor
kunitoki Jun 10, 2025
fb260c0
More tweaks
kunitoki Jun 10, 2025
dad2058
Code formatting
yup-bot Jun 10, 2025
53cd997
Allow select all on mouse double click
kunitoki Jun 10, 2025
26d619d
Fix command
kunitoki Jun 10, 2025
2fd9929
More work
kunitoki Jun 11, 2025
80d8225
Improved handling of text
kunitoki Jun 11, 2025
2227fe7
Improved text rendering
kunitoki Jun 11, 2025
e68f4f2
Merge branch 'main' into dev/text_editor
kunitoki Jun 11, 2025
b14fae5
Code formatting
yup-bot Jun 11, 2025
28de8b8
Add more headless factory
kunitoki Jun 11, 2025
d17cbd3
Code formatting
yup-bot Jun 11, 2025
5eb7dd2
Initial tests on the Graphics class and context
kunitoki Jun 11, 2025
98aa8a2
More unit tests
kunitoki Jun 11, 2025
1f340e5
Fix issues
kunitoki Jun 11, 2025
00e0304
More tweaks
kunitoki Jun 11, 2025
f0e278f
Fix issue
kunitoki Jun 11, 2025
252630e
Fix coverage
kunitoki Jun 12, 2025
53e588f
More tweaks
kunitoki Jun 12, 2025
075ff2d
Remove minimum c++ in yup module declarations
kunitoki Jun 12, 2025
722811d
More improvements
kunitoki Jun 12, 2025
4ab3bc6
Code formatting
yup-bot Jun 12, 2025
76a53ad
Final tweaks
kunitoki Jun 12, 2025
179c955
Code formatting
yup-bot Jun 12, 2025
0cd531b
More tweaks
kunitoki Jun 12, 2025
812c3cc
Code formatting
yup-bot Jun 12, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 53 additions & 13 deletions cmake/yup_modules.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,7 @@ function (_yup_module_setup_target module_name
module_defines
module_sources
module_libs
module_link_options
module_frameworks
module_dependencies
module_arc_enabled)
Expand Down Expand Up @@ -208,18 +209,16 @@ function (_yup_module_setup_target module_name

target_link_libraries (${module_name} INTERFACE
${module_libs}
${module_frameworks})

target_link_libraries (${module_name} INTERFACE
${module_frameworks}
${module_dependencies})

target_link_options (${module_name} INTERFACE
${module_link_options})

# Add coverage support if enabled
if (YUP_ENABLE_COVERAGE)
_yup_setup_coverage_flags (${module_name})
endif()

#add_library("yup::${module_name}" ALIAS ${module_name})

endfunction()

#==============================================================================
Expand Down Expand Up @@ -257,6 +256,7 @@ function (_yup_module_setup_plugin_client target_name plugin_client_target folde
get_target_property (module_defines ${plugin_client_target} YUP_MODULE_DEFINES)
get_target_property (module_options ${plugin_client_target} YUP_MODULE_OPTIONS)
get_target_property (module_libs ${plugin_client_target} YUP_MODULE_LIBS)
get_target_property (module_link_options ${plugin_client_target} YUP_MODULE_LINK_OPTIONS)
get_target_property (module_frameworks ${plugin_client_target} YUP_MODULE_FRAMEWORK)
get_target_property (module_dependencies ${plugin_client_target} YUP_MODULE_DEPENDENCIES)
get_target_property (module_arc_enabled ${plugin_client_target} YUP_MODULE_ARC_ENABLED)
Expand Down Expand Up @@ -295,6 +295,7 @@ function (_yup_module_setup_plugin_client target_name plugin_client_target folde
"${module_defines}"
"${module_sources}"
"${module_libs}"
"${module_link_options}"
"${module_frameworks}"
"${module_dependencies}"
"${module_arc_enabled}")
Expand Down Expand Up @@ -333,7 +334,7 @@ function (yup_add_module module_path module_group)

# ==== Assign Configurations Dynamically
set (global_properties "dependencies|defines|options|searchpaths")
set (platform_properties "^(.*)Deps$|^(.*)Defines$|^(.*)Libs$|^(.*)Frameworks$|^(.*)WeakFrameworks$|^(.*)Options$|^(.*)Packages$|^(.*)Searchpaths$|^(.*)CppStandard$")
set (platform_properties "^(.*)Deps$|^(.*)Defines$|^(.*)Libs$|^(.*)Frameworks$|^(.*)WeakFrameworks$|^(.*)Options$|^(.*)LinkOptions$|^(.*)Packages$|^(.*)Searchpaths$|^(.*)CppStandard$")

set (parsed_config "")
foreach (module_config ${module_configs})
Expand Down Expand Up @@ -370,6 +371,7 @@ function (yup_add_module module_path module_group)
list (APPEND module_defines ${module_iosSimDefines})
list (APPEND module_options ${module_iosSimOptions})
list (APPEND module_libs ${module_iosSimLibs})
list (APPEND module_link_options ${module_iosSimLinkOptions})
_yup_resolve_variable_paths ("${module_iosSimSearchpaths}" module_iosSimSearchpaths)
list (APPEND module_searchpaths ${module_iosSimSearchpaths})
_yup_module_prepare_frameworks ("${module_iosSimFrameworks}" "${module_iosSimWeakFrameworks}" module_iosSimframeworks)
Expand All @@ -382,6 +384,7 @@ function (yup_add_module module_path module_group)
list (APPEND module_defines ${module_iosDefines})
list (APPEND module_options ${module_iosOptions})
list (APPEND module_libs ${module_iosLibs})
list (APPEND module_link_options ${module_iosLinkOptions})
_yup_resolve_variable_paths ("${module_iosSearchpaths}" module_iosSearchpaths)
list (APPEND module_searchpaths ${module_iosSearchpaths})
_yup_module_prepare_frameworks ("${module_iosFrameworks}" "${module_iosWeakFrameworks}" module_iosFrameworks)
Expand All @@ -395,6 +398,7 @@ function (yup_add_module module_path module_group)
list (APPEND module_defines ${module_appleDefines})
list (APPEND module_options ${module_appleOptions})
list (APPEND module_libs ${module_appleLibs})
list (APPEND module_link_options ${module_appleLinkOptions})
_yup_resolve_variable_paths ("${module_appleSearchpaths}" module_appleSearchpaths)
list (APPEND module_searchpaths ${module_appleSearchpaths})
_yup_module_prepare_frameworks ("${module_appleFrameworks}" "${module_appleWeakFrameworks}" module_appleFrameworks)
Expand All @@ -411,7 +415,9 @@ function (yup_add_module module_path module_group)
list (APPEND module_options ${module_osxOptions})
list (APPEND module_options ${module_appleOptions})
list (APPEND module_libs ${module_osxLibs})
list (APPEND module_link_options ${module_osxLinkOptions})
list (APPEND module_libs ${module_appleLibs})
list (APPEND module_link_options ${module_appleLinkOptions})
_yup_resolve_variable_paths ("${module_osxSearchpaths}" module_osxSearchpaths)
list (APPEND module_searchpaths ${module_osxSearchpaths})
_yup_resolve_variable_paths ("${module_appleSearchpaths}" module_appleSearchpaths)
Expand All @@ -432,6 +438,7 @@ function (yup_add_module module_path module_group)
list (APPEND module_defines ${module_linuxDefines})
list (APPEND module_options ${module_linuxOptions})
list (APPEND module_libs ${module_linuxLibs})
list (APPEND module_link_options ${module_linuxLinkOptions})
_yup_resolve_variable_paths ("${module_linuxSearchpaths}" module_linuxSearchpaths)
list (APPEND module_searchpaths ${module_linuxSearchpaths})
foreach (package ${module_linuxPackages})
Expand All @@ -447,6 +454,7 @@ function (yup_add_module module_path module_group)
list (APPEND module_defines ${module_wasmDefines})
list (APPEND module_options ${module_wasmOptions})
list (APPEND module_libs ${module_wasmLibs})
list (APPEND module_link_options ${module_wasmLinkOptions})
_yup_resolve_variable_paths ("${module_wasmSearchpaths}" module_wasmSearchpaths)
list (APPEND module_searchpaths ${module_wasmSearchpaths})

Expand All @@ -458,26 +466,41 @@ function (yup_add_module module_path module_group)
list (APPEND module_defines ${module_androidDefines})
list (APPEND module_options ${module_androidOptions})
list (APPEND module_libs ${module_androidLibs})
list (APPEND module_link_options ${module_androidLinkOptions})
_yup_resolve_variable_paths ("${module_androidSearchpaths}" module_androidSearchpaths)
list (APPEND module_searchpaths ${module_androidSearchpaths})

elseif (YUP_PLATFORM_MSFT)
if (module_msftCppStandard)
set (module_cpp_standard "${module_msftCppStandard}")
endif()
list (APPEND module_dependencies ${module_windowsDeps})
list (APPEND module_defines ${module_windowsDefines})
list (APPEND module_options ${module_windowsOptions})
_yup_resolve_variable_paths ("${module_windowsSearchpaths}" module_windowsSearchpaths)
list (APPEND module_searchpaths ${module_windowsSearchpaths})
list (APPEND module_libs ${module_msftLibs})
list (APPEND module_dependencies ${module_msftDeps})
list (APPEND module_defines ${module_msftDefines})
list (APPEND module_options ${module_msftOptions})
list (APPEND module_link_options ${module_msftLinkOptions})
_yup_resolve_variable_paths ("${module_msftSearchpaths}" module_msftSearchpaths)
list (APPEND module_searchpaths ${module_msftSearchpaths})

if (MINGW)
list (APPEND module_libs ${module_mingwLibs})
list (APPEND module_dependencies ${module_mingwDeps})
list (APPEND module_defines ${module_mingwDefines})
list (APPEND module_options ${module_mingwOptions})
list (APPEND module_link_options ${module_mingwLinkOptions})
_yup_resolve_variable_paths ("${module_mingwSearchpaths}" module_mingwSearchpaths)
list (APPEND module_searchpaths ${module_mingwSearchpaths})
if (module_mingwCppStandard)
set (module_cpp_standard "${module_mingwCppStandard}")
endif()
else()
list (APPEND module_libs ${module_windowsLibs})
list (APPEND module_dependencies ${module_windowsDeps})
list (APPEND module_defines ${module_windowsDefines})
list (APPEND module_options ${module_windowsOptions})
list (APPEND module_link_options ${module_windowsLinkOptions})
_yup_resolve_variable_paths ("${module_windowsSearchpaths}" module_windowsSearchpaths)
list (APPEND module_searchpaths ${module_windowsSearchpaths})
if (module_windowsCppStandard)
set (module_cpp_standard "${module_windowsCppStandard}")
endif()
Expand All @@ -500,13 +523,14 @@ function (yup_add_module module_path module_group)
_yup_module_collect_sources ("${module_path}" module_sources)

# ==== Setup module sources and properties
_yup_module_setup_target (${module_name}
_yup_module_setup_target ("${module_name}"
"${module_cpp_standard}"
"${module_include_paths}"
"${module_options}"
"${module_defines}"
"${module_sources}"
"${module_libs}"
"${module_link_options}"
"${module_frameworks}"
"${module_dependencies}"
"${module_arc_enabled}")
Expand All @@ -531,6 +555,7 @@ function (yup_add_module module_path module_group)
YUP_MODULE_DEFINES "${module_defines}"
YUP_MODULE_SOURCES "${module_sources}"
YUP_MODULE_LIBS "${module_libs}"
YUP_MODULE_LINK_OPTIONS "${module_link_options}"
YUP_MODULE_FRAMEWORK "${module_frameworks}"
YUP_MODULE_DEPENDENCIES "${module_dependencies}"
YUP_MODULE_ARC_ENABLED "${module_arc_enabled}")
Expand Down Expand Up @@ -562,11 +587,26 @@ function (_yup_add_default_modules modules_path)
# Yup modules
set (modules_group "Modules")
yup_add_module (${modules_path}/modules/yup_core ${modules_group})
add_library (yup::yup_core ALIAS yup_core)

yup_add_module (${modules_path}/modules/yup_events ${modules_group})
add_library (yup::yup_events ALIAS yup_events)

yup_add_module (${modules_path}/modules/yup_audio_basics ${modules_group})
add_library (yup::yup_audio_basics ALIAS yup_audio_basics)

yup_add_module (${modules_path}/modules/yup_audio_devices ${modules_group})
add_library (yup::yup_audio_devices ALIAS yup_audio_devices)

yup_add_module (${modules_path}/modules/yup_audio_processors ${modules_group})
add_library (yup::yup_audio_processors ALIAS yup_audio_processors)

yup_add_module (${modules_path}/modules/yup_audio_plugin_client ${modules_group})
add_library (yup::yup_audio_plugin_client ALIAS yup_audio_plugin_client)

yup_add_module (${modules_path}/modules/yup_graphics ${modules_group})
add_library (yup::yup_graphics ALIAS yup_graphics)

yup_add_module (${modules_path}/modules/yup_gui ${modules_group})
add_library (yup::yup_gui ALIAS yup_gui)
endfunction()
3 changes: 0 additions & 3 deletions cmake/yup_standalone.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -145,9 +145,6 @@ function (yup_standalone_app)
elseif (YUP_PLATFORM_EMSCRIPTEN)
if (NOT "${target_console}")
set_target_properties (${target_name} PROPERTIES SUFFIX ".html")

list (APPEND additional_options -sUSE_SDL=2)
list (APPEND additional_link_options -sUSE_SDL=2 -sMAX_WEBGL_VERSION=2)
endif()

_yup_set_default (YUP_ARG_CUSTOM_SHELL "${CMAKE_SOURCE_DIR}/cmake/platforms/${YUP_PLATFORM}/shell.html")
Expand Down
37 changes: 27 additions & 10 deletions cmake/yup_utilities.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ endfunction()

#==============================================================================

function (_yup_setup_coverage_targets modules_list)
function (_yup_setup_coverage_targets test_target_name modules_list)
if (YUP_ENABLE_COVERAGE AND (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang"))
find_program (LCOV_PATH lcov)
find_program (GENHTML_PATH genhtml)
Expand All @@ -316,16 +316,26 @@ function (_yup_setup_coverage_targets modules_list)

add_custom_target (coverage_${module_name}
COMMAND ${CMAKE_COMMAND} -E echo "Generating coverage for ${module_name}"
COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --capture --output-file ${module_coverage_dir}/coverage.info --ignore-errors mismatch,gcov,source,negative
COMMAND ${LCOV_PATH} --extract ${module_coverage_dir}/coverage.info "*/modules/${module_name}/*" --output-file ${module_coverage_dir}/coverage_filtered.info --ignore-errors mismatch,gcov,source,negative
COMMAND ${LCOV_PATH} --remove ${module_coverage_dir}/coverage_filtered.info "*/thirdparty/*" "*/build/*" "*/tests/*" --output-file ${module_coverage_dir}/coverage_final.info --ignore-errors mismatch,gcov,source,negative
COMMAND ${LCOV_PATH}
--directory ${CMAKE_BINARY_DIR} --capture
--output-file ${module_coverage_dir}/coverage.info
--ignore-errors mismatch,gcov,source,negative
COMMAND ${LCOV_PATH}
--extract ${module_coverage_dir}/coverage.info "*/modules/${module_name}/*"
--output-file ${module_coverage_dir}/coverage_filtered.info
--ignore-errors mismatch,gcov,source,negative
COMMAND ${LCOV_PATH}
--remove ${module_coverage_dir}/coverage_filtered.info "*/thirdparty/*" "*/build/*" "*/tests/*" "*/examples/*"
--output-file ${module_coverage_dir}/coverage_final.info
--ignore-errors mismatch,gcov,source,negative
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
DEPENDS yup_tests
DEPENDS ${test_target_name}
COMMENT "Processing coverage data for ${module_name}")

if (GENHTML_PATH)
add_custom_target (coverage_html_${module_name}
COMMAND ${GENHTML_PATH} ${module_coverage_dir}/coverage_final.info --output-directory ${module_coverage_dir}/html
COMMAND ${GENHTML_PATH}
${module_coverage_dir}/coverage_final.info --output-directory ${module_coverage_dir}/html
DEPENDS coverage_${module_name}
COMMENT "Generating HTML coverage report for ${module_name}")
endif()
Expand All @@ -334,15 +344,22 @@ function (_yup_setup_coverage_targets modules_list)
# Combined coverage target
add_custom_target (coverage_all
COMMAND ${CMAKE_COMMAND} -E echo "Generating combined coverage report"
COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --capture --output-file ${CMAKE_BINARY_DIR}/coverage/coverage.info --ignore-errors mismatch,gcov,source,negative
COMMAND ${LCOV_PATH} --remove ${CMAKE_BINARY_DIR}/coverage/coverage.info "*/thirdparty/*" "*/build/*" "*/tests/*" "*/examples/*" --output-file ${CMAKE_BINARY_DIR}/coverage/coverage_final.info --ignore-errors mismatch,gcov,source,negative
COMMAND ${LCOV_PATH}
--directory ${CMAKE_BINARY_DIR} --capture
--output-file ${CMAKE_BINARY_DIR}/coverage/coverage.info
--ignore-errors mismatch,gcov,source,negative
COMMAND ${LCOV_PATH}
--remove ${CMAKE_BINARY_DIR}/coverage/coverage.info "*/thirdparty/*" "*/build/*" "*/tests/*" "*/examples/*"
--output-file ${CMAKE_BINARY_DIR}/coverage/coverage_final.info
--ignore-errors mismatch,gcov,source,negative
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
DEPENDS yup_tests
DEPENDS ${test_target_name}
COMMENT "Processing combined coverage data")

if (GENHTML_PATH)
add_custom_target (coverage_html_all
COMMAND ${GENHTML_PATH} ${CMAKE_BINARY_DIR}/coverage/coverage_final.info --output-directory ${CMAKE_BINARY_DIR}/coverage/html
COMMAND ${GENHTML_PATH}
${CMAKE_BINARY_DIR}/coverage/coverage_final.info --output-directory ${CMAKE_BINARY_DIR}/coverage/html
DEPENDS coverage_all
COMMENT "Generating combined HTML coverage report")
endif()
Expand Down
4 changes: 3 additions & 1 deletion docs/Building Plugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,9 @@ yup_audio_plugin (
PLUGIN_CREATE_CLAP ON
PLUGIN_CREATE_VST3 ON
PLUGIN_CREATE_STANDALONE ON
MODULES yup_gui yup_audio_processors)
MODULES
yup::yup_gui
yup::yup_audio_processors)

# Add source files
file (GLOB sources "${CMAKE_CURRENT_LIST_DIR}/*.cpp")
Expand Down
Loading