diff --git a/docs/install.md b/docs/install.md index ef2d95c..4d8981e 100644 --- a/docs/install.md +++ b/docs/install.md @@ -2,9 +2,25 @@ ## Installation guide ## Before installation, please install libclangmm, see [installation guide](http://github.com/cppit/libclangmm/blob/master/docs/install.md). -## Debian/Ubuntu +## Debian/Ubuntu 15 ```sh -sudo apt-get install pkg-config libboost-system-dev libboost-thread-dev libboost-filesystem-dev libboost-log-dev libgtkmm-3.0-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev +sudo apt-get install pkg-config libboost-system-dev libboost-thread-dev libboost-filesystem-dev libboost-log-dev libgtkmm-3.0-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev git +``` +```sh +git clone http://github.com/cppit/jucipp.git +cd jucipp +cmake . +make +sudo make install +``` + +## Ubuntu 14/Linux Mint 17 +```sh +sudo add-apt-repository ppa:ubuntu-toolchain-r/test +sudo apt-get update +sudo apt-get install g++-4.9 +sudo apt-get remove g++-4.8 +sudo apt-get install pkg-config libboost-system1.55-dev libboost-thread1.55-dev libboost-filesystem1.55-dev libboost-log1.55-dev libgtkmm-3.0-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev git ``` ```sh git clone http://github.com/cppit/jucipp.git @@ -16,7 +32,7 @@ sudo make install ## OS X with Homebrew (http://brew.sh/) ```sh -brew install pkg-config boost gtkmm3 gtksourceviewmm3 aspell +brew install pkg-config boost gtkmm3 homebrew/x11/gtksourceviewmm3 aspell git ``` ```sh @@ -30,7 +46,7 @@ make install ##Windows with MSYS2 (https://msys2.github.io/) Install dependencies(replace [arch] with i686 or x86_64 depending on your MSYS2 install): ```sh -pacman -S patch autoconf automake-wrapper mingw-w64-[arch]-gtkmm3 mingw-w64-[arch]-boost mingw-w64-[arch]-aspell mingw-w64-[arch]-aspell-en +pacman -S patch autoconf automake-wrapper mingw-w64-[arch]-gtkmm3 mingw-w64-[arch]-boost mingw-w64-[arch]-aspell mingw-w64-[arch]-aspell-en git ``` Get juCi++ source: diff --git a/src/directories.cc b/src/directories.cc index 50ae0ee..52a31c7 100644 --- a/src/directories.cc +++ b/src/directories.cc @@ -9,6 +9,7 @@ using namespace std; //TODO: remove namespace sigc { +#ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE template struct functor_trait { typedef decltype (::sigc::mem_fun(std::declval(), @@ -16,6 +17,9 @@ namespace sigc { typedef typename _intermediate::result_type result_type; typedef Functor functor_type; }; +#else + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE +#endif } Directories::Directories() : stop_update_thread(false) { diff --git a/src/entrybox.cc b/src/entrybox.cc index df79ed4..8cfb1d2 100644 --- a/src/entrybox.cc +++ b/src/entrybox.cc @@ -1,6 +1,7 @@ #include "entrybox.h" namespace sigc { +#ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE template struct functor_trait { typedef decltype (::sigc::mem_fun(std::declval(), @@ -8,6 +9,9 @@ namespace sigc { typedef typename _intermediate::result_type result_type; typedef Functor functor_type; }; +#else + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE +#endif } std::unordered_map > EntryBox::entry_histories; diff --git a/src/notebook.cc b/src/notebook.cc index 6a72c55..4dc4281 100644 --- a/src/notebook.cc +++ b/src/notebook.cc @@ -10,6 +10,7 @@ using namespace std; //TODO: remove namespace sigc { +#ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE template struct functor_trait { typedef decltype (::sigc::mem_fun(std::declval(), @@ -17,6 +18,9 @@ namespace sigc { typedef typename _intermediate::result_type result_type; typedef Functor functor_type; }; +#else + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE +#endif } Notebook::Notebook(Directories &directories) : Gtk::Notebook(), directories(directories) { diff --git a/src/selectiondialog.cc b/src/selectiondialog.cc index f55fdaa..012ecb8 100644 --- a/src/selectiondialog.cc +++ b/src/selectiondialog.cc @@ -2,6 +2,7 @@ #include namespace sigc { +#ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE template struct functor_trait { typedef decltype (::sigc::mem_fun(std::declval(), @@ -9,6 +10,9 @@ namespace sigc { typedef typename _intermediate::result_type result_type; typedef Functor functor_type; }; +#else + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE +#endif } SelectionDialogBase::SelectionDialogBase(Gtk::TextView& text_view, Glib::RefPtr start_mark, bool show_search_entry): text_view(text_view), diff --git a/src/source.cc b/src/source.cc index 4a1502a..61bc789 100644 --- a/src/source.cc +++ b/src/source.cc @@ -12,6 +12,7 @@ using namespace std; //TODO: remove namespace sigc { +#ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE template struct functor_trait { typedef decltype (::sigc::mem_fun(std::declval(), @@ -19,6 +20,9 @@ namespace sigc { typedef typename _intermediate::result_type result_type; typedef Functor functor_type; }; +#else + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE +#endif } Glib::RefPtr Source::guess_language(const boost::filesystem::path &file_path) { diff --git a/src/tooltips.cc b/src/tooltips.cc index 904af36..9ac2fb5 100644 --- a/src/tooltips.cc +++ b/src/tooltips.cc @@ -5,6 +5,7 @@ using namespace std; namespace sigc { +#ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE template struct functor_trait { typedef decltype (::sigc::mem_fun(std::declval(), @@ -12,6 +13,9 @@ namespace sigc { typedef typename _intermediate::result_type result_type; typedef Functor functor_type; }; +#else + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE +#endif } Gdk::Rectangle Tooltips::drawn_tooltips_rectangle=Gdk::Rectangle(); diff --git a/src/window.cc b/src/window.cc index b6d1b1f..eb73164 100644 --- a/src/window.cc +++ b/src/window.cc @@ -10,6 +10,7 @@ using namespace std; //TODO: remove namespace sigc { +#ifndef SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE template struct functor_trait { typedef decltype (::sigc::mem_fun(std::declval(), @@ -17,6 +18,9 @@ namespace sigc { typedef typename _intermediate::result_type result_type; typedef Functor functor_type; }; +#else + SIGC_FUNCTORS_DEDUCE_RESULT_TYPE_WITH_DECLTYPE +#endif } void Window::generate_keybindings() {