summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorPierre Joye <pierre.php@gmail.com>2021-08-20 11:23:33 +0700
committerPierre Joye <pierre.php@gmail.com>2021-08-20 11:23:33 +0700
commitf61c7e87fdd2e20a7bebce0a1fa02c926afabda4 (patch)
tree5655c0d49605bad38be3e078439faa89473ab766 /docs
parentc08434eb74ebf8ea2e1cc65091217189214c5538 (diff)
downloadlibgd-f61c7e87fdd2e20a7bebce0a1fa02c926afabda4.tar.gz
Add docs build using cmake
Diffstat (limited to 'docs')
-rw-r--r--docs/CMakeLists.txt53
1 files changed, 53 insertions, 0 deletions
diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
new file mode 100644
index 0000000..a7f0e64
--- /dev/null
+++ b/docs/CMakeLists.txt
@@ -0,0 +1,53 @@
+MESSAGE("Looking for naturaldocs....")
+
+find_package(Perl 5.8 COMPONENTS Runtime)
+find_package(NaturalDocs 1.51)
+
+if(PERL_FOUND)
+ SET(NATURALDOCS_FLAGS
+ --rebuild --rebuild-output --documented-only
+ -i "${CMAKE_CURRENT_BINARY_DIR}/tmp/"
+ -img "${CMAKE_CURRENT_SOURCE_DIR}/naturaldocs/images/"
+ -o html "${CMAKE_CURRENT_BINARY_DIR}/api"
+ --project "${CMAKE_CURRENT_SOURCE_DIR}/naturaldocs/project/"
+ -s Default libgd
+ )
+
+ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/docs/api")
+ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/tmp")
+ file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/api")
+
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../COPYING ${CMAKE_CURRENT_BINARY_DIR}/tmp/License.txt COPYONLY)
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../docs/INSTALL ${CMAKE_CURRENT_BINARY_DIR}/tmp/INSTALL.txt COPYONLY)
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../docs/INSTALL.Solaris ${CMAKE_CURRENT_BINARY_DIR}/tmp/INSTALL_SOLARIS.txt COPYONLY)
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../docs/README.CMAKE ${CMAKE_CURRENT_BINARY_DIR}/tmp/INSTALL_CMAKE.txt COPYONLY)
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../docs/README.TESTING ${CMAKE_CURRENT_BINARY_DIR}/tmp/TESTING.txt COPYONLY)
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../docs/README.TXT ${CMAKE_CURRENT_BINARY_DIR}/tmp/README.txt COPYONLY)
+ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../docs/README.JPN ${CMAKE_CURRENT_BINARY_DIR}/tmp/README_JPN.txt COPYONLY)
+
+ execute_process(
+ COMMAND sed -e s/@VERSION@/${GDLIB_VERSION}/g ${CMAKE_CURRENT_SOURCE_DIR}/naturaldocs/preamble.txt
+ OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/tmp/preamble.txt
+ RESULT_VARIABLE TEST_ERROR
+ )
+
+ SET(PERL_ARGS ${CMAKE_CURRENT_SOURCE_DIR}/../src ${CMAKE_CURRENT_BINARY_DIR}/tmp)
+ MESSAGE("${PERL_EXECUTABLE}" ${CMAKE_CURRENT_SOURCE_DIR}/naturaldocs/nobgd.pl ${PERL_ARGS})
+ execute_process(COMMAND "${PERL_EXECUTABLE}" ${CMAKE_CURRENT_SOURCE_DIR}/naturaldocs/nobgd.pl ${PERL_ARGS}
+ RESULT_VARIABLE TEST_ERROR
+ )
+ MESSAGE(${TEST_ERROR})
+ if(NOT DEBUG_MODE)
+ list(APPEND NATURALDOCS_FLAGS --quiet)
+ endif()
+
+ add_custom_target(docs
+ ${NATURALDOCS_EXECUTABLE} ${NATURALDOCS_FLAGS}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ COMMENT "Generating API documentation"
+ )
+
+ #file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/NaturalDocs-config")
+else()
+ message(STATUS "SKIPPING generation of API documentation for JavaScript (Perl not found)")
+endif()