Browse Source

builds on FreeBSD. related to #253

merge-requests/365/head
Mohammad S. Babaei 10 years ago
parent
commit
3e146234e8
  1. 8
      src/CMakeLists.txt
  2. 4
      src/directories.cc
  3. 4
      src/git.cc

8
src/CMakeLists.txt

@ -27,6 +27,13 @@ set(global_libraries ${global_libraries}
${LIBGIT2_LIBRARIES}
)
if (${CMAKE_SYSTEM_NAME} MATCHES FreeBSD)
set(global_link_directories /usr/local/lib)
endif()
set(global_link_directories
${Boost_LIBRARY_DIRS}
)
set(project_files
config.cc
dialogs.cc
@ -86,6 +93,7 @@ else()
endif()
include_directories(${global_includes})
link_directories(${global_link_directories})
add_library(project_shared OBJECT ${project_shared_files})

4
src/directories.cc

@ -542,10 +542,14 @@ void Directories::add_or_update_path(const boost::filesystem::path &dir_path, co
if(path_it==directories.end()) {
auto g_file=Glib::wrap(g_file_new_for_path(dir_path.string().c_str())); //TODO: report missing constructor in giomm
#if defined(__FreeBSD__)
auto monitor=g_file->monitor_directory(Gio::FileMonitorFlags::FILE_MONITOR_SEND_MOVED);
#else
#if GLIBMM_MAJOR_VERSION>2 || (GLIBMM_MAJOR_VERSION==2 && GLIBMM_MINOR_VERSION>=44)
auto monitor=g_file->monitor_directory(Gio::FileMonitorFlags::FILE_MONITOR_WATCH_MOVES);
#else
auto monitor=g_file->monitor_directory(Gio::FileMonitorFlags::FILE_MONITOR_SEND_MOVED);
#endif
#endif
auto path_and_row=std::make_shared<std::pair<boost::filesystem::path, Gtk::TreeModel::Row> >(dir_path, row);
auto connection=std::make_shared<sigc::connection>();

4
src/git.cc

@ -104,10 +104,14 @@ Git::Repository::Repository(const boost::filesystem::path &path) {
auto git_path_str=boost::filesystem::canonical(get_path()).string();
auto git_directory=Glib::wrap(g_file_new_for_path(git_path_str.c_str())); //TODO: report missing constructor in giomm
#if defined(__FreeBSD__)
monitor=git_directory->monitor_directory(Gio::FileMonitorFlags::FILE_MONITOR_SEND_MOVED);
#else
#if GLIBMM_MAJOR_VERSION>2 || (GLIBMM_MAJOR_VERSION==2 && GLIBMM_MINOR_VERSION>=44)
monitor=git_directory->monitor_directory(Gio::FileMonitorFlags::FILE_MONITOR_WATCH_MOVES);
#else
monitor=git_directory->monitor_directory(Gio::FileMonitorFlags::FILE_MONITOR_SEND_MOVED);
#endif
#endif
monitor_changed_connection=monitor->signal_changed().connect([this](const Glib::RefPtr<Gio::File> &file,

Loading…
Cancel
Save