diff --git a/CMakeLists.txt b/CMakeLists.txt index 1102161ff..1ad87bcef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,10 +37,13 @@ if (CMAKE_BUILD_TYPE STREQUAL Debug) set(VERSION_STRING "${VERSION_STRING}-debug") endif() -message(STATUS "*** Will build version ${VERSION_STRING} ***") - - # Configuration options +set(BUILD_CLIENT TRUE CACHE BOOL "Build client") +set(BUILD_SERVER FALSE CACHE BOOL "Build server") +set(BUILD_UNITTESTS TRUE CACHE BOOL "Build unittests") +set(BUILD_BENCHMARKS FALSE CACHE BOOL "Build benchmarks") +set(BUILD_DOCUMENTATION TRUE CACHE BOOL "Build documentation") + set(DEFAULT_RUN_IN_PLACE FALSE) if(WIN32) set(DEFAULT_RUN_IN_PLACE TRUE) @@ -48,11 +51,13 @@ endif() set(RUN_IN_PLACE ${DEFAULT_RUN_IN_PLACE} CACHE BOOL "Run directly in source directory structure") - -set(BUILD_CLIENT TRUE CACHE BOOL "Build client") -set(BUILD_SERVER FALSE CACHE BOOL "Build server") -set(BUILD_UNITTESTS TRUE CACHE BOOL "Build unittests") -set(BUILD_BENCHMARKS FALSE CACHE BOOL "Build benchmarks") +message(STATUS "*** Will build version ${VERSION_STRING} ***") +message(STATUS "BUILD_CLIENT: " ${BUILD_CLIENT}) +message(STATUS "BUILD_SERVER: " ${BUILD_SERVER}) +message(STATUS "BUILD_UNITTESTS: " ${BUILD_UNITTESTS}) +message(STATUS "BUILD_BENCHMARKS: " ${BUILD_BENCHMARKS}) +message(STATUS "BUILD_DOCUMENTATION: " ${BUILD_DOCUMENTATION}) +message(STATUS "RUN_IN_PLACE: " ${RUN_IN_PLACE}) set(WARN_ALL TRUE CACHE BOOL "Enable -Wall for Release build") @@ -394,13 +399,15 @@ include(CPack) # Add a target to generate API documentation with Doxygen -find_package(Doxygen) -if(DOXYGEN_FOUND) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in - ${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile @ONLY) - add_custom_target(doc - ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc - COMMENT "Generating API documentation with Doxygen" VERBATIM - ) +if(BUILD_DOCUMENTATION) + find_package(Doxygen) + if(DOXYGEN_FOUND) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/doc/Doxyfile.in + ${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile @ONLY) + add_custom_target(doc + ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/doc/Doxyfile + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/doc + COMMENT "Generating API documentation with Doxygen" VERBATIM + ) + endif() endif() diff --git a/doc/compiling/README.md b/doc/compiling/README.md index 2d2ca811c..f4812e77d 100644 --- a/doc/compiling/README.md +++ b/doc/compiling/README.md @@ -13,6 +13,7 @@ General options and their default values: BUILD_SERVER=FALSE - Build Minetest server BUILD_UNITTESTS=TRUE - Build unittest sources BUILD_BENCHMARKS=FALSE - Build benchmark sources + BUILD_DOCUMENTATION=TRUE - Build doxygen documentation CMAKE_BUILD_TYPE=Release - Type of build (Release vs. Debug) Release - Release build Debug - Debug build