Fixes for doxygen and unit tests

This commit is contained in:
Paolo Andreetto
2019-05-10 09:08:26 +00:00
parent f8cb48d051
commit c00e4a6382
3 changed files with 32 additions and 52 deletions

View File

@@ -1,3 +1,10 @@
find_package(Doxygen)
set(doxydirlist "")
foreach(modname ${ULIB_SELECTED_MODULES})
set(doxydirlist "${CMAKE_CURRENT_SOURCE_DIR}/src/${modname} ${doxydirlist}")
endforeach(modname)
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
"PROJECT_NAME=${CMAKE_PROJECT_NAME}-${PACKAGE_VERSION}\n"
"OUTPUT_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}\n"
@@ -44,7 +51,7 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
"WARN_IF_UNDOCUMENTED=YES\n"
"WARN_IF_DOC_ERROR=YES\n"
"WARN_FORMAT=\"$file:$line: $text\"\n"
"INPUT=${CMAKE_CURRENT_SOURCE_DIR}/src\n"
"INPUT=${doxydirlist}\n"
"FILE_PATTERNS=*.h *.hpp\n"
"ENABLE_PREPROCESSING=YES\n"
"MACRO_EXPANSION=YES\n"
@@ -76,11 +83,15 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
"GENERATE_AUTOGEN_DEF=NO\n"
"GENERATE_PERLMOD=NO\n")
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/index.html
COMMAND doxygen ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg)
option(NODOXYGEN "Disable the creation of the API documentation")
if(NODOXYGEN OR (NOT DOXYGEN_FOUND))
message("Doxygen is disabled or not installed")
else(NODOXYGEN OR (NOT DOXYGEN_FOUND))
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/index.html
COMMAND doxygen ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg)
add_custom_target(doxygen ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/html/index.html)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
DESTINATION usr/share/doc/${PACKAGE_NAME})
add_custom_target(doxygen ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/html/index.html)
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
DESTINATION share/doc/${PACKAGE_NAME})
endif(NODOXYGEN OR (NOT DOXYGEN_FOUND))

View File

@@ -81,25 +81,17 @@ ENDMACRO(uLib_add_target)
# TESTS and LIBRARIES must be defined
macro(uLib_add_tests name)
foreach(tn ${TESTS})
add_executable(${tn} EXCLUDE_FROM_ALL ${tn}.cpp)
add_test(${tn} ${tn})
foreach(tn ${TESTS})
add_executable(${tn} EXCLUDE_FROM_ALL ${tn}.cpp)
add_test(NAME ${tn} COMMAND ${tn})
# adds dependencies to all selected modules in uLib
# foreach(module ${ULIB_SELECTED_MODULES})
# add_dependencies(${tn} ${project_name}${module})
# endforeach(module)
target_link_libraries(${tn} ${LIBRARIES})
# adds libraries dependencies
foreach(library ${LIBRARIES})
target_link_libraries(${tn} ${library})
endforeach(library)
endforeach(tn)
endforeach(tn)
# custom target to compile all tests
add_custom_target(all-${name}-tests)
add_dependencies(all-${name}-tests ${TESTS})
# custom target to compile all tests
add_custom_target(all-${name}-tests)
add_dependencies(all-${name}-tests ${TESTS})
endmacro(uLib_add_tests name)