Commit a6435085 by Jessica Hawkwell

more ensmartening of the tools

1 parent 33bc9aaf
...@@ -6,8 +6,11 @@ set(CMAKE_PROJECT_VERSION_TWEAK ${GIT_COMMIT}) ...@@ -6,8 +6,11 @@ set(CMAKE_PROJECT_VERSION_TWEAK ${GIT_COMMIT})
set(PROJECT_VERSION_TWEAK ${GIT_COMMIT}) set(PROJECT_VERSION_TWEAK ${GIT_COMMIT})
set(Nitrogen_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) 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_CXX_STANDARD 14)
set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD 11)
......
...@@ -58,7 +58,7 @@ PROJECT_LOGO = ...@@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If # entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used. # 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- # 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 # directories (in 2 levels) under the output directory of each output format and
...@@ -946,7 +946,8 @@ FILTER_SOURCE_PATTERNS = ...@@ -946,7 +946,8 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub # (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. # 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 # Configuration options related to source browsing
...@@ -1248,7 +1249,7 @@ DOCSET_FEEDNAME = "Doxygen generated docs" ...@@ -1248,7 +1249,7 @@ DOCSET_FEEDNAME = "Doxygen generated docs"
# The default value is: org.doxygen.Project. # The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_DOCSET is set to YES. # 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 DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
# the documentation publisher. This should be a reverse domain-name style # the documentation publisher. This should be a reverse domain-name style
...@@ -1256,13 +1257,13 @@ DOCSET_BUNDLE_ID = org.doxygen.Project ...@@ -1256,13 +1257,13 @@ DOCSET_BUNDLE_ID = org.doxygen.Project
# The default value is: org.doxygen.Publisher. # The default value is: org.doxygen.Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES. # 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 DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
# The default value is: Publisher. # The default value is: Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES. # 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 # 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 # additional HTML index files: index.hhp, index.hhc, and index.hhk. The
...@@ -1347,7 +1348,7 @@ QCH_FILE = ...@@ -1347,7 +1348,7 @@ QCH_FILE =
# The default value is: org.doxygen.Project. # The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_QHP is set to YES. # 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 # 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 # Help Project output. For more information please see Qt Help Project / Virtual
...@@ -1403,7 +1404,7 @@ GENERATE_ECLIPSEHELP = NO ...@@ -1403,7 +1404,7 @@ GENERATE_ECLIPSEHELP = NO
# The default value is: org.doxygen.Project. # The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. # 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 # 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 # be necessary to disable the index and replace it with your own. The
...@@ -2042,7 +2043,7 @@ INCLUDE_PATH = ...@@ -2042,7 +2043,7 @@ INCLUDE_PATH =
# used. # used.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. # 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 # 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. # defined before the preprocessor is started (similar to the -D option of e.g.
......
...@@ -14,14 +14,18 @@ For example: ...@@ -14,14 +14,18 @@ For example:
--- ---
## Components ## Components
+ [`libnde`](src/libnde) : Library containing common components + [`libnde`](src/nde) : 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/) + [`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 + [`NitroWin`](src/NitroWin) : Nitrogen Window Manager
--- ---
## Documents ## Documents
### User
None yet. :crying_cat_face: 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 ## Runtime Requirements
+ [FreeBSD](http://freebsd.org/) `>= 10.1` (tested using FreeBSD `11.1-RELEASE`) + [FreeBSD](http://freebsd.org/) `>= 10.1` (tested using FreeBSD `11.1-RELEASE`)
...@@ -29,7 +33,6 @@ None yet. :crying_cat_face: ...@@ -29,7 +33,6 @@ None yet. :crying_cat_face:
+ [`x11/xproto`](https://www.freshports.org/x11/xproto/) + [`x11/xproto`](https://www.freshports.org/x11/xproto/)
+ [`devel/boehm-gc`](https://www.freshports.org/devel/boehm-gc/) + [`devel/boehm-gc`](https://www.freshports.org/devel/boehm-gc/)
+ [`devel/boehm-gc-threaded`](https://www.freshports.org/devel/boehm-gc-threaded/) + [`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/) + [`graphics/cairo`](https://www.freshports.org/graphics/cairo/)
--- ---
...@@ -40,8 +43,8 @@ None yet. :crying_cat_face: ...@@ -40,8 +43,8 @@ None yet. :crying_cat_face:
## Tooling ## 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/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`](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`. + 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 ## Building the NDE
...@@ -53,6 +56,12 @@ $ git clone https://felinewith.me/LadySerenaKitty/nitrogen.git ...@@ -53,6 +56,12 @@ $ git clone https://felinewith.me/LadySerenaKitty/nitrogen.git
$ cd nitrogen $ cd nitrogen
``` ```
**Super Simple Testing**
```console
$ ./test_NitroWin.sh
```
This script will automagically run the commands listed below.
**Prep for build** **Prep for build**
```console ```console
$ cmake . $ cmake .
...@@ -68,6 +77,12 @@ $ make ...@@ -68,6 +77,12 @@ $ make
$ ./test_Nitrogen.sh $ ./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 ## Notes
**I do not recommend using NitroWin as a primary window manager. It is still in very early development.** **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` ...@@ -14,7 +14,6 @@ PKGLIST=`find * -type f -name install_manifest.txt`
BUILDS=`find * -type d -name build` BUILDS=`find * -type d -name build`
CORES=`find * -type f -name "*.core"` CORES=`find * -type f -name "*.core"`
VIMS=`find * -type f -name "*~"` 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" FILES="src/nde/nde.h src/ntk/ntk.h src/NitroWin/NitroWin.h"
...@@ -63,11 +62,6 @@ if [ -n "${VIMS}" ]; then ...@@ -63,11 +62,6 @@ if [ -n "${VIMS}" ]; then
rm ${VIMS} rm ${VIMS}
fi fi
if [ -n "${DOC}" ]; then
echo Removing generated documentation
rm -rf ${DOC}
fi
if [ -d localized ]; then if [ -d localized ]; then
echo Removing localized text echo Removing localized text
rm -rf localized rm -rf localized
......
cmake_minimum_required (VERSION 3.10) cmake_minimum_required (VERSION 3.10)
project (NitroWin) project (NitroWin)
configure_file(${PROJECT_NAME}.h.in ${PROJECT_NAME}.h) 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}) link_libraries(${X11_LIBRARIES})
......
cmake_minimum_required (VERSION 3.10) cmake_minimum_required (VERSION 3.10)
project (nde) project (nde)
configure_file(${PROJECT_NAME}.h.in ${PROJECT_NAME}.h) 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 add_library(${PROJECT_NAME} SHARED ndeMain.cpp
nitrogen/NPosition.cpp nitrogen/NPosition.cpp
......
cmake_minimum_required (VERSION 3.10) cmake_minimum_required (VERSION 3.10)
project (ntk) project (ntk)
configure_file(${PROJECT_NAME}.h.in ${PROJECT_NAME}.h) 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_package(X11)
find_library(BoehmGC gc-threaded) 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!