@@ -303,7 +303,7 @@ endfunction()
303303
304304#==============================================================================
305305
306- function (yup_add_module module_path )
306+ function (yup_add_module module_path module_group )
307307 get_filename_component (module_path ${module_path} ABSOLUTE )
308308 get_filename_component (module_name ${module_path} NAME )
309309
@@ -321,14 +321,14 @@ function (yup_add_module module_path)
321321
322322 # ==== Add module as library
323323 add_library (${module_name} INTERFACE )
324- set_target_properties (${module_name} PROPERTIES FOLDER "Modules " )
324+ set_target_properties (${module_name} PROPERTIES FOLDER "${module_group} " )
325325
326326 # ==== Parse module declaration string
327327 _yup_module_parse_config ("${module_header} " module_configs module_user_configs)
328328
329329 # ==== Assign Configurations Dynamically
330330 set (global_properties "dependencies|defines|options|searchpaths" )
331- set (platform_properties "^(.*)Deps$|^(.*)Defines$|^(.*)Libs$|^(.*)Frameworks$|^(.*)WeakFrameworks$|^(.*)Options$|^(.*)Packages$|^(.*)Searchpaths$" )
331+ set (platform_properties "^(.*)Deps$|^(.*)Defines$|^(.*)Libs$|^(.*)Frameworks$|^(.*)WeakFrameworks$|^(.*)Options$|^(.*)Packages$|^(.*)Searchpaths$|^(.*)CppStandard$ " )
332332
333333 set (parsed_config "" )
334334 foreach (module_config ${module_configs} )
@@ -356,6 +356,10 @@ function (yup_add_module module_path)
356356
357357 # ==== Setup Platform-Specific Configurations
358358 if (YUP_PLATFORM_IOS)
359+ if (module_appleCppStandard)
360+ set (module_cpp_standard "${module_appleCppStandard} " )
361+ endif ()
362+
359363 if (PLATFORM MATCHES "^(SIMULATOR.*)$" )
360364 list (APPEND module_dependencies ${module_iosSimDeps} )
361365 list (APPEND module_defines ${module_iosSimDefines} )
@@ -365,6 +369,9 @@ function (yup_add_module module_path)
365369 list (APPEND module_searchpaths ${module_iosSimSearchpaths} )
366370 _yup_module_prepare_frameworks ("${module_iosSimFrameworks} " "${module_iosSimWeakFrameworks} " module_iosSimframeworks)
367371 list (APPEND module_frameworks ${module_iosSimframeworks} )
372+ if (module_iosSimCppStandard)
373+ set (module_cpp_standard "${module_iosSimCppStandard} " )
374+ endif ()
368375 else ()
369376 list (APPEND module_dependencies ${module_iosDeps} )
370377 list (APPEND module_defines ${module_iosDefines} )
@@ -374,6 +381,9 @@ function (yup_add_module module_path)
374381 list (APPEND module_searchpaths ${module_iosSearchpaths} )
375382 _yup_module_prepare_frameworks ("${module_iosFrameworks} " "${module_iosWeakFrameworks} " module_iosFrameworks)
376383 list (APPEND module_frameworks ${module_iosFrameworks} )
384+ if (module_iosCppStandard)
385+ set (module_cpp_standard "${module_iosCppStandard} " )
386+ endif ()
377387 endif ()
378388
379389 list (APPEND module_dependencies ${module_appleDeps} )
@@ -386,6 +396,9 @@ function (yup_add_module module_path)
386396 list (APPEND module_frameworks ${module_appleFrameworks} )
387397
388398 elseif (YUP_PLATFORM_OSX)
399+ if (module_appleCppStandard)
400+ set (module_cpp_standard "${module_appleCppStandard} " )
401+ endif ()
389402 list (APPEND module_dependencies ${module_osxDeps} )
390403 list (APPEND module_dependencies ${module_appleDeps} )
391404 list (APPEND module_defines ${module_osxDefines} )
@@ -402,8 +415,14 @@ function (yup_add_module module_path)
402415 list (APPEND module_frameworks ${module_osxFrameworks} )
403416 _yup_module_prepare_frameworks ("${module_appleFrameworks} " "${module_appleWeakFrameworks} " module_appleFrameworks)
404417 list (APPEND module_frameworks ${module_appleFrameworks} )
418+ if (module_osxCppStandard)
419+ set (module_cpp_standard "${module_osxCppStandard} " )
420+ endif ()
405421
406422 elseif (YUP_PLATFORM_LINUX)
423+ if (module_linuxCppStandard)
424+ set (module_cpp_standard "${module_linuxCppStandard} " )
425+ endif ()
407426 list (APPEND module_dependencies ${module_linuxDeps} )
408427 list (APPEND module_defines ${module_linuxDefines} )
409428 list (APPEND module_options ${module_linuxOptions} )
@@ -416,6 +435,9 @@ function (yup_add_module module_path)
416435 endforeach ()
417436
418437 elseif (YUP_PLATFORM_EMSCRIPTEN)
438+ if (module_wasmCppStandard)
439+ set (module_cpp_standard "${module_wasmCppStandard} " )
440+ endif ()
419441 list (APPEND module_dependencies ${module_wasmDeps} )
420442 list (APPEND module_defines ${module_wasmDefines} )
421443 list (APPEND module_options ${module_wasmOptions} )
@@ -424,6 +446,9 @@ function (yup_add_module module_path)
424446 list (APPEND module_searchpaths ${module_wasmSearchpaths} )
425447
426448 elseif (YUP_PLATFORM_ANDROID)
449+ if (module_androidCppStandard)
450+ set (module_cpp_standard "${module_androidCppStandard} " )
451+ endif ()
427452 list (APPEND module_dependencies ${module_androidDeps} )
428453 list (APPEND module_defines ${module_androidDefines} )
429454 list (APPEND module_options ${module_androidOptions} )
@@ -432,15 +457,25 @@ function (yup_add_module module_path)
432457 list (APPEND module_searchpaths ${module_androidSearchpaths} )
433458
434459 elseif (YUP_PLATFORM_MSFT)
460+ if (module_msftCppStandard)
461+ set (module_cpp_standard "${module_msftCppStandard} " )
462+ endif ()
435463 list (APPEND module_dependencies ${module_windowsDeps} )
436464 list (APPEND module_defines ${module_windowsDefines} )
437465 list (APPEND module_options ${module_windowsOptions} )
438466 _yup_resolve_variable_paths ("${module_windowsSearchpaths} " module_windowsSearchpaths)
439467 list (APPEND module_searchpaths ${module_windowsSearchpaths} )
468+
440469 if (MINGW)
441470 list (APPEND module_libs ${module_mingwLibs} )
471+ if (module_mingwCppStandard)
472+ set (module_cpp_standard "${module_mingwCppStandard} " )
473+ endif ()
442474 else ()
443475 list (APPEND module_libs ${module_windowsLibs} )
476+ if (module_windowsCppStandard)
477+ set (module_cpp_standard "${module_windowsCppStandard} " )
478+ endif ()
444479 endif ()
445480 endif ()
446481
@@ -500,27 +535,30 @@ endfunction()
500535#==============================================================================
501536
502537function (_yup_add_default_modules modules_path)
503- yup_add_module (${modules_path} /thirdparty/zlib)
504- yup_add_module (${modules_path} /thirdparty/glad)
505- yup_add_module (${modules_path} /thirdparty/harfbuzz)
506- yup_add_module (${modules_path} /thirdparty/libpng)
507- yup_add_module (${modules_path} /thirdparty/libwebp)
508- yup_add_module (${modules_path} /thirdparty/sheenbidi)
509- yup_add_module (${modules_path} /thirdparty/yoga_library)
510- yup_add_module (${modules_path} /thirdparty/rive)
511- yup_add_module (${modules_path} /thirdparty/rive_decoders)
512- yup_add_module (${modules_path} /thirdparty/rive_renderer)
513- yup_add_module (${modules_path} /thirdparty/oboe_library)
538+ set (thirdparty_group "Thirdparty" )
539+ set (modules_group "Modules" )
540+
541+ yup_add_module (${modules_path} /thirdparty/zlib ${thirdparty_group} )
542+ yup_add_module (${modules_path} /thirdparty/glad ${thirdparty_group} )
543+ yup_add_module (${modules_path} /thirdparty/harfbuzz ${thirdparty_group} )
544+ yup_add_module (${modules_path} /thirdparty/libpng ${thirdparty_group} )
545+ yup_add_module (${modules_path} /thirdparty/libwebp ${thirdparty_group} )
546+ yup_add_module (${modules_path} /thirdparty/sheenbidi ${thirdparty_group} )
547+ yup_add_module (${modules_path} /thirdparty/yoga_library ${thirdparty_group} )
548+ yup_add_module (${modules_path} /thirdparty/rive ${thirdparty_group} )
549+ yup_add_module (${modules_path} /thirdparty/rive_decoders ${thirdparty_group} )
550+ yup_add_module (${modules_path} /thirdparty/rive_renderer ${thirdparty_group} )
551+ yup_add_module (${modules_path} /thirdparty/oboe_library ${thirdparty_group} )
514552
515553 # Original juce modules
516- yup_add_module (${modules_path} /modules/juce_core)
517- yup_add_module (${modules_path} /modules/juce_events)
518- yup_add_module (${modules_path} /modules/juce_audio_basics)
519- yup_add_module (${modules_path} /modules/juce_audio_devices)
554+ yup_add_module (${modules_path} /modules/juce_core ${modules_group} )
555+ yup_add_module (${modules_path} /modules/juce_events ${modules_group} )
556+ yup_add_module (${modules_path} /modules/juce_audio_basics ${modules_group} )
557+ yup_add_module (${modules_path} /modules/juce_audio_devices ${modules_group} )
520558
521559 # New yup modules
522- yup_add_module (${modules_path} /modules/yup_audio_processors)
523- yup_add_module (${modules_path} /modules/yup_audio_plugin_client)
524- yup_add_module (${modules_path} /modules/yup_graphics)
525- yup_add_module (${modules_path} /modules/yup_gui)
560+ yup_add_module (${modules_path} /modules/yup_audio_processors ${modules_group} )
561+ yup_add_module (${modules_path} /modules/yup_audio_plugin_client ${modules_group} )
562+ yup_add_module (${modules_path} /modules/yup_graphics ${modules_group} )
563+ yup_add_module (${modules_path} /modules/yup_gui ${modules_group} )
526564endfunction ()
0 commit comments