--- src/OrcaSlicer.cpp.orig 2026-03-22 17:56:38 UTC +++ src/OrcaSlicer.cpp @@ -23,7 +23,7 @@ #include #include -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) #include #include #include @@ -174,7 +174,7 @@ std::vector g_slicing_warnin }sliced_info_t; std::vector g_slicing_warnings; -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) #define PIPE_BUFFER_SIZE 512 typedef struct _cli_callback_mgr { @@ -387,7 +387,7 @@ static PrinterTechnology get_printer_technology(const } //BBS: add flush and exit -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) #define flush_and_exit(ret) { boost::nowide::cout << __FUNCTION__ << " found error, return "< key_values = std::map()) { -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) std::string result_file; if (!outputdir.empty()) @@ -1423,7 +1423,7 @@ int CLI::run(int argc, char **argv) pipe_name = pipe_option->value; if (!pipe_name.empty()) { BOOST_LOG_TRIVIAL(info) << boost::format("Will use pipe %1%")%pipe_name; -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) g_cli_callback_mgr.start(pipe_name); PrintBase::SlicingStatus slicing_status{1, "Start to load files"}; cli_status_callback(slicing_status); @@ -4160,7 +4160,7 @@ int CLI::run(int argc, char **argv) ArrangeParams arrange_cfg; BOOST_LOG_TRIVIAL(info) << "will start transforms, commands count " << m_transforms.size() << "\n"; -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) if (g_cli_callback_mgr.is_started()) { PrintBase::SlicingStatus slicing_status{2, "Loading files finished"}; cli_status_callback(slicing_status); @@ -5555,7 +5555,7 @@ int CLI::run(int argc, char **argv) flush_and_exit(1); }*/ BOOST_LOG_TRIVIAL(info) << "Need to slice for plate "<full_print_config()); BOOST_LOG_TRIVIAL(info) << "Slicing result exported to " << outfile << std::endl; part_plate->update_slice_result_valid_state(true); -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) if (g_cli_callback_mgr.is_started()) { PrintBase::SlicingStatus slicing_status{100, "Slicing finished"}; cli_status_callback(slicing_status); @@ -6199,7 +6199,7 @@ int CLI::run(int argc, char **argv) finished = true; }//end for partplate -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) if (g_cli_callback_mgr.is_started()) { int plate_count = (plate_to_slice== 0)?partplate_list.get_plate_count():1; g_cli_callback_mgr.set_plate_info(0, plate_count); @@ -6277,7 +6277,7 @@ int CLI::run(int argc, char **argv) export_3mf_file = outfile_dir + "/"+export_3mf_file; } -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) if (g_cli_callback_mgr.is_started()) { PrintBase::SlicingStatus slicing_status{94, "Generate thumbnails"}; cli_status_callback(slicing_status); @@ -6919,7 +6919,7 @@ int CLI::run(int argc, char **argv) } -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) if (g_cli_callback_mgr.is_started()) { PrintBase::SlicingStatus slicing_status{97, "Exporting 3mf"}; cli_status_callback(slicing_status); @@ -6977,7 +6977,7 @@ int CLI::run(int argc, char **argv) release_PlateData_list(plate_data_src); } -#if defined(__linux__) || defined(__LINUX__) +#if defined(__linux__) || defined(__LINUX__) || defined(__FreeBSD__) if (g_cli_callback_mgr.is_started()) { PrintBase::SlicingStatus slicing_status{100, "All done, Success"}; cli_status_callback(slicing_status);