Skip to content
This repository has been archived by the owner on Jun 25, 2020. It is now read-only.

Commit

Permalink
Merge branch 'cmaster' into python-refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
zalox committed May 5, 2016
2 parents ed9c394 + 9034b37 commit 08c95ce
Show file tree
Hide file tree
Showing 33 changed files with 2,640 additions and 92 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,7 @@
!*.h
!CMakeLists.txt
!config.json
!*.py
!debian/*

build
10 changes: 6 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
[submodule "libclangmm"]
path = libclangmm
url = https://github.com/cppit/libclangmm
[submodule "pybind11"]
path = pybind11
url = https://github.com/pybind/pybind11.git
branch = v0.9.6
[submodule "tiny-process-library"]
path = tiny-process-library
url = https://github.com/eidheim/tiny-process-library
url = https://github.com/eidheim/tiny-process-library
branch = v1.0.4
[submodule "pybind11"]
path = pybind11
url = https://github.com/pybind/pybind11.git
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ towards libclang with speed and ease of use in mind.
* C++ warnings and errors on the fly
* C++ Fix-its
* Debug integration through lldb
* Automated CMake processing
* Automated CMake processing, including support for external libraries
* Fast C++ autocompletion
* Keyword and buffer autocompletion for other file types
* Tooltips showing type information and doxygen documentation (C++)
Expand All @@ -39,9 +39,6 @@ See [enhancements](https://github.com/cppit/jucipp/labels/enhancement) for plann

## Dependencies
* boost-filesystem
* boost-log
* boost-thread
* boost-system
* boost-regex
* gtkmm-3.0
* gtksourceviewmm-3.0
Expand All @@ -52,4 +49,7 @@ See [enhancements](https://github.com/cppit/jucipp/labels/enhancement) for plann
* [tiny-process-library](http://github.com/eidheim/tiny-process-library/) (downloaded directly with git --recursive, no need to install)

## Installation
See [installation guide](http://github.com/cppit/jucipp/blob/master/docs/install.md).
See [installation guide](docs/install.md).

## Documentation
See [how to build the API doc](docs/api.md).
6 changes: 6 additions & 0 deletions debian/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
The Debian Package jucipp
----------------------------

Comments regarding the Package

-- Ole Christian Eidheim <eidheim@gmail.com> Thu, 28 Apr 2016 15:41:24 +0200
6 changes: 6 additions & 0 deletions debian/README.Debian
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
jucipp for Debian
-----------------

<possible notes regarding this package - if none, delete this file>

-- Ole Christian Eidheim <eidheim@gmail.com> Thu, 28 Apr 2016 15:41:24 +0200
10 changes: 10 additions & 0 deletions debian/README.source
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
jucipp for Debian
-----------------

<this file describes information about the source package, see Debian policy
manual section 4.14. You WILL either need to modify or delete this file>



-- Ole Christian Eidheim <eidheim@gmail.com> Thu, 28 Apr 2016 15:41:24 +0200

5 changes: 5 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
jucipp (1.1.3) unstable; urgency=low

* Initial Release.

-- Ole Christian Eidheim <eidheim@gmail.com> Thu, 28 Apr 2016 15:41:24 +0200
1 change: 1 addition & 0 deletions debian/compat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
9
14 changes: 14 additions & 0 deletions debian/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Source: jucipp
Section: unknown
Priority: optional
Maintainer: Ole Christian Eidheim <eidheim@gmail.com>
Build-Depends: debhelper (>= 9), cmake, make, g++, libclang-dev, liblldb-3.5-dev, clang-format-3.5, pkg-config, libboost-system-dev, libboost-thread-dev, libboost-filesystem-dev, libboost-log-dev, libboost-regex-dev, libgtksourceviewmm-3.0-dev, aspell-en, libaspell-dev
Standards-Version: 3.9.5
Homepage: https://github.com/cppit/jucipp

Package: jucipp
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: a lightweight, cross-platform C++11/14/17 IDE
a lightweight, platform independent C++-IDE with support for C++11, C++14,
and experimental C++17 features depending on libclang version.
30 changes: 30 additions & 0 deletions debian/copyright
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: jucipp
Source: <url://example.com>

Files: *
Copyright: <years> <put author's name and email here>
<years> <likewise for another author>
License: MIT
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
# Please avoid to pick license terms that are more restrictive than the
# packaged work, as it may make Debian's contributions unacceptable upstream.
1 change: 1 addition & 0 deletions debian/docs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
README.md
32 changes: 32 additions & 0 deletions debian/rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#DH_VERBOSE = 1

# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk

# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all

# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed


# main packaging script based on dh7 syntax
%:
dh $@ --parallel

# debmake generated override targets
# This is example for Cmake (See http://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- \
# -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)




19 changes: 19 additions & 0 deletions docs/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# juCi++ API doc

## Prerequisites:
* doxygen
* plantuml
* install via apt-get or download from http://plantuml.com/
* see also http://plantuml.com/starting.html
* if downloaded either copy the jar file to /usr/bin or set the environment variable PLANTUML_PATH to point to the path containing the jar file)

## How to build the API doc:
```sh
mkdir jucipp/build
cd jucipp/build
cmake ..
make doc
```

## Where is the generated API documentation
Open jupicpp/build/src/html/index.html
4 changes: 2 additions & 2 deletions docs/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
## Debian testing/Linux Mint/Ubuntu
Install dependencies:
```sh
sudo apt-get install git cmake make g++ libclang-3.6-dev liblldb-3.6-dev clang-format-3.6 pkg-config libboost-system-dev libboost-thread-dev libboost-filesystem-dev libboost-log-dev libboost-regex-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev
sudo apt-get install git cmake make g++ libclang-3.6-dev liblldb-3.6-dev clang-format-3.6 pkg-config libboost-filesystem-dev libboost-regex-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev
```

Get juCi++ source, compile and install:
Expand All @@ -32,7 +32,7 @@ sudo make install
## Debian stable/Linux Mint Debian Edition/Raspbian
Install dependencies:
```sh
sudo apt-get install git cmake make g++ libclang-3.5-dev liblldb-3.5-dev clang-format-3.5 pkg-config libboost-system-dev libboost-thread-dev libboost-filesystem-dev libboost-log-dev libboost-regex-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev
sudo apt-get install git cmake make g++ libclang-3.5-dev liblldb-3.5-dev clang-format-3.5 pkg-config libboost-filesystem-dev libboost-regex-dev libgtksourceviewmm-3.0-dev aspell-en libaspell-dev
```

Get juCi++ source, compile and install:
Expand Down
15 changes: 13 additions & 2 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ if(MSYS)
endif()

find_package(LibClang REQUIRED)
find_package(Boost 1.54 COMPONENTS thread log regex system filesystem REQUIRED)
find_package(Boost 1.54 COMPONENTS regex system filesystem REQUIRED)
find_package(ASPELL REQUIRED)
find_package(PythonLibs 3 REQUIRED)
set(LIBCLANGMM_INCLUDE_DIR ../libclangmm/src)
Expand Down Expand Up @@ -94,7 +94,6 @@ set(project_files
filesystem.h
juci.cc
juci.h
logging.h
menu.cc
menu.h
notebook.cc
Expand Down Expand Up @@ -152,3 +151,15 @@ target_link_libraries(${project_name} ${global_libraries})
install(TARGETS ${project_name}
RUNTIME DESTINATION bin
)

# add a target to generate API documentation with Doxygen
find_package(Plantuml)
find_package(Doxygen)
if(DOXYGEN_FOUND)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen to ${CMAKE_CURRENT_BINARY_DIR}" VERBATIM
)
endif(DOXYGEN_FOUND)
Loading

0 comments on commit 08c95ce

Please sign in to comment.