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 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
"PROJECT_NAME=${CMAKE_PROJECT_NAME}-${PACKAGE_VERSION}\n" "PROJECT_NAME=${CMAKE_PROJECT_NAME}-${PACKAGE_VERSION}\n"
"OUTPUT_DIRECTORY=${CMAKE_CURRENT_BINARY_DIR}\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_UNDOCUMENTED=YES\n"
"WARN_IF_DOC_ERROR=YES\n" "WARN_IF_DOC_ERROR=YES\n"
"WARN_FORMAT=\"$file:$line: $text\"\n" "WARN_FORMAT=\"$file:$line: $text\"\n"
"INPUT=${CMAKE_CURRENT_SOURCE_DIR}/src\n" "INPUT=${doxydirlist}\n"
"FILE_PATTERNS=*.h *.hpp\n" "FILE_PATTERNS=*.h *.hpp\n"
"ENABLE_PREPROCESSING=YES\n" "ENABLE_PREPROCESSING=YES\n"
"MACRO_EXPANSION=YES\n" "MACRO_EXPANSION=YES\n"
@@ -76,11 +83,15 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg
"GENERATE_AUTOGEN_DEF=NO\n" "GENERATE_AUTOGEN_DEF=NO\n"
"GENERATE_PERLMOD=NO\n") "GENERATE_PERLMOD=NO\n")
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/index.html option(NODOXYGEN "Disable the creation of the API documentation")
COMMAND doxygen ${CMAKE_CURRENT_BINARY_DIR}/doxygen.cfg) 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) 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})
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 # TESTS and LIBRARIES must be defined
macro(uLib_add_tests name) macro(uLib_add_tests name)
foreach(tn ${TESTS}) foreach(tn ${TESTS})
add_executable(${tn} EXCLUDE_FROM_ALL ${tn}.cpp) add_executable(${tn} EXCLUDE_FROM_ALL ${tn}.cpp)
add_test(${tn} ${tn}) add_test(NAME ${tn} COMMAND ${tn})
# adds dependencies to all selected modules in uLib target_link_libraries(${tn} ${LIBRARIES})
# foreach(module ${ULIB_SELECTED_MODULES})
# add_dependencies(${tn} ${project_name}${module})
# endforeach(module)
# adds libraries dependencies endforeach(tn)
foreach(library ${LIBRARIES})
target_link_libraries(${tn} ${library})
endforeach(library)
endforeach(tn) # custom target to compile all tests
add_custom_target(all-${name}-tests)
# custom target to compile all tests add_dependencies(all-${name}-tests ${TESTS})
add_custom_target(all-${name}-tests)
add_dependencies(all-${name}-tests ${TESTS})
endmacro(uLib_add_tests name) endmacro(uLib_add_tests name)

View File

@@ -37,8 +37,6 @@ include(uLibMacros)
include(uLibDebugMacro) include(uLibDebugMacro)
include(uLibTargetMacros) include(uLibTargetMacros)
include(uLibGenerateRMake) include(uLibGenerateRMake)
include(uLibGenerateRPMS)
#include(uLibGenerateDoc)
## GLOBALS ------------------------------------------------------------------ ## ## GLOBALS ------------------------------------------------------------------ ##
@@ -75,6 +73,11 @@ if(ULIB_USE_VTK)
LIST(APPEND ULIB_SELECTED_MODULES Vtk) LIST(APPEND ULIB_SELECTED_MODULES Vtk)
endif(ULIB_USE_VTK) endif(ULIB_USE_VTK)
## Documentation and packages
include(uLibGenerateRPMS)
include(uLibGenerateDoc)
## this gets ulib modules into a variable ## ## this gets ulib modules into a variable ##
function(uLib_modules result) function(uLib_modules result)
set(out) set(out)
@@ -201,32 +204,6 @@ install(EXPORT "${PROJECT_NAME}Targets" DESTINATION
install(FILES ${PROJECT_SOURCE_DIR}/ulib.h DESTINATION ${PACKAGE_INSTALL_INC_DIR}) install(FILES ${PROJECT_SOURCE_DIR}/ulib.h DESTINATION ${PACKAGE_INSTALL_INC_DIR})
## dummy main executable ---------------------------------------------------- ##
message("Sara's debug....")
message(${ROOT_LIBRARIES})
# add the executable
add_executable(Coretest test.cpp)
target_link_libraries(Coretest ${PACKAGE_LIBPREFIX}Core)
#target_link_libraries(Coretest ${Boost_SERIALIZATION_LIBRARY})
#target_link_libraries(Coretest ${Boost_SIGNALS_LIBRARY})
#target_link_libraries(Coretest ${Boost_PROGRAM_OPTIONS_LIBRARY})
#target_link_libraries(Coretest ${Geant4_LIBRARIES})
target_link_libraries(Coretest ${ROOT_LIBRARIES})
target_link_libraries(Coretest ${VTK_LIBRARIES})
#message( "---------------------------------------------------------------------" )
#execute_process(COMMAND
# "ls"
## "cmake --find-package -DNAME=uLib -DLANGUAGE=C -DCOMPILER_ID=GNU -DMODE=COMPILE"
# )
#message( "---------------------------------------------------------------------" )
## -------------------------------------------------------------------------- ##
# TODO clean also subdirectories # TODO clean also subdirectories
add_custom_target(clean-cmake-files add_custom_target(clean-cmake-files
COMMAND ${CMAKE_COMMAND} -P ${ULIB_CMAKE_DIR}/clean-all.cmake COMMAND ${CMAKE_COMMAND} -P ${ULIB_CMAKE_DIR}/clean-all.cmake