CMAKE: enable doxygen checks

Martin Gerhardy 2020-03-11 02:10:02 +01:00
parent 0461cd6c54
commit efb9d9dadd
9 changed files with 28 additions and 26 deletions

View File

@ -138,17 +138,6 @@ if (MSVC)
endforeach(flag_var)
endif()
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Compile Type" FORCE)
endif()
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release MinSizeRel RelWithDebInfo Profile)
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(RELEASE False)
else()
set(RELEASE True)
endif()
# First for the generic no-config case (e.g. with mingw)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}/lib)

View File

@ -13,11 +13,26 @@ set(CMAKE_CXX_STANDARD_REQUIRED on)
set(CMAKE_CXX_EXTENSIONS off)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Compile Type" FORCE)
endif()
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS Debug Release MinSizeRel RelWithDebInfo Profile)
if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
set(RELEASE False)
else()
set(RELEASE True)
endif()
include(CheckIPOSupported)
check_ipo_supported(RESULT HAVE_LTO OUTPUT error)
if (HAVE_LTO)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
message(STATUS "IPO / LTO enabled")
if (${CMAKE_BUILD_TYPE} MATCHES "Release")
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
message(STATUS "IPO / LTO enabled")
else()
message(STATUS "IPO / LTO only enabled in release builds")
endif()
else()
message(STATUS "IPO / LTO not supported: <${error}>")
endif()
@ -46,13 +61,6 @@ if (C_COMPILER_SUPPORTS_FIXITS)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fdiagnostics-parseable-fixits")
endif()
if (USE_DOXYGEN_CHECK)
check_cxx_compiler_flag("-Wdocumentation" COMPILER_SUPPORTS_WDOCUMENTATION)
if (COMPILER_SUPPORTS_WDOCUMENTATION)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdocumentation")
endif()
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FORTIFY_SOURCE=2 -D__STDC_FORMAT_MACROS")
check_c_compiler_flag("-fexpensive-optimizations" HAVE_EXPENSIVE_OPTIMIZATIONS)

View File

@ -2,6 +2,11 @@
# If you don't include the module with files before its dependent modules, then the
# files will not get copied
check_cxx_compiler_flag("-Wdocumentation" COMPILER_SUPPORTS_WDOCUMENTATION)
if (COMPILER_SUPPORTS_WDOCUMENTATION)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdocumentation")
endif()
add_subdirectory(core)
add_subdirectory(uuid)
add_subdirectory(console)

View File

@ -109,7 +109,6 @@ inline AnimationSettings::Type AnimationSettings::type() const {
/**
* @brief Load the given lua string and fill the AnimationSettings values as well as the skeleton attributes identified by the via base pointer and the meta data iterator
* @param[in] luaString
* @param[out] settings the AnimationSettings to fill
* @param[out] skeletonAttr The base pointer to the skeleton attributes
* @return @c true on success, @c false on failure

View File

@ -36,7 +36,7 @@ enum class SkeletonAttributeType : int32_t {
*/
struct SkeletonAttribute {
/**
* @param[in] type The type of the skeleton
* @param[in] _type The type of the skeleton
* @param[in] metaArray Null terminated (@sa SKELETONATTRIBUTE_END) array of SkeletonAttributeMeta entries
*/
SkeletonAttribute(SkeletonAttributeType _type, const SkeletonAttributeMeta *metaArray) :

View File

@ -108,7 +108,7 @@ protected:
uint64_t _nextFrameMillis = 0ul;
/**
* @brief There is no fps limit per default, but you set one on a per-app basis
* @param[in] framesPerSecondsCap The frames to cap the application loop at
* The frames to cap the application loop at
*/
core::VarPtr _framesPerSecondsCap;

View File

@ -75,7 +75,7 @@ public:
* @brief Registers two commands prefixed with @c + and @c - (for pressed and released)
* for commands that are bound to keys.
* @param[in] name The name of the command. It will automatically be prefixed with
* a @c + and @c
* a @c + and @c -
* @param[in,out] button The @c ActionButton instance.
* @note This class is not taking ownership of the button instance. You have to ensure
* that the instance given here is alive as long as the commands are bound.

View File

@ -58,7 +58,7 @@ bool isValidForBinding(int16_t pressedModMask, int16_t commandModMask) {
/**
* @param bindings Map of bindings
* @param key The key that was pressed
* @param modifier The modifier mask
* @param modMask The modifier mask
* @return @c true if the key+modifier combination lead to a command execution via
* key bindings, @c false otherwise
*/

View File

@ -291,11 +291,12 @@ static void createDBConditions(const Table& table, core::String& src) {
src += "\tusing Super = persistence::DBCondition;\n";
src += "public:\n";
src += "\t/**\n\t * @brief Condition for " + f.name + "\n";
src += "\t * @param[in] value";
if (f.type == persistence::FieldType::TIMESTAMP) {
src += "\t * @param[in] value";
src += " UTC timestamp in seconds";
} else if (isString(f)) {
if (f.isLower()) {
src += "\t * @param[in] value";
src += " The given value is converted to lowercase before the comparison takes place";
}
}