# available programs checks function(rosa_find_program name) string(TOUPPER ${name} NAME) string(REGEX REPLACE "\\." "_" NAME ${NAME}) find_program(ROSA_PATH_${NAME} NAMES ${ARGV}) mark_as_advanced(ROSA_PATH_${NAME}) if(ROSA_PATH_${NAME}) set(HAVE_${NAME} 1 CACHE INTERNAL "Is ${name} available ?") mark_as_advanced(HAVE_${NAME}) else(ROSA_PATH_${NAME}) set(HAVE_${NAME} "" CACHE INTERNAL "Is ${name} available ?") endif(ROSA_PATH_${NAME}) endfunction() if (ROSA_ENABLE_CLANG_TIDY) message(STATUS "Clang-tidy enabled.") # Make sure CMake knows about clang-tidy cmake_minimum_required(VERSION 3.6.0) # clang-tidy specific options set(ROSA_CLANG_TIDY_PATH "" CACHE STRING "Custom path for clang-tidy executable.") option(ROSA_CLANG_TIDY_FIX "Apply suggested clang-tidy fixes to the sources." OFF) # Find clang-tidy if ("${ROSA_CLANG_TIDY_PATH}" STREQUAL "") find_program(CLANG_TIDY clang-tidy) else() find_program(CLANG_TIDY clang-tidy PATHS ${ROSA_CLANG_TIDY_PATH}) endif() if (${CLANG_TIDY} STREQUAL "CLANG_TIDY-NOTFOUND") message(FATAL_ERROR "Clang-tidy cannot be found!") endif() else() message(STATUS "Clang-tidy disabled.") endif() if (ROSA_ENABLE_DOXYGEN) rosa_find_program(dot) endif () if (ROSA_ENABLE_DOXYGEN) message(STATUS "Doxygen enabled.") find_package(Doxygen REQUIRED) if (DOXYGEN_FOUND) # If we find doxygen and we want to enable doxygen by default create a # global aggregate doxygen target for generating llvm and any/all # subprojects doxygen documentation. if (ROSA_BUILD_DOCS) add_custom_target(doxygen ALL) endif() option(ROSA_DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF) if (ROSA_DOXYGEN_EXTERNAL_SEARCH) set(ROSA_DOXYGEN_SEARCHENGINE_URL "" CACHE STRING "URL to use for external search.") set(ROSA_DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings.") endif() endif() else() message(STATUS "Doxygen disabled.") endif() if (ROSA_ENABLE_SPHINX) message(STATUS "Sphinx enabled.") find_package(Sphinx REQUIRED) if (ROSA_BUILD_DOCS) add_custom_target(sphinx ALL) endif() else() message(STATUS "Sphinx disabled.") endif()