<commit_before>macro(add_host_subdirectory group)
  list(APPEND HOST_SOURCES ${ARGN})
  source_group(${group} FILES ${ARGN})
endmacro()

add_host_subdirectory(common
  common/Condition.cpp
  common/Editline.cpp
  common/File.cpp
  common/FileCache.cpp
  common/FileSpec.cpp
  common/Host.cpp
  common/HostInfoBase.cpp
  common/IOObject.cpp
  common/Mutex.cpp
  common/NativeBreakpoint.cpp
  common/NativeBreakpointList.cpp
  common/NativeProcessProtocol.cpp
  common/NativeThreadProtocol.cpp
  common/OptionParser.cpp
  common/Pipe.cpp
  common/ProcessRunLock.cpp
  common/Socket.cpp
  common/SocketAddress.cpp
  common/SoftwareBreakpoint.cpp
  common/Symbols.cpp
  common/Terminal.cpp
  common/TimeValue.cpp
  )

if (CMAKE_SYSTEM_NAME MATCHES "Windows")
  add_host_subdirectory(windows
    windows/FileSystem.cpp
    windows/Host.cpp
    windows/HostInfoWindows.cpp
    windows/HostProcessWindows.cpp
    windows/ProcessRunLock.cpp
    windows/Mutex.cpp
    windows/Condition.cpp
    windows/Windows.cpp
    windows/EditLineWin.cpp
    )
else()
  add_host_subdirectory(posix
    posix/FileSystem.cpp
    posix/HostInfoPosix.cpp
    posix/HostProcessPosix.cpp
    )

  if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
    include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR})
    add_host_subdirectory(macosx
      macosx/Host.mm
      macosx/Symbols.cpp
      macosx/cfcpp/CFCBundle.cpp
      macosx/cfcpp/CFCData.cpp
      macosx/cfcpp/CFCMutableArray.cpp
      macosx/cfcpp/CFCMutableDictionary.cpp
      macosx/cfcpp/CFCMutableSet.cpp
      macosx/cfcpp/CFCString.cpp
      )

  elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
    add_host_subdirectory(linux
      linux/Host.cpp
      linux/HostInfoLinux.cpp
      )
  elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")<commit_msg>Fix MacOSX cmake build for new HostInfoMacOSX file.<commit_after>macro(add_host_subdirectory group)
  list(APPEND HOST_SOURCES ${ARGN})
  source_group(${group} FILES ${ARGN})
endmacro()

add_host_subdirectory(common
  common/Condition.cpp
  common/Editline.cpp
  common/File.cpp
  common/FileCache.cpp
  common/FileSpec.cpp
  common/Host.cpp
  common/HostInfoBase.cpp
  common/IOObject.cpp
  common/Mutex.cpp
  common/NativeBreakpoint.cpp
  common/NativeBreakpointList.cpp
  common/NativeProcessProtocol.cpp
  common/NativeThreadProtocol.cpp
  common/OptionParser.cpp
  common/Pipe.cpp
  common/ProcessRunLock.cpp
  common/Socket.cpp
  common/SocketAddress.cpp
  common/SoftwareBreakpoint.cpp
  common/Symbols.cpp
  common/Terminal.cpp
  common/TimeValue.cpp
  )

if (CMAKE_SYSTEM_NAME MATCHES "Windows")
  add_host_subdirectory(windows
    windows/FileSystem.cpp
    windows/Host.cpp
    windows/HostInfoWindows.cpp
    windows/HostProcessWindows.cpp
    windows/ProcessRunLock.cpp
    windows/Mutex.cpp
    windows/Condition.cpp
    windows/Windows.cpp
    windows/EditLineWin.cpp
    )
else()
  add_host_subdirectory(posix
    posix/FileSystem.cpp
    posix/HostInfoPosix.cpp
    posix/HostProcessPosix.cpp
    )

  if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
    include_directories(SYSTEM ${LIBXML2_INCLUDE_DIR})
    add_host_subdirectory(macosx
      macosx/Host.mm
      macosx/Symbols.cpp
      macosx/HostInfoMacOSX.mm
      macosx/cfcpp/CFCBundle.cpp
      macosx/cfcpp/CFCData.cpp
      macosx/cfcpp/CFCMutableArray.cpp
      macosx/cfcpp/CFCMutableDictionary.cpp
      macosx/cfcpp/CFCMutableSet.cpp
      macosx/cfcpp/CFCString.cpp
      )

  elseif (CMAKE_SYSTEM_NAME MATCHES "Linux")
    add_host_subdirectory(linux
      linux/Host.cpp
      linux/HostInfoLinux.cpp
      )
  elseif (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
{'fraction_non_alphanumeric': 0.08261474269819194, 'fraction_numerical': 0.0005563282336578582, 'mean_word_length': 3.634020618556701, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4481791', 'n_tokens_mistral': 1308, 'n_tokens_neox': 1255, 'n_words': 161}