Commit a6435085 by Jessica Hawkwell

more ensmartening of the tools

1 parent 33bc9aaf
......@@ -6,8 +6,11 @@ set(CMAKE_PROJECT_VERSION_TWEAK ${GIT_COMMIT})
set(PROJECT_VERSION_TWEAK ${GIT_COMMIT})
set(Nitrogen_VERSION_TWEAK ${GIT_COMMIT})
add_custom_target(doc)
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/build/share/doc/nitrogen/${PROJECT_NAME})
configure_file(Doxyfile.in Doxyfile)
execute_process(COMMAND doxygen ${CMAKE_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_custom_target(doc_${PROJECT_NAME} COMMAND doxygen Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_dependencies(doc doc_${PROJECT_NAME})
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 11)
......
......@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY = generated-doc
OUTPUT_DIRECTORY = @CMAKE_BINARY_DIR@/build/share/doc/nitrogen/@PROJECT_NAME@
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
......@@ -946,7 +946,8 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE = @[email protected] \
README.md
#---------------------------------------------------------------------------
# Configuration options related to source browsing
......@@ -1248,7 +1249,7 @@ DOCSET_FEEDNAME = "Doxygen generated docs"
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_BUNDLE_ID = org.doxygen.Project
DOCSET_BUNDLE_ID = me.felinewith.nitrogen.@PROJECT_NAME@
# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
# the documentation publisher. This should be a reverse domain-name style
......@@ -1256,13 +1257,13 @@ DOCSET_BUNDLE_ID = org.doxygen.Project
# The default value is: org.doxygen.Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
DOCSET_PUBLISHER_ID = me.felinewith
# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
# The default value is: Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_PUBLISHER_NAME = Publisher
DOCSET_PUBLISHER_NAME = StarPhoenix Media
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
......@@ -1347,7 +1348,7 @@ QCH_FILE =
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_QHP is set to YES.
QHP_NAMESPACE = org.doxygen.Project
QHP_NAMESPACE = me.felinewith.nitrogen.@PROJECT_NAME@
# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt
# Help Project output. For more information please see Qt Help Project / Virtual
......@@ -1403,7 +1404,7 @@ GENERATE_ECLIPSEHELP = NO
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES.
ECLIPSE_DOC_ID = org.doxygen.Project
ECLIPSE_DOC_ID = me.felinewith.nitrogen.@PROJECT_NAME@
# If you want full control over the layout of the generated HTML pages it might
# be necessary to disable the index and replace it with your own. The
......@@ -2042,7 +2043,7 @@ INCLUDE_PATH =
# used.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
INCLUDE_FILE_PATTERNS =
INCLUDE_FILE_PATTERNS = @CMAKE_INCLUDE_PATH@
# The PREDEFINED tag can be used to specify one or more macro names that are
# defined before the preprocessor is started (similar to the -D option of e.g.
......
......@@ -14,14 +14,18 @@ For example:
---
## Components
+ [`libnde`](src/libnde) : Library containing common components
+ [`libntk`](src/libntk) : Nitrogen ToolKit - all the GUI stuffies, API based on Java Swing and [Xwing](https://github.com/qrux/xwing/)
+ [`libnde`](src/nde) : Library containing common components
+ [`libntk`](src/ntk) : Nitrogen ToolKit - all the GUI stuffies, API based on Java Swing and [Xwing](https://github.com/qrux/xwing/)
+ [`NitroWin`](src/NitroWin) : Nitrogen Window Manager
---
## Documents
### User
None yet. :crying_cat_face:
### Developer
Simply run `make doc` to generate all documentation (*after* the CMake step). Documentation for all subprojects is located in `build/share/doc/nitrogen`.
---
## Runtime Requirements
+ [FreeBSD](http://freebsd.org/) `>= 10.1` (tested using FreeBSD `11.1-RELEASE`)
......@@ -29,7 +33,6 @@ None yet. :crying_cat_face:
+ [`x11/xproto`](https://www.freshports.org/x11/xproto/)
+ [`devel/boehm-gc`](https://www.freshports.org/devel/boehm-gc/)
+ [`devel/boehm-gc-threaded`](https://www.freshports.org/devel/boehm-gc-threaded/)
+ [`lang/rust`](https://www.freshports.org/lang/rust/)
+ [`graphics/cairo`](https://www.freshports.org/graphics/cairo/)
---
......@@ -40,8 +43,8 @@ None yet. :crying_cat_face:
## Tooling
+ [`devel/git`](https://www.freshports.org/devel/git/) **or** [`devel/git-gui`](https://www.freshports.org/devel/git-gui/) (these ports are mutually exclusive, you can only have one of them installed)
+ [`devel/cmake`](https://www.freshports.org/devel/cmake/)
+ [`devel/cmake-modules`](https://www.freshports.org/devel/cmake-modules/) (if this port is not available, then it has been merged with [`devel/cmake`](https://www.freshports.org/devel/cmake/))
+ CLang from the base system (`4.0.0`) is all that's required to build. No need for extra compilers from Ports or `pkg`.
+ ['devel/doxygen`](https://www.freshports.org/devel/doxygen/)
---
## Building the NDE
......@@ -53,6 +56,12 @@ $ git clone https://felinewith.me/LadySerenaKitty/nitrogen.git
$ cd nitrogen
```
**Super Simple Testing**
```console
$ ./test_NitroWin.sh
```
This script will automagically run the commands listed below.
**Prep for build**
```console
$ cmake .
......@@ -68,6 +77,12 @@ $ make
$ ./test_Nitrogen.sh
```
**Super Simple Cleaning**
```console
$ ./clean.sh
```
This script will automatically run `make clean` as well as clear out everything generated by CMake.
---
## Notes
**I do not recommend using NitroWin as a primary window manager. It is still in very early development.**
......@@ -14,7 +14,6 @@ PKGLIST=`find * -type f -name install_manifest.txt`
BUILDS=`find * -type d -name build`
CORES=`find * -type f -name "*.core"`
VIMS=`find * -type f -name "*~"`
DOC=`find * -type d -name generated-doc`
FILES="src/nde/nde.h src/ntk/ntk.h src/NitroWin/NitroWin.h"
......@@ -63,11 +62,6 @@ if [ -n "${VIMS}" ]; then
rm ${VIMS}
fi
if [ -n "${DOC}" ]; then
echo Removing generated documentation
rm -rf ${DOC}
fi
if [ -d localized ]; then
echo Removing localized text
rm -rf localized
......
cmake_minimum_required (VERSION 3.10)
project (NitroWin)
configure_file(${PROJECT_NAME}.h.in ${PROJECT_NAME}.h)
configure_file(${CMAKE_BINARY_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
execute_process(COMMAND doxygen Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/build/share/doc/nitrogen/${PROJECT_NAME})
configure_file(${CMAKE_BINARY_DIR}/Doxyfile.in Doxyfile)
add_custom_target(doc_${PROJECT_NAME} COMMAND doxygen Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_dependencies(doc doc_${PROJECT_NAME})
link_libraries(${X11_LIBRARIES})
......
cmake_minimum_required (VERSION 3.10)
project (nde)
configure_file(${PROJECT_NAME}.h.in ${PROJECT_NAME}.h)
configure_file(${CMAKE_BINARY_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
execute_process(COMMAND doxygen Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/build/share/doc/nitrogen/${PROJECT_NAME})
configure_file(${CMAKE_BINARY_DIR}/Doxyfile.in Doxyfile)
add_custom_target(doc_${PROJECT_NAME} COMMAND doxygen Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_dependencies(doc doc_${PROJECT_NAME})
add_library(${PROJECT_NAME} SHARED ndeMain.cpp
nitrogen/NPosition.cpp
......
cmake_minimum_required (VERSION 3.10)
project (ntk)
configure_file(${PROJECT_NAME}.h.in ${PROJECT_NAME}.h)
configure_file(${CMAKE_BINARY_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
execute_process(COMMAND doxygen Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/build/share/doc/nitrogen/${PROJECT_NAME})
configure_file(${CMAKE_BINARY_DIR}/Doxyfile.in Doxyfile)
add_custom_target(doc_${PROJECT_NAME} COMMAND doxygen Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_dependencies(doc doc_${PROJECT_NAME})
find_package(X11)
find_library(BoehmGC gc-threaded)
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!