diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6f32a79..8ad780b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ on: jobs: - build: + build_windows: runs-on: windows-2022 @@ -43,6 +43,25 @@ jobs: - name: Build run: | mkdir build - cd build - cmake -A ${{ matrix.arch }} -DFOO_SAMPLE=ON .. - msbuild -v:m -p:Configuration=Release -p:Platform=${{ matrix.arch }} foosdk.sln + cmake -A ${{ matrix.arch }} -DFOO_SAMPLE=ON -S . -B build + msbuild -v:m -p:Configuration=Release -p:Platform=${{ matrix.arch }} build\foosdk.sln + + build_macos: + + strategy: + matrix: + os: + - macos-26 + - macos-15-intel + + runs-on: ${{ matrix.os }} + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Build + run: | + mkdir build + cmake -DFOO_SAMPLE=ON -DCMAKE_BUILD_TYPE=Release -S . -B build + cmake --build build --parallel diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ef387a..b38b8b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,44 +2,66 @@ cmake_minimum_required(VERSION 3.10) project(foosdk) -if(NOT WIN32) - message(FATAL_ERROR "This project requires WIN32 target.") +set(CMAKE_CXX_STANDARD 17) + +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") + +set(OS_WINDOWS OFF) +set(OS_MAC OFF) + +if(CMAKE_SYSTEM_NAME STREQUAL Windows) + set(OS_WINDOWS ON) + include(SourcesWindows) +elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin) + set(OS_MAC ON) + include(SourcesMacOs) + enable_language(OBJC) +else() + message(FATAL_ERROR "Target OS is not Windows or Mac") endif() -option(FOO_PPUI "Include libPPUI (adds usage of ATL/WTL)" ON) -option(FOO_SDK_HELPERS "Include SDK helpers (requires FOO_PPUI)" ON) -option(FOO_STATIC_STDLIB "Use static standard libraries" OFF) -option(FOO_SYSTEM_WTL "Use system WTL library" OFF) -option(FOO_SAMPLE "Build foo_sample component" OFF) +option(FOO_SAMPLE "Build foo_sample component" OFF) +option(FOO_SDK_HELPERS "Include SDK helpers (requires FOO_PPUI on Windows)" ON) + +if(OS_WINDOWS) + option(FOO_PPUI "Include libPPUI (adds usage of ATL/WTL)" ON) + option(FOO_SYSTEM_WTL "Use system WTL library" OFF) +else() + set(FOO_PPUI OFF) +endif() -set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /wd4302 /wd4838 /wd4996 /d2notypeopt") +if(MSVC) + option(FOO_STATIC_STDLIB "Use static standard libraries" OFF) -if(FOO_STATIC_STDLIB) - foreach(FLAGS CMAKE_CXX_FLAGS_DEBUG + if(FOO_STATIC_STDLIB) + foreach(FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO) string(REPLACE "/MD" "/MT" ${FLAGS} "${${FLAGS}}") - endforeach() + endforeach() + endif() + + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /wd4302 /wd4838 /wd4996 /d2notypeopt") endif() -set(CMAKE_CXX_STANDARD 17) -set(WINVER 0x0601) +set(INCLUDE_WTL OFF) # WTL not WTF -add_definitions( - -D_UNICODE -DUNICODE -DSTRICT -DWINVER=${WINVER} -D_WIN32_WINNT=${WINVER} -) +if(OS_WINDOWS) + set(WINVER 0x0601) -set(INCLUDE_WTL OFF) + add_definitions( + -D_UNICODE -DUNICODE -DSTRICT -DWINVER=${WINVER} -D_WIN32_WINNT=${WINVER} + ) -if(FOO_PPUI) - if(FOO_SYSTEM_WTL) - find_package(Wtl REQUIRED) - include_directories(${WTL_INCLUDE_DIRS}) - else() - include_directories(wtl/Include) - set(INCLUDE_WTL ON) + if(FOO_PPUI) + if(FOO_SYSTEM_WTL) + find_package(Wtl REQUIRED) + include_directories(${WTL_INCLUDE_DIRS}) + else() + include_directories(wtl/Include) + set(INCLUDE_WTL ON) + endif() endif() endif() @@ -51,22 +73,28 @@ function(option_dependency_check OPT1 OPT2) endif() endfunction() -option_dependency_check(FOO_SDK_HELPERS FOO_PPUI) -option_dependency_check(FOO_SAMPLE FOO_SDK_HELPERS) +if(OS_WINDOWS) + option_dependency_check(FOO_SDK_HELPERS FOO_PPUI) +endif() -include(FileLists) +option_dependency_check(FOO_SAMPLE FOO_SDK_HELPERS) -if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") - set(SHARED_LIBRARY sdk/foobar2000/shared/shared-x64.lib) -else() - set(SHARED_LIBRARY sdk/foobar2000/shared/shared-Win32.lib) +set(SHARED_LIBRARY "") + +if(OS_WINDOWS) + if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") + set(SHARED_LIBRARY sdk/foobar2000/shared/shared-x64.lib) + else() + set(SHARED_LIBRARY sdk/foobar2000/shared/shared-Win32.lib) + endif() endif() set( LIB_SOURCES ${PFC_SOURCES} ${PFC_HEADERS} + ${SHARED_SOURCES} ${SHARED_HEADERS} ${SDK_SOURCES} ${SDK_HEADERS} - ${COMPONENT_CLIENT_SOURCES} + ${COMPONENT_CLIENT_SOURCES} ${COMPONENT_CLIENT_HEADERS} ) if(INCLUDE_WTL) @@ -88,11 +116,35 @@ add_library(foosdk STATIC ${LIB_SOURCES}) if(FOO_SAMPLE) add_library(foo_sample MODULE ${SAMPLE_SOURCES} ${SAMPLE_HEADERS}) - target_link_libraries(foo_sample foosdk "${CMAKE_CURRENT_SOURCE_DIR}/${SHARED_LIBRARY}") + + target_include_directories( + foo_sample PRIVATE + sdk/foobar2000/foo_sample + sdk/foobar2000/helpers-mac + ) + + target_link_libraries(foo_sample foosdk) + + if(SHARED_LIBRARY) + target_link_libraries(foo_sample "${CMAKE_CURRENT_SOURCE_DIR}/${SHARED_LIBRARY}") + endif() + + if(OS_MAC) + set_target_properties( + foo_sample PROPERTIES + BUNDLE ON + BUNDLE_EXTENSION component + ) + + target_link_libraries(foo_sample "-framework Cocoa") + endif() endif() install(TARGETS foosdk ARCHIVE DESTINATION lib) -install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/${SHARED_LIBRARY}" DESTINATION lib) + +if(SHARED_LIBRARY) + install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/${SHARED_LIBRARY}" DESTINATION lib) +endif() install(FILES ${SHARED_HEADERS} DESTINATION include/foobar2000/shared) install(FILES ${PFC_HEADERS} DESTINATION include/pfc) diff --git a/cmake/SourcesMacOs.cmake b/cmake/SourcesMacOs.cmake new file mode 100644 index 0000000..597b582 --- /dev/null +++ b/cmake/SourcesMacOs.cmake @@ -0,0 +1,546 @@ +# Generated by update-lists.sh + +set( + PFC_HEADERS + sdk/pfc/CFObject.h + sdk/pfc/SmartStrStr-table.h + sdk/pfc/SmartStrStr-twoCharMappings.h + sdk/pfc/SmartStrStr.h + sdk/pfc/alloc.h + sdk/pfc/array.h + sdk/pfc/audio_sample.h + sdk/pfc/autoref.h + sdk/pfc/avltree.h + sdk/pfc/base64.h + sdk/pfc/bigmem.h + sdk/pfc/binary_search.h + sdk/pfc/bit_array.h + sdk/pfc/bit_array_impl.h + sdk/pfc/bit_array_impl_part2.h + sdk/pfc/bsearch.h + sdk/pfc/bsearch_inline.h + sdk/pfc/byte_order.h + sdk/pfc/chain_list_v2.h + sdk/pfc/charDownConvert.h + sdk/pfc/cmd_thread.h + sdk/pfc/com_ptr_t.h + sdk/pfc/cpuid.h + sdk/pfc/debug.h + sdk/pfc/event.h + sdk/pfc/event_std.h + sdk/pfc/filehandle.h + sdk/pfc/filetimetools.h + sdk/pfc/fixed_map.h + sdk/pfc/fpu.h + sdk/pfc/guid.h + sdk/pfc/instance_tracker_legacy.h + sdk/pfc/int_types.h + sdk/pfc/iterators.h + sdk/pfc/killswitch.h + sdk/pfc/list.h + sdk/pfc/lockless.h + sdk/pfc/map.h + sdk/pfc/mem_block.h + sdk/pfc/memalign.h + sdk/pfc/nix-objects.h + sdk/pfc/notifyList.h + sdk/pfc/once.h + sdk/pfc/order_helper.h + sdk/pfc/other.h + sdk/pfc/pathUtils.h + sdk/pfc/pfc-lite.h + sdk/pfc/pfc.h + sdk/pfc/platform-objects.h + sdk/pfc/pocket_char_ops.h + sdk/pfc/pool.h + sdk/pfc/pp-winapi.h + sdk/pfc/primitives.h + sdk/pfc/primitives_part2.h + sdk/pfc/ptr_list.h + sdk/pfc/ptrholder.h + sdk/pfc/rcptr.h + sdk/pfc/ref_counter.h + sdk/pfc/sort.h + sdk/pfc/sort2.h + sdk/pfc/sortstring.h + sdk/pfc/splitString.h + sdk/pfc/splitString2.h + sdk/pfc/stdsort.h + sdk/pfc/string-compare.h + sdk/pfc/string-conv-lite.h + sdk/pfc/string-interface.h + sdk/pfc/string-lite.h + sdk/pfc/string-part.h + sdk/pfc/string_base.h + sdk/pfc/string_conv.h + sdk/pfc/string_list.h + sdk/pfc/string_simple.h + sdk/pfc/suppress_fb2k_hooks.h + sdk/pfc/syncd_storage.h + sdk/pfc/synchro.h + sdk/pfc/synchro_nix.h + sdk/pfc/synchro_win.h + sdk/pfc/targetver.h + sdk/pfc/threadSafeObj.h + sdk/pfc/threads.h + sdk/pfc/timers.h + sdk/pfc/traits.h + sdk/pfc/unicode-normalize.h + sdk/pfc/wait_queue.h + sdk/pfc/weakRef.h + sdk/pfc/wildcard.h + sdk/pfc/win-objects.h +) + +set( + PFC_SOURCES + sdk/pfc/SmartStrStr.cpp + sdk/pfc/audio_math.cpp + sdk/pfc/audio_sample.cpp + sdk/pfc/base64.cpp + sdk/pfc/bigmem.cpp + sdk/pfc/bit_array.cpp + sdk/pfc/bsearch.cpp + sdk/pfc/charDownConvert.cpp + sdk/pfc/cpuid.cpp + sdk/pfc/crashWithMessage.cpp + sdk/pfc/filehandle.cpp + sdk/pfc/filetimetools.cpp + sdk/pfc/guid.cpp + sdk/pfc/nix-objects.cpp + sdk/pfc/obj-c.mm + sdk/pfc/other.cpp + sdk/pfc/pathUtils.cpp + sdk/pfc/printf.cpp + sdk/pfc/selftest.cpp + sdk/pfc/sort.cpp + sdk/pfc/splitString2.cpp + sdk/pfc/string-compare.cpp + sdk/pfc/string-conv-lite.cpp + sdk/pfc/string-lite.cpp + sdk/pfc/string_base.cpp + sdk/pfc/string_conv.cpp + sdk/pfc/synchro_nix.cpp + sdk/pfc/threads.cpp + sdk/pfc/timers.cpp + sdk/pfc/unicode-normalize.cpp + sdk/pfc/utf8.cpp + sdk/pfc/wildcard.cpp + sdk/pfc/win-objects.cpp +) + +set( + SHARED_HEADERS + sdk/foobar2000/shared/audio_math.h + sdk/foobar2000/shared/fb2kdebug.h + sdk/foobar2000/shared/filedialogs.h + sdk/foobar2000/shared/shared-apple.h + sdk/foobar2000/shared/shared-nix.h + sdk/foobar2000/shared/shared.h + sdk/foobar2000/shared/win32_misc.h +) + +set( + SHARED_SOURCES + sdk/foobar2000/shared/audio_math.cpp + sdk/foobar2000/shared/shared-apple.mm + sdk/foobar2000/shared/shared-nix.cpp + sdk/foobar2000/shared/stdafx.cpp + sdk/foobar2000/shared/utf8.cpp +) + +set( + SDK_HEADERS + sdk/foobar2000/SDK/abort_callback.h + sdk/foobar2000/SDK/advconfig.h + sdk/foobar2000/SDK/advconfig_impl.h + sdk/foobar2000/SDK/advconfig_impl_legacy.h + sdk/foobar2000/SDK/album_art.h + sdk/foobar2000/SDK/album_art_helpers.h + sdk/foobar2000/SDK/app_close_blocker.h + sdk/foobar2000/SDK/archive.h + sdk/foobar2000/SDK/audioEncoder.h + sdk/foobar2000/SDK/audio_chunk.h + sdk/foobar2000/SDK/audio_chunk_impl.h + sdk/foobar2000/SDK/audio_postprocessor.h + sdk/foobar2000/SDK/autoplaylist.h + sdk/foobar2000/SDK/callback_merit.h + sdk/foobar2000/SDK/cfg_var.h + sdk/foobar2000/SDK/cfg_var_legacy.h + sdk/foobar2000/SDK/chapterizer.h + sdk/foobar2000/SDK/commandline.h + sdk/foobar2000/SDK/commonObjects-Apple.h + sdk/foobar2000/SDK/commonObjects.h + sdk/foobar2000/SDK/completion_notify.h + sdk/foobar2000/SDK/component.h + sdk/foobar2000/SDK/component_client.h + sdk/foobar2000/SDK/components_menu.h + sdk/foobar2000/SDK/componentversion.h + sdk/foobar2000/SDK/configCache.h + sdk/foobar2000/SDK/configStore.h + sdk/foobar2000/SDK/config_io_callback.h + sdk/foobar2000/SDK/config_object.h + sdk/foobar2000/SDK/config_object_impl.h + sdk/foobar2000/SDK/console.h + sdk/foobar2000/SDK/console_manager.h + sdk/foobar2000/SDK/contextmenu.h + sdk/foobar2000/SDK/contextmenu_manager.h + sdk/foobar2000/SDK/coreDarkMode.h + sdk/foobar2000/SDK/core_api.h + sdk/foobar2000/SDK/coreversion.h + sdk/foobar2000/SDK/decode_postprocessor.h + sdk/foobar2000/SDK/dsp-frontend.h + sdk/foobar2000/SDK/dsp.h + sdk/foobar2000/SDK/dsp_manager.h + sdk/foobar2000/SDK/event_logger.h + sdk/foobar2000/SDK/exception_io.h + sdk/foobar2000/SDK/exceptions.h + sdk/foobar2000/SDK/file.h + sdk/foobar2000/SDK/fileDialog.h + sdk/foobar2000/SDK/file_format_sanitizer.h + sdk/foobar2000/SDK/file_info.h + sdk/foobar2000/SDK/file_info_const_impl.h + sdk/foobar2000/SDK/file_info_filter.h + sdk/foobar2000/SDK/file_info_filter_impl.h + sdk/foobar2000/SDK/file_info_impl.h + sdk/foobar2000/SDK/file_lock_manager.h + sdk/foobar2000/SDK/file_operation_callback.h + sdk/foobar2000/SDK/filesystem.h + sdk/foobar2000/SDK/filesystem_helper.h + sdk/foobar2000/SDK/filesystem_transacted.h + sdk/foobar2000/SDK/foobar2000-all.h + sdk/foobar2000/SDK/foobar2000-lite.h + sdk/foobar2000/SDK/foobar2000-pfc.h + sdk/foobar2000/SDK/foobar2000-sdk-pch.h + sdk/foobar2000/SDK/foobar2000-versions.h + sdk/foobar2000/SDK/foobar2000-winver.h + sdk/foobar2000/SDK/foobar2000.h + sdk/foobar2000/SDK/foosort.h + sdk/foobar2000/SDK/foosortstring.h + sdk/foobar2000/SDK/forward_types.h + sdk/foobar2000/SDK/fsitem.h + sdk/foobar2000/SDK/genrand.h + sdk/foobar2000/SDK/hasher_md5.h + sdk/foobar2000/SDK/http_client.h + sdk/foobar2000/SDK/icon_remap.h + sdk/foobar2000/SDK/image.h + sdk/foobar2000/SDK/imageLoaderLite.h + sdk/foobar2000/SDK/imageViewer.h + sdk/foobar2000/SDK/info_lookup_handler.h + sdk/foobar2000/SDK/initquit.h + sdk/foobar2000/SDK/input.h + sdk/foobar2000/SDK/input_file_type.h + sdk/foobar2000/SDK/input_impl.h + sdk/foobar2000/SDK/keyValueIO.h + sdk/foobar2000/SDK/keyValueIOimpl.h + sdk/foobar2000/SDK/library_callbacks.h + sdk/foobar2000/SDK/library_index.h + sdk/foobar2000/SDK/library_manager.h + sdk/foobar2000/SDK/link_resolver.h + sdk/foobar2000/SDK/main_thread_callback.h + sdk/foobar2000/SDK/mem_block_container.h + sdk/foobar2000/SDK/menu.h + sdk/foobar2000/SDK/menu_common.h + sdk/foobar2000/SDK/menu_helpers.h + sdk/foobar2000/SDK/messageBox.h + sdk/foobar2000/SDK/message_loop.h + sdk/foobar2000/SDK/metadb.h + sdk/foobar2000/SDK/metadb_callbacks.h + sdk/foobar2000/SDK/metadb_display_field_provider.h + sdk/foobar2000/SDK/metadb_handle.h + sdk/foobar2000/SDK/metadb_index.h + sdk/foobar2000/SDK/metadb_info_container_impl.h + sdk/foobar2000/SDK/modeless_dialog.h + sdk/foobar2000/SDK/noInfo.h + sdk/foobar2000/SDK/ole_interaction.h + sdk/foobar2000/SDK/output.h + sdk/foobar2000/SDK/packet_decoder.h + sdk/foobar2000/SDK/play_callback.h + sdk/foobar2000/SDK/playable_location.h + sdk/foobar2000/SDK/playback_control.h + sdk/foobar2000/SDK/playback_stream_capture.h + sdk/foobar2000/SDK/playlist.h + sdk/foobar2000/SDK/playlistColumnProvider.h + sdk/foobar2000/SDK/playlist_loader.h + sdk/foobar2000/SDK/popup_message.h + sdk/foobar2000/SDK/powerManager.h + sdk/foobar2000/SDK/preferences_page.h + sdk/foobar2000/SDK/progress_meter.h + sdk/foobar2000/SDK/replaygain.h + sdk/foobar2000/SDK/replaygain_scanner.h + sdk/foobar2000/SDK/resampler.h + sdk/foobar2000/SDK/search_tools.h + sdk/foobar2000/SDK/service.h + sdk/foobar2000/SDK/service_by_guid.h + sdk/foobar2000/SDK/service_compat.h + sdk/foobar2000/SDK/service_impl.h + sdk/foobar2000/SDK/shortcut_actions.h + sdk/foobar2000/SDK/system_time_keeper.h + sdk/foobar2000/SDK/tag_processor.h + sdk/foobar2000/SDK/threadPool.h + sdk/foobar2000/SDK/threaded_process.h + sdk/foobar2000/SDK/threadsLite.h + sdk/foobar2000/SDK/timer.h + sdk/foobar2000/SDK/titleformat.h + sdk/foobar2000/SDK/titleformat_object.h + sdk/foobar2000/SDK/toolbarDropDown.h + sdk/foobar2000/SDK/track_property.h + sdk/foobar2000/SDK/tracks.h + sdk/foobar2000/SDK/ui.h + sdk/foobar2000/SDK/ui_edit_context.h + sdk/foobar2000/SDK/ui_element.h + sdk/foobar2000/SDK/ui_element_mac.h + sdk/foobar2000/SDK/ui_element_typable_window_manager.h + sdk/foobar2000/SDK/unpack.h + sdk/foobar2000/SDK/vis.h +) + +set( + SDK_SOURCES + sdk/foobar2000/SDK/abort_callback.cpp + sdk/foobar2000/SDK/advconfig.cpp + sdk/foobar2000/SDK/album_art.cpp + sdk/foobar2000/SDK/app_close_blocker.cpp + sdk/foobar2000/SDK/audio_chunk.cpp + sdk/foobar2000/SDK/audio_chunk_channel_config.cpp + sdk/foobar2000/SDK/cfg_var.cpp + sdk/foobar2000/SDK/cfg_var_legacy.cpp + sdk/foobar2000/SDK/chapterizer.cpp + sdk/foobar2000/SDK/commandline.cpp + sdk/foobar2000/SDK/commonObjects-Apple.mm + sdk/foobar2000/SDK/commonObjects.cpp + sdk/foobar2000/SDK/completion_notify.cpp + sdk/foobar2000/SDK/componentversion.cpp + sdk/foobar2000/SDK/configStore.cpp + sdk/foobar2000/SDK/config_io_callback.cpp + sdk/foobar2000/SDK/config_object.cpp + sdk/foobar2000/SDK/console.cpp + sdk/foobar2000/SDK/dsp.cpp + sdk/foobar2000/SDK/dsp_manager.cpp + sdk/foobar2000/SDK/file_cached_impl.cpp + sdk/foobar2000/SDK/file_info.cpp + sdk/foobar2000/SDK/file_info_const_impl.cpp + sdk/foobar2000/SDK/file_info_impl.cpp + sdk/foobar2000/SDK/file_info_merge.cpp + sdk/foobar2000/SDK/file_operation_callback.cpp + sdk/foobar2000/SDK/filesystem.cpp + sdk/foobar2000/SDK/filesystem_helper.cpp + sdk/foobar2000/SDK/foosort.cpp + sdk/foobar2000/SDK/fsItem.cpp + sdk/foobar2000/SDK/guids.cpp + sdk/foobar2000/SDK/hasher_md5.cpp + sdk/foobar2000/SDK/image.cpp + sdk/foobar2000/SDK/input.cpp + sdk/foobar2000/SDK/input_file_type.cpp + sdk/foobar2000/SDK/link_resolver.cpp + sdk/foobar2000/SDK/main_thread_callback.cpp + sdk/foobar2000/SDK/mainmenu.cpp + sdk/foobar2000/SDK/mem_block_container.cpp + sdk/foobar2000/SDK/menu_helpers.cpp + sdk/foobar2000/SDK/menu_item.cpp + sdk/foobar2000/SDK/menu_manager.cpp + sdk/foobar2000/SDK/metadb.cpp + sdk/foobar2000/SDK/metadb_handle.cpp + sdk/foobar2000/SDK/metadb_handle_list.cpp + sdk/foobar2000/SDK/output.cpp + sdk/foobar2000/SDK/packet_decoder.cpp + sdk/foobar2000/SDK/playable_location.cpp + sdk/foobar2000/SDK/playback_control.cpp + sdk/foobar2000/SDK/playlist.cpp + sdk/foobar2000/SDK/playlist_loader.cpp + sdk/foobar2000/SDK/popup_message.cpp + sdk/foobar2000/SDK/preferences_page.cpp + sdk/foobar2000/SDK/replaygain.cpp + sdk/foobar2000/SDK/replaygain_info.cpp + sdk/foobar2000/SDK/service.cpp + sdk/foobar2000/SDK/stdafx.cpp + sdk/foobar2000/SDK/tag_processor.cpp + sdk/foobar2000/SDK/tag_processor_id3v2.cpp + sdk/foobar2000/SDK/threaded_process.cpp + sdk/foobar2000/SDK/titleformat.cpp + sdk/foobar2000/SDK/track_property.cpp + sdk/foobar2000/SDK/ui.cpp + sdk/foobar2000/SDK/ui_element.cpp + sdk/foobar2000/SDK/utility.cpp +) + +set( + SDK_HELPERS_HEADERS + sdk/foobar2000/helpers/AutoComplete.h + sdk/foobar2000/helpers/BumpableElem.h + sdk/foobar2000/helpers/CDialogResizeHelper.h + sdk/foobar2000/helpers/CListControlFb2kColors.h + sdk/foobar2000/helpers/CModelessDialogMessages.h + sdk/foobar2000/helpers/COM_utils.h + sdk/foobar2000/helpers/CPropVariant.h + sdk/foobar2000/helpers/CSingleThreadWrapper.h + sdk/foobar2000/helpers/CTableEditHelper-Legacy.h + sdk/foobar2000/helpers/CallForwarder.h + sdk/foobar2000/helpers/CmdThread.h + sdk/foobar2000/helpers/DarkMode.h + sdk/foobar2000/helpers/ProcessUtils.h + sdk/foobar2000/helpers/ProfileCache.h + sdk/foobar2000/helpers/StdAfx.h + sdk/foobar2000/helpers/ThreadUtils.h + sdk/foobar2000/helpers/VisUtils.h + sdk/foobar2000/helpers/VolumeMap.h + sdk/foobar2000/helpers/WindowPositionUtils.h + sdk/foobar2000/helpers/advconfig_impl.h + sdk/foobar2000/helpers/advconfig_runtime.h + sdk/foobar2000/helpers/albumArtCache.h + sdk/foobar2000/helpers/album_art_helpers.h + sdk/foobar2000/helpers/atl-misc.h + sdk/foobar2000/helpers/audio_render_float.h + sdk/foobar2000/helpers/bitreader_helper.h + sdk/foobar2000/helpers/callInMainThreadHelper.h + sdk/foobar2000/helpers/callback_merit.h + sdk/foobar2000/helpers/cfg_dsp_chain_config.h + sdk/foobar2000/helpers/cfg_guidlist.h + sdk/foobar2000/helpers/cfg_obj.h + sdk/foobar2000/helpers/cfg_objList.h + sdk/foobar2000/helpers/cfg_var_import.h + sdk/foobar2000/helpers/create_directory_helper.h + sdk/foobar2000/helpers/cue_creator.h + sdk/foobar2000/helpers/cue_parser.h + sdk/foobar2000/helpers/cuesheet_index_list.h + sdk/foobar2000/helpers/dialog_resize_helper.h + sdk/foobar2000/helpers/dropdown_helper.h + sdk/foobar2000/helpers/dsp_dialog.h + sdk/foobar2000/helpers/duration_counter.h + sdk/foobar2000/helpers/dynamic_bitrate_helper.h + sdk/foobar2000/helpers/fb2kWorkerTool.h + sdk/foobar2000/helpers/fb2k_threads.h + sdk/foobar2000/helpers/fb2k_wfx.h + sdk/foobar2000/helpers/fileReadAhead.h + sdk/foobar2000/helpers/file_cached.h + sdk/foobar2000/helpers/file_info_const_impl.h + sdk/foobar2000/helpers/file_list_helper.h + sdk/foobar2000/helpers/file_move_helper.h + sdk/foobar2000/helpers/file_streamstub.h + sdk/foobar2000/helpers/file_win32_wrapper.h + sdk/foobar2000/helpers/filetimetools.h + sdk/foobar2000/helpers/foobar2000+atl.h + sdk/foobar2000/helpers/foobar2000-lite+atl.h + sdk/foobar2000/helpers/fullFileBuffer.h + sdk/foobar2000/helpers/helpers.h + sdk/foobar2000/helpers/icon_remapping_wildcard.h + sdk/foobar2000/helpers/image_load_save.h + sdk/foobar2000/helpers/inplace_edit.h + sdk/foobar2000/helpers/input_fix_seeking.h + sdk/foobar2000/helpers/input_helper_cue.h + sdk/foobar2000/helpers/input_helpers.h + sdk/foobar2000/helpers/input_logging.h + sdk/foobar2000/helpers/input_stream_info_reader.h + sdk/foobar2000/helpers/meta_table_builder.h + sdk/foobar2000/helpers/metadb_handle_array.h + sdk/foobar2000/helpers/metadb_handle_set.h + sdk/foobar2000/helpers/metadb_info_container_impl.h + sdk/foobar2000/helpers/metadb_io_callback_v2_data.h + sdk/foobar2000/helpers/metadb_io_hintlist.h + sdk/foobar2000/helpers/mp3_utils.h + sdk/foobar2000/helpers/notifyList.h + sdk/foobar2000/helpers/packet_decoder_aac_common.h + sdk/foobar2000/helpers/packet_decoder_mp3_common.h + sdk/foobar2000/helpers/playlist_position_reference_tracker.h + sdk/foobar2000/helpers/readWriteLock.h + sdk/foobar2000/helpers/reader_pretend_nonseekable.h + sdk/foobar2000/helpers/readers.h + sdk/foobar2000/helpers/readers_lite.h + sdk/foobar2000/helpers/rethrow.h + sdk/foobar2000/helpers/seekabilizer.h + sdk/foobar2000/helpers/stream_buffer_helper.h + sdk/foobar2000/helpers/tag_write_callback_impl.h + sdk/foobar2000/helpers/text_file_loader.h + sdk/foobar2000/helpers/text_file_loader_v2.h + sdk/foobar2000/helpers/track_property_callback_impl.h + sdk/foobar2000/helpers/ui_element_helpers.h + sdk/foobar2000/helpers/win-MulDiv.h + sdk/foobar2000/helpers/win-systemtime.h + sdk/foobar2000/helpers/win32_dialog.h + sdk/foobar2000/helpers/win32_misc.h + sdk/foobar2000/helpers/window_placement_helper.h + sdk/foobar2000/helpers/winmm-types.h + sdk/foobar2000/helpers/writer_wav.h +) + +set( + SDK_HELPERS_SOURCES + sdk/foobar2000/helpers/ThreadUtils.cpp + sdk/foobar2000/helpers/VisUtils.cpp + sdk/foobar2000/helpers/VolumeMap.cpp + sdk/foobar2000/helpers/album_art_helpers.cpp + sdk/foobar2000/helpers/cfg_guidlist.cpp + sdk/foobar2000/helpers/cfg_var_import.cpp + sdk/foobar2000/helpers/create_directory_helper.cpp + sdk/foobar2000/helpers/cue_creator.cpp + sdk/foobar2000/helpers/cue_parser.cpp + sdk/foobar2000/helpers/cue_parser_embedding.cpp + sdk/foobar2000/helpers/cuesheet_index_list.cpp + sdk/foobar2000/helpers/dialog_resize_helper.cpp + sdk/foobar2000/helpers/dropdown_helper.cpp + sdk/foobar2000/helpers/dynamic_bitrate_helper.cpp + sdk/foobar2000/helpers/file_list_helper.cpp + sdk/foobar2000/helpers/file_move_helper.cpp + sdk/foobar2000/helpers/file_win32_wrapper.cpp + sdk/foobar2000/helpers/filetimetools.cpp + sdk/foobar2000/helpers/input_helper_cue.cpp + sdk/foobar2000/helpers/input_helpers.cpp + sdk/foobar2000/helpers/mp3_utils.cpp + sdk/foobar2000/helpers/packet_decoder_aac_common.cpp + sdk/foobar2000/helpers/packet_decoder_mp3_common.cpp + sdk/foobar2000/helpers/readers.cpp + sdk/foobar2000/helpers/seekabilizer.cpp + sdk/foobar2000/helpers/stream_buffer_helper.cpp + sdk/foobar2000/helpers/text_file_loader.cpp + sdk/foobar2000/helpers/text_file_loader_v2.cpp + sdk/foobar2000/helpers/track_property_callback_impl.cpp + sdk/foobar2000/helpers/win-systemtime.cpp + sdk/foobar2000/helpers/win32_misc.cpp + sdk/foobar2000/helpers/writer_wav.cpp +) + +set( + COMPONENT_CLIENT_SOURCES + sdk/foobar2000/foobar2000_component_client/component_client.cpp +) + +set( + SAMPLE_HEADERS + sdk/foobar2000/foo_sample/dsp_sample.h + sdk/foobar2000/foo_sample/foobar2000-mac-class-suffix.h + sdk/foobar2000/foo_sample/playback_stream_capture.h + sdk/foobar2000/foo_sample/resource.h + sdk/foobar2000/helpers-mac/CFObject.h + sdk/foobar2000/helpers-mac/NSComboBox+fb2k.h + sdk/foobar2000/helpers-mac/NSEvent+ppstuff.h + sdk/foobar2000/helpers-mac/NSFont+pp.h + sdk/foobar2000/helpers-mac/NSMenu+ppaddons.h + sdk/foobar2000/helpers-mac/NSView+embed.h + sdk/foobar2000/helpers-mac/NSView+ppsubviews.h + sdk/foobar2000/helpers-mac/fb2k-platform.h + sdk/foobar2000/helpers-mac/fooDecibelFormatter.h + sdk/foobar2000/helpers-mac/fooPreferencesCommon.h + sdk/foobar2000/helpers-mac/fooTimeFormatter.h + sdk/foobar2000/helpers-mac/fooWindowWithCancel.h + sdk/foobar2000/helpers-mac/foobar2000-mac-helpers.h +) + +set( + SAMPLE_SOURCES + sdk/foobar2000/foo_sample/IO.cpp + sdk/foobar2000/foo_sample/Mac/fooSampleDSPView.mm + sdk/foobar2000/foo_sample/Mac/fooSampleMacPreferences.mm + sdk/foobar2000/foo_sample/contextmenu.cpp + sdk/foobar2000/foo_sample/decode.cpp + sdk/foobar2000/foo_sample/dsp_sample.cpp + sdk/foobar2000/foo_sample/initquit.cpp + sdk/foobar2000/foo_sample/input_raw.cpp + sdk/foobar2000/foo_sample/main.cpp + sdk/foobar2000/foo_sample/mainmenu-dynamic.cpp + sdk/foobar2000/foo_sample/playback_stream_capture.cpp + sdk/foobar2000/foo_sample/preferences.cpp + sdk/foobar2000/foo_sample/rating.cpp + sdk/foobar2000/foo_sample/ui_and_threads.cpp + sdk/foobar2000/helpers-mac/NSView+embed.m + sdk/foobar2000/helpers-mac/fooDecibelFormatter.m +) diff --git a/cmake/FileLists.cmake b/cmake/SourcesWindows.cmake similarity index 98% rename from cmake/FileLists.cmake rename to cmake/SourcesWindows.cmake index cf338ca..7bb1e0e 100644 --- a/cmake/FileLists.cmake +++ b/cmake/SourcesWindows.cmake @@ -24,53 +24,12 @@ set( wtl/Include/atlwinx.h ) -set( - SHARED_HEADERS - sdk/foobar2000/shared/audio_math.h - sdk/foobar2000/shared/fb2kdebug.h - sdk/foobar2000/shared/filedialogs.h - sdk/foobar2000/shared/shared-apple.h - sdk/foobar2000/shared/shared.h - sdk/foobar2000/shared/shared-nix.h - sdk/foobar2000/shared/win32_misc.h -) - -set( - PFC_SOURCES - sdk/pfc/audio_math.cpp - sdk/pfc/audio_sample.cpp - sdk/pfc/base64.cpp - sdk/pfc/bigmem.cpp - sdk/pfc/bit_array.cpp - sdk/pfc/bsearch.cpp - sdk/pfc/charDownConvert.cpp - sdk/pfc/cpuid.cpp - sdk/pfc/crashWithMessage.cpp - sdk/pfc/filehandle.cpp - sdk/pfc/filetimetools.cpp - sdk/pfc/guid.cpp - sdk/pfc/other.cpp - sdk/pfc/pathUtils.cpp - sdk/pfc/printf.cpp - sdk/pfc/selftest.cpp - sdk/pfc/SmartStrStr.cpp - sdk/pfc/sort.cpp - sdk/pfc/splitString2.cpp - sdk/pfc/string-compare.cpp - sdk/pfc/string-conv-lite.cpp - sdk/pfc/string-lite.cpp - sdk/pfc/string_base.cpp - sdk/pfc/string_conv.cpp - sdk/pfc/threads.cpp - sdk/pfc/timers.cpp - sdk/pfc/unicode-normalize.cpp - sdk/pfc/utf8.cpp - sdk/pfc/wildcard.cpp - sdk/pfc/win-objects.cpp -) - set( PFC_HEADERS + sdk/pfc/CFObject.h + sdk/pfc/SmartStrStr-table.h + sdk/pfc/SmartStrStr-twoCharMappings.h + sdk/pfc/SmartStrStr.h sdk/pfc/alloc.h sdk/pfc/array.h sdk/pfc/audio_sample.h @@ -105,14 +64,13 @@ set( sdk/pfc/list.h sdk/pfc/lockless.h sdk/pfc/map.h - sdk/pfc/memalign.h sdk/pfc/mem_block.h + sdk/pfc/memalign.h sdk/pfc/notifyList.h sdk/pfc/once.h sdk/pfc/order_helper.h sdk/pfc/other.h sdk/pfc/pathUtils.h - sdk/pfc/pfc-fb2k-hooks.h sdk/pfc/pfc-lite.h sdk/pfc/pfc.h sdk/pfc/platform-objects.h @@ -121,13 +79,10 @@ set( sdk/pfc/pp-winapi.h sdk/pfc/primitives.h sdk/pfc/primitives_part2.h - sdk/pfc/ptrholder.h sdk/pfc/ptr_list.h + sdk/pfc/ptrholder.h sdk/pfc/rcptr.h sdk/pfc/ref_counter.h - sdk/pfc/SmartStrStr-table.h - sdk/pfc/SmartStrStr-twoCharMappings.h - sdk/pfc/SmartStrStr.h sdk/pfc/sort.h sdk/pfc/sort2.h sdk/pfc/sortstring.h @@ -149,6 +104,7 @@ set( sdk/pfc/synchro_nix.h sdk/pfc/synchro_win.h sdk/pfc/targetver.h + sdk/pfc/threadSafeObj.h sdk/pfc/threads.h sdk/pfc/timers.h sdk/pfc/traits.h @@ -160,70 +116,53 @@ set( ) set( - SDK_SOURCES - sdk/foobar2000/SDK/abort_callback.cpp - sdk/foobar2000/SDK/advconfig.cpp - sdk/foobar2000/SDK/album_art.cpp - sdk/foobar2000/SDK/app_close_blocker.cpp - sdk/foobar2000/SDK/audio_chunk.cpp - sdk/foobar2000/SDK/audio_chunk_channel_config.cpp - sdk/foobar2000/SDK/cfg_var.cpp - sdk/foobar2000/SDK/cfg_var_legacy.cpp - sdk/foobar2000/SDK/chapterizer.cpp - sdk/foobar2000/SDK/commandline.cpp - sdk/foobar2000/SDK/commonObjects.cpp - sdk/foobar2000/SDK/completion_notify.cpp - sdk/foobar2000/SDK/componentversion.cpp - sdk/foobar2000/SDK/configStore.cpp - sdk/foobar2000/SDK/config_io_callback.cpp - sdk/foobar2000/SDK/config_object.cpp - sdk/foobar2000/SDK/console.cpp - sdk/foobar2000/SDK/dsp.cpp - sdk/foobar2000/SDK/dsp_manager.cpp - sdk/foobar2000/SDK/file_cached_impl.cpp - sdk/foobar2000/SDK/file_info.cpp - sdk/foobar2000/SDK/file_info_const_impl.cpp - sdk/foobar2000/SDK/file_info_impl.cpp - sdk/foobar2000/SDK/file_info_merge.cpp - sdk/foobar2000/SDK/file_operation_callback.cpp - sdk/foobar2000/SDK/filesystem.cpp - sdk/foobar2000/SDK/filesystem_helper.cpp - sdk/foobar2000/SDK/foosort.cpp - sdk/foobar2000/SDK/fsItem.cpp - sdk/foobar2000/SDK/guids.cpp - sdk/foobar2000/SDK/hasher_md5.cpp - sdk/foobar2000/SDK/image.cpp - sdk/foobar2000/SDK/input.cpp - sdk/foobar2000/SDK/input_file_type.cpp - sdk/foobar2000/SDK/link_resolver.cpp - sdk/foobar2000/SDK/mainmenu.cpp - sdk/foobar2000/SDK/main_thread_callback.cpp - sdk/foobar2000/SDK/mem_block_container.cpp - sdk/foobar2000/SDK/menu_helpers.cpp - sdk/foobar2000/SDK/menu_item.cpp - sdk/foobar2000/SDK/menu_manager.cpp - sdk/foobar2000/SDK/metadb.cpp - sdk/foobar2000/SDK/metadb_handle.cpp - sdk/foobar2000/SDK/metadb_handle_list.cpp - sdk/foobar2000/SDK/output.cpp - sdk/foobar2000/SDK/packet_decoder.cpp - sdk/foobar2000/SDK/playable_location.cpp - sdk/foobar2000/SDK/playback_control.cpp - sdk/foobar2000/SDK/playlist.cpp - sdk/foobar2000/SDK/playlist_loader.cpp - sdk/foobar2000/SDK/popup_message.cpp - sdk/foobar2000/SDK/preferences_page.cpp - sdk/foobar2000/SDK/replaygain.cpp - sdk/foobar2000/SDK/replaygain_info.cpp - sdk/foobar2000/SDK/service.cpp - sdk/foobar2000/SDK/tag_processor.cpp - sdk/foobar2000/SDK/tag_processor_id3v2.cpp - sdk/foobar2000/SDK/threaded_process.cpp - sdk/foobar2000/SDK/titleformat.cpp - sdk/foobar2000/SDK/track_property.cpp - sdk/foobar2000/SDK/ui.cpp - sdk/foobar2000/SDK/ui_element.cpp - sdk/foobar2000/SDK/utility.cpp + PFC_SOURCES + sdk/pfc/SmartStrStr.cpp + sdk/pfc/audio_math.cpp + sdk/pfc/audio_sample.cpp + sdk/pfc/base64.cpp + sdk/pfc/bigmem.cpp + sdk/pfc/bit_array.cpp + sdk/pfc/bsearch.cpp + sdk/pfc/charDownConvert.cpp + sdk/pfc/cpuid.cpp + sdk/pfc/crashWithMessage.cpp + sdk/pfc/filehandle.cpp + sdk/pfc/filetimetools.cpp + sdk/pfc/guid.cpp + sdk/pfc/other.cpp + sdk/pfc/pathUtils.cpp + sdk/pfc/printf.cpp + sdk/pfc/selftest.cpp + sdk/pfc/sort.cpp + sdk/pfc/splitString2.cpp + sdk/pfc/string-compare.cpp + sdk/pfc/string-conv-lite.cpp + sdk/pfc/string-lite.cpp + sdk/pfc/string_base.cpp + sdk/pfc/string_conv.cpp + sdk/pfc/threads.cpp + sdk/pfc/timers.cpp + sdk/pfc/unicode-normalize.cpp + sdk/pfc/utf8.cpp + sdk/pfc/wildcard.cpp + sdk/pfc/win-objects.cpp +) + +set( + SHARED_HEADERS + sdk/foobar2000/shared/audio_math.h + sdk/foobar2000/shared/fb2kdebug.h + sdk/foobar2000/shared/filedialogs.h + sdk/foobar2000/shared/shared-apple.h + sdk/foobar2000/shared/shared-nix.h + sdk/foobar2000/shared/shared.h + sdk/foobar2000/shared/win32_misc.h +) + +set( + SHARED_SOURCES + "" ) set( @@ -236,9 +175,9 @@ set( sdk/foobar2000/SDK/album_art_helpers.h sdk/foobar2000/SDK/app_close_blocker.h sdk/foobar2000/SDK/archive.h + sdk/foobar2000/SDK/audioEncoder.h sdk/foobar2000/SDK/audio_chunk.h sdk/foobar2000/SDK/audio_chunk_impl.h - sdk/foobar2000/SDK/audioEncoder.h sdk/foobar2000/SDK/audio_postprocessor.h sdk/foobar2000/SDK/autoplaylist.h sdk/foobar2000/SDK/callback_merit.h @@ -249,21 +188,21 @@ set( sdk/foobar2000/SDK/commonObjects-Apple.h sdk/foobar2000/SDK/commonObjects.h sdk/foobar2000/SDK/completion_notify.h - sdk/foobar2000/SDK/component_client.h sdk/foobar2000/SDK/component.h + sdk/foobar2000/SDK/component_client.h sdk/foobar2000/SDK/components_menu.h sdk/foobar2000/SDK/componentversion.h sdk/foobar2000/SDK/configCache.h + sdk/foobar2000/SDK/configStore.h sdk/foobar2000/SDK/config_io_callback.h sdk/foobar2000/SDK/config_object.h sdk/foobar2000/SDK/config_object_impl.h - sdk/foobar2000/SDK/configStore.h sdk/foobar2000/SDK/console.h sdk/foobar2000/SDK/console_manager.h sdk/foobar2000/SDK/contextmenu.h sdk/foobar2000/SDK/contextmenu_manager.h - sdk/foobar2000/SDK/core_api.h sdk/foobar2000/SDK/coreDarkMode.h + sdk/foobar2000/SDK/core_api.h sdk/foobar2000/SDK/coreversion.h sdk/foobar2000/SDK/decode_postprocessor.h sdk/foobar2000/SDK/dsp-frontend.h @@ -272,13 +211,13 @@ set( sdk/foobar2000/SDK/event_logger.h sdk/foobar2000/SDK/exception_io.h sdk/foobar2000/SDK/exceptions.h + sdk/foobar2000/SDK/file.h sdk/foobar2000/SDK/fileDialog.h sdk/foobar2000/SDK/file_format_sanitizer.h - sdk/foobar2000/SDK/file.h + sdk/foobar2000/SDK/file_info.h sdk/foobar2000/SDK/file_info_const_impl.h sdk/foobar2000/SDK/file_info_filter.h sdk/foobar2000/SDK/file_info_filter_impl.h - sdk/foobar2000/SDK/file_info.h sdk/foobar2000/SDK/file_info_impl.h sdk/foobar2000/SDK/file_lock_manager.h sdk/foobar2000/SDK/file_operation_callback.h @@ -286,12 +225,12 @@ set( sdk/foobar2000/SDK/filesystem_helper.h sdk/foobar2000/SDK/filesystem_transacted.h sdk/foobar2000/SDK/foobar2000-all.h - sdk/foobar2000/SDK/foobar2000.h sdk/foobar2000/SDK/foobar2000-lite.h sdk/foobar2000/SDK/foobar2000-pfc.h sdk/foobar2000/SDK/foobar2000-sdk-pch.h sdk/foobar2000/SDK/foobar2000-versions.h sdk/foobar2000/SDK/foobar2000-winver.h + sdk/foobar2000/SDK/foobar2000.h sdk/foobar2000/SDK/foosort.h sdk/foobar2000/SDK/foosortstring.h sdk/foobar2000/SDK/forward_types.h @@ -305,8 +244,8 @@ set( sdk/foobar2000/SDK/imageViewer.h sdk/foobar2000/SDK/info_lookup_handler.h sdk/foobar2000/SDK/initquit.h - sdk/foobar2000/SDK/input_file_type.h sdk/foobar2000/SDK/input.h + sdk/foobar2000/SDK/input_file_type.h sdk/foobar2000/SDK/input_impl.h sdk/foobar2000/SDK/keyValueIO.h sdk/foobar2000/SDK/keyValueIOimpl.h @@ -316,14 +255,14 @@ set( sdk/foobar2000/SDK/link_resolver.h sdk/foobar2000/SDK/main_thread_callback.h sdk/foobar2000/SDK/mem_block_container.h - sdk/foobar2000/SDK/menu_common.h sdk/foobar2000/SDK/menu.h + sdk/foobar2000/SDK/menu_common.h sdk/foobar2000/SDK/menu_helpers.h sdk/foobar2000/SDK/messageBox.h sdk/foobar2000/SDK/message_loop.h + sdk/foobar2000/SDK/metadb.h sdk/foobar2000/SDK/metadb_callbacks.h sdk/foobar2000/SDK/metadb_display_field_provider.h - sdk/foobar2000/SDK/metadb.h sdk/foobar2000/SDK/metadb_handle.h sdk/foobar2000/SDK/metadb_index.h sdk/foobar2000/SDK/metadb_info_container_impl.h @@ -332,12 +271,12 @@ set( sdk/foobar2000/SDK/ole_interaction.h sdk/foobar2000/SDK/output.h sdk/foobar2000/SDK/packet_decoder.h + sdk/foobar2000/SDK/play_callback.h sdk/foobar2000/SDK/playable_location.h sdk/foobar2000/SDK/playback_control.h sdk/foobar2000/SDK/playback_stream_capture.h - sdk/foobar2000/SDK/play_callback.h - sdk/foobar2000/SDK/playlistColumnProvider.h sdk/foobar2000/SDK/playlist.h + sdk/foobar2000/SDK/playlistColumnProvider.h sdk/foobar2000/SDK/playlist_loader.h sdk/foobar2000/SDK/popup_message.h sdk/foobar2000/SDK/powerManager.h @@ -347,15 +286,15 @@ set( sdk/foobar2000/SDK/replaygain_scanner.h sdk/foobar2000/SDK/resampler.h sdk/foobar2000/SDK/search_tools.h + sdk/foobar2000/SDK/service.h sdk/foobar2000/SDK/service_by_guid.h sdk/foobar2000/SDK/service_compat.h - sdk/foobar2000/SDK/service.h sdk/foobar2000/SDK/service_impl.h sdk/foobar2000/SDK/shortcut_actions.h sdk/foobar2000/SDK/system_time_keeper.h sdk/foobar2000/SDK/tag_processor.h - sdk/foobar2000/SDK/threaded_process.h sdk/foobar2000/SDK/threadPool.h + sdk/foobar2000/SDK/threaded_process.h sdk/foobar2000/SDK/threadsLite.h sdk/foobar2000/SDK/timer.h sdk/foobar2000/SDK/titleformat.h @@ -363,202 +302,238 @@ set( sdk/foobar2000/SDK/toolbarDropDown.h sdk/foobar2000/SDK/track_property.h sdk/foobar2000/SDK/tracks.h + sdk/foobar2000/SDK/ui.h sdk/foobar2000/SDK/ui_edit_context.h sdk/foobar2000/SDK/ui_element.h sdk/foobar2000/SDK/ui_element_mac.h sdk/foobar2000/SDK/ui_element_typable_window_manager.h - sdk/foobar2000/SDK/ui.h sdk/foobar2000/SDK/unpack.h sdk/foobar2000/SDK/vis.h ) set( - SDK_HELPERS_SOURCES - sdk/foobar2000/helpers/album_art_helpers.cpp - sdk/foobar2000/helpers/AutoComplete.cpp - sdk/foobar2000/helpers/cfg_guidlist.cpp - sdk/foobar2000/helpers/cfg_var_import.cpp - sdk/foobar2000/helpers/create_directory_helper.cpp - sdk/foobar2000/helpers/CTableEditHelper-Legacy.cpp - sdk/foobar2000/helpers/cue_creator.cpp - sdk/foobar2000/helpers/cue_parser.cpp - sdk/foobar2000/helpers/cue_parser_embedding.cpp - sdk/foobar2000/helpers/cuesheet_index_list.cpp - sdk/foobar2000/helpers/DarkMode.cpp - sdk/foobar2000/helpers/dialog_resize_helper.cpp - sdk/foobar2000/helpers/dropdown_helper.cpp - sdk/foobar2000/helpers/dynamic_bitrate_helper.cpp - sdk/foobar2000/helpers/file_list_helper.cpp - sdk/foobar2000/helpers/file_move_helper.cpp - sdk/foobar2000/helpers/filetimetools.cpp - sdk/foobar2000/helpers/file_win32_wrapper.cpp - sdk/foobar2000/helpers/image_load_save.cpp - sdk/foobar2000/helpers/inplace_edit.cpp - sdk/foobar2000/helpers/input_helpers.cpp - sdk/foobar2000/helpers/input_helper_cue.cpp - sdk/foobar2000/helpers/mp3_utils.cpp - sdk/foobar2000/helpers/packet_decoder_aac_common.cpp - sdk/foobar2000/helpers/packet_decoder_mp3_common.cpp - sdk/foobar2000/helpers/readers.cpp - sdk/foobar2000/helpers/seekabilizer.cpp - sdk/foobar2000/helpers/stream_buffer_helper.cpp - sdk/foobar2000/helpers/text_file_loader.cpp - sdk/foobar2000/helpers/text_file_loader_v2.cpp - sdk/foobar2000/helpers/ThreadUtils.cpp - sdk/foobar2000/helpers/track_property_callback_impl.cpp - sdk/foobar2000/helpers/ui_element_helpers.cpp - sdk/foobar2000/helpers/VisUtils.cpp - sdk/foobar2000/helpers/VolumeMap.cpp - sdk/foobar2000/helpers/win-systemtime.cpp - sdk/foobar2000/helpers/win32_dialog.cpp - sdk/foobar2000/helpers/win32_misc.cpp - sdk/foobar2000/helpers/WindowPositionUtils.cpp - sdk/foobar2000/helpers/window_placement_helper.cpp - sdk/foobar2000/helpers/writer_wav.cpp -) - -set( - SDK_HELPERS_HEADERS - sdk/foobar2000/helpers/advconfig_impl.h - sdk/foobar2000/helpers/advconfig_runtime.h - sdk/foobar2000/helpers/album_art_helpers.h - sdk/foobar2000/helpers/atl-misc.h - sdk/foobar2000/helpers/audio_render_float.h - sdk/foobar2000/helpers/AutoComplete.h - sdk/foobar2000/helpers/BumpableElem.h - sdk/foobar2000/helpers/callback_merit.h - sdk/foobar2000/helpers/callInMainThreadHelper.h - sdk/foobar2000/helpers/CDialogResizeHelper.h - sdk/foobar2000/helpers/cfg_dsp_chain_config.h - sdk/foobar2000/helpers/cfg_obj.h - sdk/foobar2000/helpers/cfg_objList.h - sdk/foobar2000/helpers/cfg_var_import.h - sdk/foobar2000/helpers/CListControlFb2kColors.h - sdk/foobar2000/helpers/CmdThread.h + SDK_SOURCES + sdk/foobar2000/SDK/abort_callback.cpp + sdk/foobar2000/SDK/advconfig.cpp + sdk/foobar2000/SDK/album_art.cpp + sdk/foobar2000/SDK/app_close_blocker.cpp + sdk/foobar2000/SDK/audio_chunk.cpp + sdk/foobar2000/SDK/audio_chunk_channel_config.cpp + sdk/foobar2000/SDK/cfg_var.cpp + sdk/foobar2000/SDK/cfg_var_legacy.cpp + sdk/foobar2000/SDK/chapterizer.cpp + sdk/foobar2000/SDK/commandline.cpp + sdk/foobar2000/SDK/commonObjects.cpp + sdk/foobar2000/SDK/completion_notify.cpp + sdk/foobar2000/SDK/componentversion.cpp + sdk/foobar2000/SDK/configStore.cpp + sdk/foobar2000/SDK/config_io_callback.cpp + sdk/foobar2000/SDK/config_object.cpp + sdk/foobar2000/SDK/console.cpp + sdk/foobar2000/SDK/dsp.cpp + sdk/foobar2000/SDK/dsp_manager.cpp + sdk/foobar2000/SDK/file_cached_impl.cpp + sdk/foobar2000/SDK/file_info.cpp + sdk/foobar2000/SDK/file_info_const_impl.cpp + sdk/foobar2000/SDK/file_info_impl.cpp + sdk/foobar2000/SDK/file_info_merge.cpp + sdk/foobar2000/SDK/file_operation_callback.cpp + sdk/foobar2000/SDK/filesystem.cpp + sdk/foobar2000/SDK/filesystem_helper.cpp + sdk/foobar2000/SDK/foosort.cpp + sdk/foobar2000/SDK/fsItem.cpp + sdk/foobar2000/SDK/guids.cpp + sdk/foobar2000/SDK/hasher_md5.cpp + sdk/foobar2000/SDK/image.cpp + sdk/foobar2000/SDK/input.cpp + sdk/foobar2000/SDK/input_file_type.cpp + sdk/foobar2000/SDK/link_resolver.cpp + sdk/foobar2000/SDK/main_thread_callback.cpp + sdk/foobar2000/SDK/mainmenu.cpp + sdk/foobar2000/SDK/mem_block_container.cpp + sdk/foobar2000/SDK/menu_helpers.cpp + sdk/foobar2000/SDK/menu_item.cpp + sdk/foobar2000/SDK/menu_manager.cpp + sdk/foobar2000/SDK/metadb.cpp + sdk/foobar2000/SDK/metadb_handle.cpp + sdk/foobar2000/SDK/metadb_handle_list.cpp + sdk/foobar2000/SDK/output.cpp + sdk/foobar2000/SDK/packet_decoder.cpp + sdk/foobar2000/SDK/playable_location.cpp + sdk/foobar2000/SDK/playback_control.cpp + sdk/foobar2000/SDK/playlist.cpp + sdk/foobar2000/SDK/playlist_loader.cpp + sdk/foobar2000/SDK/popup_message.cpp + sdk/foobar2000/SDK/preferences_page.cpp + sdk/foobar2000/SDK/replaygain.cpp + sdk/foobar2000/SDK/replaygain_info.cpp + sdk/foobar2000/SDK/service.cpp + sdk/foobar2000/SDK/stdafx.cpp + sdk/foobar2000/SDK/tag_processor.cpp + sdk/foobar2000/SDK/tag_processor_id3v2.cpp + sdk/foobar2000/SDK/threaded_process.cpp + sdk/foobar2000/SDK/titleformat.cpp + sdk/foobar2000/SDK/track_property.cpp + sdk/foobar2000/SDK/ui.cpp + sdk/foobar2000/SDK/ui_element.cpp + sdk/foobar2000/SDK/utility.cpp +) + +set( + SDK_HELPERS_HEADERS + sdk/foobar2000/helpers/AutoComplete.h + sdk/foobar2000/helpers/BumpableElem.h + sdk/foobar2000/helpers/CDialogResizeHelper.h + sdk/foobar2000/helpers/CListControlFb2kColors.h sdk/foobar2000/helpers/CModelessDialogMessages.h + sdk/foobar2000/helpers/COM_utils.h sdk/foobar2000/helpers/CPropVariant.h sdk/foobar2000/helpers/CSingleThreadWrapper.h sdk/foobar2000/helpers/CTableEditHelper-Legacy.h + sdk/foobar2000/helpers/CallForwarder.h + sdk/foobar2000/helpers/CmdThread.h sdk/foobar2000/helpers/DarkMode.h - sdk/foobar2000/helpers/dsp_dialog.h - sdk/foobar2000/helpers/duration_counter.h - sdk/foobar2000/helpers/fb2kWorkerTool.h - sdk/foobar2000/helpers/fb2k_threads.h - sdk/foobar2000/helpers/fb2k_wfx.h - sdk/foobar2000/helpers/fileReadAhead.h - sdk/foobar2000/helpers/file_streamstub.h - sdk/foobar2000/helpers/foobar2000+atl.h - sdk/foobar2000/helpers/foobar2000-lite+atl.h - sdk/foobar2000/helpers/fullFileBuffer.h + sdk/foobar2000/helpers/ProcessUtils.h + sdk/foobar2000/helpers/ProfileCache.h + sdk/foobar2000/helpers/StdAfx.h + sdk/foobar2000/helpers/ThreadUtils.h + sdk/foobar2000/helpers/VisUtils.h + sdk/foobar2000/helpers/VolumeMap.h + sdk/foobar2000/helpers/WindowPositionUtils.h + sdk/foobar2000/helpers/advconfig_impl.h + sdk/foobar2000/helpers/advconfig_runtime.h + sdk/foobar2000/helpers/albumArtCache.h + sdk/foobar2000/helpers/album_art_helpers.h + sdk/foobar2000/helpers/atl-misc.h + sdk/foobar2000/helpers/audio_render_float.h sdk/foobar2000/helpers/bitreader_helper.h - sdk/foobar2000/helpers/CallForwarder.h + sdk/foobar2000/helpers/callInMainThreadHelper.h + sdk/foobar2000/helpers/callback_merit.h + sdk/foobar2000/helpers/cfg_dsp_chain_config.h sdk/foobar2000/helpers/cfg_guidlist.h - sdk/foobar2000/helpers/COM_utils.h + sdk/foobar2000/helpers/cfg_obj.h + sdk/foobar2000/helpers/cfg_objList.h + sdk/foobar2000/helpers/cfg_var_import.h sdk/foobar2000/helpers/create_directory_helper.h sdk/foobar2000/helpers/cue_creator.h sdk/foobar2000/helpers/cue_parser.h sdk/foobar2000/helpers/cuesheet_index_list.h sdk/foobar2000/helpers/dialog_resize_helper.h sdk/foobar2000/helpers/dropdown_helper.h + sdk/foobar2000/helpers/dsp_dialog.h + sdk/foobar2000/helpers/duration_counter.h sdk/foobar2000/helpers/dynamic_bitrate_helper.h + sdk/foobar2000/helpers/fb2kWorkerTool.h + sdk/foobar2000/helpers/fb2k_threads.h + sdk/foobar2000/helpers/fb2k_wfx.h + sdk/foobar2000/helpers/fileReadAhead.h sdk/foobar2000/helpers/file_cached.h sdk/foobar2000/helpers/file_info_const_impl.h sdk/foobar2000/helpers/file_list_helper.h sdk/foobar2000/helpers/file_move_helper.h + sdk/foobar2000/helpers/file_streamstub.h sdk/foobar2000/helpers/file_win32_wrapper.h sdk/foobar2000/helpers/filetimetools.h + sdk/foobar2000/helpers/foobar2000+atl.h + sdk/foobar2000/helpers/foobar2000-lite+atl.h + sdk/foobar2000/helpers/fullFileBuffer.h sdk/foobar2000/helpers/helpers.h sdk/foobar2000/helpers/icon_remapping_wildcard.h sdk/foobar2000/helpers/image_load_save.h sdk/foobar2000/helpers/inplace_edit.h sdk/foobar2000/helpers/input_fix_seeking.h - sdk/foobar2000/helpers/input_helpers.h sdk/foobar2000/helpers/input_helper_cue.h + sdk/foobar2000/helpers/input_helpers.h sdk/foobar2000/helpers/input_logging.h sdk/foobar2000/helpers/input_stream_info_reader.h + sdk/foobar2000/helpers/meta_table_builder.h sdk/foobar2000/helpers/metadb_handle_array.h sdk/foobar2000/helpers/metadb_handle_set.h sdk/foobar2000/helpers/metadb_info_container_impl.h sdk/foobar2000/helpers/metadb_io_callback_v2_data.h - sdk/foobar2000/helpers/meta_table_builder.h sdk/foobar2000/helpers/metadb_io_hintlist.h sdk/foobar2000/helpers/mp3_utils.h sdk/foobar2000/helpers/notifyList.h sdk/foobar2000/helpers/packet_decoder_aac_common.h sdk/foobar2000/helpers/packet_decoder_mp3_common.h sdk/foobar2000/helpers/playlist_position_reference_tracker.h - sdk/foobar2000/helpers/ProcessUtils.h - sdk/foobar2000/helpers/ProfileCache.h + sdk/foobar2000/helpers/readWriteLock.h + sdk/foobar2000/helpers/reader_pretend_nonseekable.h sdk/foobar2000/helpers/readers.h sdk/foobar2000/helpers/readers_lite.h - sdk/foobar2000/helpers/reader_pretend_nonseekable.h - sdk/foobar2000/helpers/readWriteLock.h sdk/foobar2000/helpers/rethrow.h sdk/foobar2000/helpers/seekabilizer.h - sdk/foobar2000/helpers/StdAfx.h sdk/foobar2000/helpers/stream_buffer_helper.h sdk/foobar2000/helpers/tag_write_callback_impl.h sdk/foobar2000/helpers/text_file_loader.h sdk/foobar2000/helpers/text_file_loader_v2.h - sdk/foobar2000/helpers/ThreadUtils.h sdk/foobar2000/helpers/track_property_callback_impl.h sdk/foobar2000/helpers/ui_element_helpers.h - sdk/foobar2000/helpers/VisUtils.h - sdk/foobar2000/helpers/VolumeMap.h + sdk/foobar2000/helpers/win-MulDiv.h sdk/foobar2000/helpers/win-systemtime.h sdk/foobar2000/helpers/win32_dialog.h sdk/foobar2000/helpers/win32_misc.h - sdk/foobar2000/helpers/WindowPositionUtils.h sdk/foobar2000/helpers/window_placement_helper.h sdk/foobar2000/helpers/winmm-types.h sdk/foobar2000/helpers/writer_wav.h ) set( - PPUI_SOURCES - sdk/libPPUI/AutoComplete.cpp - sdk/libPPUI/CEditWithButtons.cpp - sdk/libPPUI/clipboard.cpp - sdk/libPPUI/CListAccessible.cpp - sdk/libPPUI/CListControl-Cells.cpp - sdk/libPPUI/CListControl-Subst.cpp - sdk/libPPUI/CListControl.cpp - sdk/libPPUI/CListControlHeaderImpl.cpp - sdk/libPPUI/CListControlTruncationTooltipImpl.cpp - sdk/libPPUI/CListControlWithSelection.cpp - sdk/libPPUI/CMiddleDragImpl.cpp - sdk/libPPUI/commandline_parser.cpp - sdk/libPPUI/Controls.cpp - sdk/libPPUI/CDialogResizeHelper.cpp - sdk/libPPUI/CPowerRequest.cpp - sdk/libPPUI/DarkMode.cpp - sdk/libPPUI/EditBoxFix.cpp - sdk/libPPUI/gdiplus_helpers.cpp - sdk/libPPUI/GDIUtils.cpp - sdk/libPPUI/IDataObjectUtils.cpp - sdk/libPPUI/ImageEncoder.cpp - sdk/libPPUI/InPlaceCombo.cpp - sdk/libPPUI/InPlaceEdit.cpp - sdk/libPPUI/InPlaceEditTable.cpp - sdk/libPPUI/listview_helper.cpp - sdk/libPPUI/PaintUtils.cpp - sdk/libPPUI/TypeFind.cpp - sdk/libPPUI/win32_op.cpp - sdk/libPPUI/win32_utility.cpp - sdk/libPPUI/wtl-pp.cpp + SDK_HELPERS_SOURCES + sdk/foobar2000/helpers/AutoComplete.cpp + sdk/foobar2000/helpers/CTableEditHelper-Legacy.cpp + sdk/foobar2000/helpers/DarkMode.cpp + sdk/foobar2000/helpers/ThreadUtils.cpp + sdk/foobar2000/helpers/VisUtils.cpp + sdk/foobar2000/helpers/VolumeMap.cpp + sdk/foobar2000/helpers/WindowPositionUtils.cpp + sdk/foobar2000/helpers/album_art_helpers.cpp + sdk/foobar2000/helpers/cfg_guidlist.cpp + sdk/foobar2000/helpers/cfg_var_import.cpp + sdk/foobar2000/helpers/create_directory_helper.cpp + sdk/foobar2000/helpers/cue_creator.cpp + sdk/foobar2000/helpers/cue_parser.cpp + sdk/foobar2000/helpers/cue_parser_embedding.cpp + sdk/foobar2000/helpers/cuesheet_index_list.cpp + sdk/foobar2000/helpers/dialog_resize_helper.cpp + sdk/foobar2000/helpers/dropdown_helper.cpp + sdk/foobar2000/helpers/dynamic_bitrate_helper.cpp + sdk/foobar2000/helpers/file_list_helper.cpp + sdk/foobar2000/helpers/file_move_helper.cpp + sdk/foobar2000/helpers/file_win32_wrapper.cpp + sdk/foobar2000/helpers/filetimetools.cpp + sdk/foobar2000/helpers/image_load_save.cpp + sdk/foobar2000/helpers/inplace_edit.cpp + sdk/foobar2000/helpers/input_helper_cue.cpp + sdk/foobar2000/helpers/input_helpers.cpp + sdk/foobar2000/helpers/mp3_utils.cpp + sdk/foobar2000/helpers/packet_decoder_aac_common.cpp + sdk/foobar2000/helpers/packet_decoder_mp3_common.cpp + sdk/foobar2000/helpers/readers.cpp + sdk/foobar2000/helpers/seekabilizer.cpp + sdk/foobar2000/helpers/stream_buffer_helper.cpp + sdk/foobar2000/helpers/text_file_loader.cpp + sdk/foobar2000/helpers/text_file_loader_v2.cpp + sdk/foobar2000/helpers/track_property_callback_impl.cpp + sdk/foobar2000/helpers/ui_element_helpers.cpp + sdk/foobar2000/helpers/win-systemtime.cpp + sdk/foobar2000/helpers/win32_dialog.cpp + sdk/foobar2000/helpers/win32_misc.cpp + sdk/foobar2000/helpers/window_placement_helper.cpp + sdk/foobar2000/helpers/writer_wav.cpp ) set( PPUI_HEADERS sdk/libPPUI/AutoComplete.h sdk/libPPUI/CButtonLite.h + sdk/libPPUI/CDialogResizeHelper.h sdk/libPPUI/CDialogResizeHelperCompat.h sdk/libPPUI/CEditWithButtons.h sdk/libPPUI/CEnumString.h sdk/libPPUI/CFlashWindow.h sdk/libPPUI/CHeaderCtrlEx.h sdk/libPPUI/CIconOverlayWindow.h - sdk/libPPUI/clipboard.h sdk/libPPUI/CListAccessible.h sdk/libPPUI/CListControl-Cell.h sdk/libPPUI/CListControl-Cells-Compat.h @@ -577,55 +552,100 @@ set( sdk/libPPUI/CMiddleDragImpl.h sdk/libPPUI/CMiddleDragLite.h sdk/libPPUI/CMiddleDragOverlay.h - sdk/libPPUI/commandline_parser.h - sdk/libPPUI/Controls.h sdk/libPPUI/CPopupTooltipMessage.h sdk/libPPUI/CPowerRequest.h sdk/libPPUI/CPropVariant.h sdk/libPPUI/CWindowCreateAndDelete.h - sdk/libPPUI/CDialogResizeHelper.h + sdk/libPPUI/Controls.h sdk/libPPUI/DarkMode-CHyperLink.h sdk/libPPUI/DarkMode.h sdk/libPPUI/DarkModeEx.h sdk/libPPUI/EditBoxFixes.h - sdk/libPPUI/gdi-types-portable.h - sdk/libPPUI/gdiplus-helpers-webp.h - sdk/libPPUI/gdiplus_helpers.h sdk/libPPUI/GDIUtils.h - sdk/libPPUI/gesture.h - sdk/libPPUI/hookWindowMessages.h sdk/libPPUI/HyperLinkCtrl.h sdk/libPPUI/IDataObjectUtils.h sdk/libPPUI/ImageEncoder.h sdk/libPPUI/ImplementOnFinalMessage.h sdk/libPPUI/InPlaceEdit.h sdk/libPPUI/InPlaceEditTable.h - sdk/libPPUI/link-CommonControls6.h - sdk/libPPUI/listview_helper.h sdk/libPPUI/PaintUtils.h - sdk/libPPUI/pp-COM-macros.h sdk/libPPUI/ReStyleWnd.h sdk/libPPUI/SmartStrStr.h - sdk/libPPUI/stdafx.h - sdk/libPPUI/targetver.h sdk/libPPUI/TreeMultiSel.h sdk/libPPUI/TypeFind.h + sdk/libPPUI/clipboard.h + sdk/libPPUI/commandline_parser.h + sdk/libPPUI/gdi-types-portable.h + sdk/libPPUI/gdiplus-helpers-webp.h + sdk/libPPUI/gdiplus_helpers.h + sdk/libPPUI/gesture.h + sdk/libPPUI/hookWindowMessages.h + sdk/libPPUI/link-CommonControls6.h + sdk/libPPUI/listview_helper.h + sdk/libPPUI/pp-COM-macros.h + sdk/libPPUI/stdafx.h + sdk/libPPUI/targetver.h sdk/libPPUI/win32_op.h sdk/libPPUI/win32_utility.h sdk/libPPUI/windowLifetime.h sdk/libPPUI/wtl-pp.h ) +set( + PPUI_SOURCES + sdk/libPPUI/AutoComplete.cpp + sdk/libPPUI/CDialogResizeHelper.cpp + sdk/libPPUI/CEditWithButtons.cpp + sdk/libPPUI/CListAccessible.cpp + sdk/libPPUI/CListControl-Cells.cpp + sdk/libPPUI/CListControl-Subst.cpp + sdk/libPPUI/CListControl.cpp + sdk/libPPUI/CListControlHeaderImpl.cpp + sdk/libPPUI/CListControlTruncationTooltipImpl.cpp + sdk/libPPUI/CListControlWithSelection.cpp + sdk/libPPUI/CMiddleDragImpl.cpp + sdk/libPPUI/CPowerRequest.cpp + sdk/libPPUI/Controls.cpp + sdk/libPPUI/DarkMode.cpp + sdk/libPPUI/EditBoxFix.cpp + sdk/libPPUI/GDIUtils.cpp + sdk/libPPUI/IDataObjectUtils.cpp + sdk/libPPUI/ImageEncoder.cpp + sdk/libPPUI/InPlaceCombo.cpp + sdk/libPPUI/InPlaceEdit.cpp + sdk/libPPUI/InPlaceEditTable.cpp + sdk/libPPUI/PaintUtils.cpp + sdk/libPPUI/TypeFind.cpp + sdk/libPPUI/clipboard.cpp + sdk/libPPUI/commandline_parser.cpp + sdk/libPPUI/gdiplus_helpers.cpp + sdk/libPPUI/listview_helper.cpp + sdk/libPPUI/stdafx.cpp + sdk/libPPUI/win32_op.cpp + sdk/libPPUI/win32_utility.cpp + sdk/libPPUI/wtl-pp.cpp +) + set( COMPONENT_CLIENT_SOURCES sdk/foobar2000/foobar2000_component_client/component_client.cpp ) +set( + SAMPLE_HEADERS + sdk/foobar2000/foo_sample/dsp_sample.h + sdk/foobar2000/foo_sample/foobar2000-mac-class-suffix.h + sdk/foobar2000/foo_sample/playback_stream_capture.h + sdk/foobar2000/foo_sample/resource.h +) + set( SAMPLE_SOURCES + sdk/foobar2000/foo_sample/IO.cpp sdk/foobar2000/foo_sample/contextmenu.cpp sdk/foobar2000/foo_sample/decode.cpp sdk/foobar2000/foo_sample/dsp_sample.cpp + sdk/foobar2000/foo_sample/foo_sample.rc sdk/foobar2000/foo_sample/initquit.cpp sdk/foobar2000/foo_sample/input_raw.cpp sdk/foobar2000/foo_sample/listcontrol-advanced.cpp @@ -634,7 +654,6 @@ set( sdk/foobar2000/foo_sample/main.cpp sdk/foobar2000/foo_sample/mainmenu-dynamic.cpp sdk/foobar2000/foo_sample/mainmenu.cpp - sdk/foobar2000/foo_sample/IO.cpp sdk/foobar2000/foo_sample/playback_state.cpp sdk/foobar2000/foo_sample/playback_stream_capture.cpp sdk/foobar2000/foo_sample/preferences.cpp @@ -642,13 +661,4 @@ set( sdk/foobar2000/foo_sample/ui_and_threads.cpp sdk/foobar2000/foo_sample/ui_element.cpp sdk/foobar2000/foo_sample/ui_element_dialog.cpp - sdk/foobar2000/foo_sample/foo_sample.rc -) - -set( - SAMPLE_HEADERS - sdk/foobar2000/foo_sample/dsp_sample.h - sdk/foobar2000/foo_sample/playback_stream_capture.h - sdk/foobar2000/foo_sample/resource.h - sdk/foobar2000/foo_sample/stdafx.h ) diff --git a/scripts/dump-pbxproj.sh b/scripts/dump-pbxproj.sh new file mode 100755 index 0000000..bc169f2 --- /dev/null +++ b/scripts/dump-pbxproj.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +set -e + +project_dir=$1 + +if [ -z "$project_dir" ]; then + echo "usage: $(basename $0) dir.xcodeproj [source_dir...]" + exit 1 +fi + +project_file="$project_dir/project.pbxproj" + +if [ ! -f "$project_file" ]; then + echo "File not found: $project_file" + exit 1 +fi + +source_dirs=($(dirname $project_dir)) + +shift + +for arg in "$@"; do + source_dirs+=($arg) +done + +function resolve_paths +{ + while IFS= read -r file_name; do + found=0 + + for dir in "${source_dirs[@]}"; do + if [ -f "$dir/$file_name" ]; then + echo "$dir/$file_name" + found=1 + break + fi + done + + if [ $found -eq 0 ]; then + echo "# File not found: $file_name" >&2 + fi + done +} + +sed -n '/Begin PBXBuildFile section/,/End PBXBuildFile section/p' "$project_file" | \ +grep -Po '(?<=/\* ).*(?= in Sources \*/)' | \ +resolve_paths diff --git a/scripts/dump-vcxproj.sh b/scripts/dump-vcxproj.sh index 02d846a..81049e4 100755 --- a/scripts/dump-vcxproj.sh +++ b/scripts/dump-vcxproj.sh @@ -2,59 +2,35 @@ set -e -target_prefix=$1 -project_file=$2 +project_file=$1 -if [ -z "$target_prefix" ] || [ -z "$project_file" ]; then - echo "usage: $(basename $0) project_file target_prefix" +if [ -z "$project_file" ]; then + echo "usage: $(basename $0) file.vcxproj" exit 1 fi -xmlns='http://schemas.microsoft.com/developer/msbuild/2003' -compile_xpath='//x:Project/x:ItemGroup/x:ClCompile/@Include' -resource_xpath='//x:Project/x:ItemGroup/x:ResourceCompile/@Include' -include_xpath='//x:Project/x:ItemGroup/x:ClInclude/@Include' +if [ ! -f "$project_file" ]; then + echo "File not found: $project_file" + exit 1 +fi -project_dir="$(dirname $project_file)" +source_dir="$(dirname $project_file)" -if [ "$project_dir" = "." ]; then +if [ "$source_dir" = "." ]; then path_prefix="" else - path_prefix="$project_dir/" + path_prefix="$source_dir/" fi -if [ -n "$VCXPROJ_IGNORE" ]; then - ignore_pattern="$VCXPROJ_IGNORE" -else - ignore_pattern='$^' -fi - -function write_header() -{ - printf '\nset(\n %s_%s\n' "$target_prefix" "$1" -} - -function write_footer() -{ - printf ')\n' -} +xmlns='http://schemas.microsoft.com/developer/msbuild/2003' +compile_xpath='//x:Project/x:ItemGroup/x:ClCompile/@Include' +resource_xpath='//x:Project/x:ItemGroup/x:ResourceCompile/@Include' function write_nodes() { xmlstarlet sel -N x="$xmlns" -t -v "$1" "$project_file" | \ - grep -viE "$ignore_pattern" | \ - xargs -n1 --no-run-if-empty printf ' %s%s\n' "$path_prefix" + xargs -n1 --no-run-if-empty printf '%s%s\n' "$path_prefix" } -test -f "$project_file" - -write_header SOURCES write_nodes $compile_xpath write_nodes $resource_xpath -write_footer - -if [ "$3" != "--skip-headers" ]; then - write_header HEADERS - write_nodes $include_xpath - write_footer -fi diff --git a/scripts/update-lists.sh b/scripts/update-lists.sh index ec4f907..bf3b0a9 100755 --- a/scripts/update-lists.sh +++ b/scripts/update-lists.sh @@ -3,61 +3,144 @@ set -e script_dir="$(dirname $(readlink -f $0))" -out_file="cmake/FileLists.cmake" function write_prologue() { - echo "# Generated by $(basename $0)" >> "$out_file" + echo "# Generated by $(basename $0)" > "$out_file" } -function dump_dir() +function write_empty() +{ + ( + echo "" + echo "set(" + echo " $1" + echo " \"\"" + echo ")" + ) >> "$out_file" +} + +function skip_ignored() +{ + if [ -z "$ignore_rules" ]; then + cat + else + grep -viE "$ignore_rules" + fi +} + +function write_list() { ( printf '\nset(\n %s\n' "$1" - ls $2 | grep -viE "$IGNORE$" | xargs -n1 --no-run-if-empty printf ' %s\n' + LC_ALL=C sort | uniq | skip_ignored | xargs -n1 --no-run-if-empty printf ' %s\n' printf ')\n' ) >> "$out_file" } -function dump_vcxproj() +function write_headers() { - export VCXPROJ_IGNORE="$IGNORE$" + var_name="$1" + shift - "$script_dir/dump-vcxproj.sh" $1 $2 $3 >> "$out_file" + ( + for arg in "$@"; do + ls $arg/*.h + done + ) | write_list "$var_name" } -IGNORE="stdafx\\.cpp" +function write_vcxproj() +{ + "$script_dir/dump-vcxproj.sh" "$2" | write_list "$1" +} -cd "$script_dir/.." -rm -f $out_file || true -mkdir -p $(dirname $out_file) +function write_pbxproj() +{ + var_name="$1" + shift + "$script_dir/dump-pbxproj.sh" $* | write_list "$var_name" +} + +ignore_rules='' + +function dump_sdk_windows() +{ + out_file="cmake/SourcesWindows.cmake" + write_prologue + + ignore_rules='' + write_headers WTL_HEADERS wtl/Include + + ignore_rules='(pfc-fb2k-hooks\.(h|cpp))|(nix-objects\.(h|cpp))|(stdafx\.cpp)' + write_headers PFC_HEADERS sdk/pfc + write_vcxproj PFC_SOURCES sdk/pfc/pfc.vcxproj + + ignore_rules='' + write_headers SHARED_HEADERS sdk/foobar2000/shared + write_empty SHARED_SOURCES + + ignore_rules='' + write_headers SDK_HEADERS sdk/foobar2000/SDK + write_vcxproj SDK_SOURCES sdk/foobar2000/SDK/foobar2000_SDK.vcxproj + + ignore_rules='(stdafx\.cpp)' + write_headers SDK_HELPERS_HEADERS sdk/foobar2000/helpers + write_vcxproj SDK_HELPERS_SOURCES sdk/foobar2000/helpers/foobar2000_sdk_helpers.vcxproj + + ignore_rules='' + write_headers PPUI_HEADERS sdk/libPPUI + write_vcxproj PPUI_SOURCES sdk/libPPUI/libPPUI.vcxproj + + ignore_rules='' + write_vcxproj COMPONENT_CLIENT_SOURCES \ + sdk/foobar2000/foobar2000_component_client/foobar2000_component_client.vcxproj + + ignore_rules='(stdafx\.h)|(PCH\.cpp)' + write_headers SAMPLE_HEADERS sdk/foobar2000/foo_sample + write_vcxproj SAMPLE_SOURCES sdk/foobar2000/foo_sample/foo_sample.vcxproj +} + +function dump_sdk_macos() +{ + out_file="cmake/SourcesMacOs.cmake" + + write_prologue + + ignore_rules='(pfc-fb2k-hooks\.(h|cpp))|(stdafx\.cpp)' + write_headers PFC_HEADERS sdk/pfc + write_pbxproj PFC_SOURCES sdk/pfc/pfc.xcodeproj -write_prologue + ignore_rules='' + write_headers SHARED_HEADERS sdk/foobar2000/shared + write_pbxproj SHARED_SOURCES sdk/foobar2000/shared/shared.xcodeproj -dump_dir WTL_HEADERS 'wtl/Include/*.h' -dump_dir SHARED_HEADERS 'sdk/foobar2000/shared/*.h' + ignore_rules='' + write_headers SDK_HEADERS sdk/foobar2000/SDK + write_pbxproj SDK_SOURCES sdk/foobar2000/SDK/foobar2000_SDK.xcodeproj -IGNORE="($IGNORE)|(pfc-fb2k-hooks\\.cpp)|(nix-objects\\.(cpp|h))" \ - dump_vcxproj PFC \ - sdk/pfc/pfc.vcxproj + ignore_rules='(stdafx\.cpp)' + write_headers SDK_HELPERS_HEADERS sdk/foobar2000/helpers + write_pbxproj SDK_HELPERS_SOURCES sdk/foobar2000/helpers/foobar2000_SDK_helpers.xcodeproj -dump_vcxproj SDK \ - sdk/foobar2000/SDK/foobar2000_SDK.vcxproj \ - --skip-headers + ignore_rules='' + write_pbxproj COMPONENT_CLIENT_SOURCES \ + sdk/foobar2000/foobar2000_component_client/foobar2000_component_client.xcodeproj -dump_dir SDK_HEADERS \ - 'sdk/foobar2000/SDK/*.h' + ignore_rules='(stdafx\.h)|(PCH\.cpp)' -IGNORE="($IGNORE)|(TypeFind\\.h)" \ - dump_vcxproj SDK_HELPERS \ - sdk/foobar2000/helpers/foobar2000_sdk_helpers.vcxproj + write_headers SAMPLE_HEADERS \ + sdk/foobar2000/foo_sample \ + sdk/foobar2000/helpers-mac -dump_vcxproj PPUI \ - sdk/libPPUI/libPPUI.vcxproj + write_pbxproj SAMPLE_SOURCES \ + sdk/foobar2000/foo_sample/foo_sample.xcodeproj \ + sdk/foobar2000/helpers-mac \ + sdk/foobar2000/foo_sample/Mac +} + +cd "$script_dir/.." -dump_vcxproj COMPONENT_CLIENT \ - sdk/foobar2000/foobar2000_component_client/foobar2000_component_client.vcxproj \ - --skip-headers +dump_sdk_windows +dump_sdk_macos -IGNORE="($IGNORE)|(PCH\\.cpp)" dump_vcxproj SAMPLE \ - sdk/foobar2000/foo_sample/foo_sample.vcxproj