1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-04-30 20:53:52 +00:00

Slighly cleaner usage with add_subdirectory

This commit is contained in:
Henry Fredrick Schreiner 2018-03-10 14:18:18 +01:00
parent 32153f2f6d
commit b4b7d991f6

View File

@ -13,10 +13,11 @@ project(CLI11 LANGUAGES CXX VERSION ${VERSION_STRING})
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
# User settable
set(CLI_CXX_STD "11" CACHE STRING "The CMake standard to require")
# Only if built as the main project
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
# User settable
set(CLI_CXX_STD "11" CACHE STRING "The CMake standard to require")
set(CUR_PROJ ON)
set(CMAKE_CXX_STANDARD ${CLI_CXX_STD})
set(CMAKE_CXX_EXTENSIONS OFF)
@ -28,6 +29,24 @@ if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
else()
add_definitions("-Wall -Wextra -pedantic")
endif()
if(CMAKE_VERSION VERSION_GREATER 3.6)
# Add clang-tidy if available
option(CLANG_TIDY_FIX "Perform fixes for Clang-Tidy" OFF)
find_program(
CLANG_TIDY_EXE
NAMES "clang-tidy"
DOC "Path to clang-tidy executable"
)
if(CLANG_TIDY_EXE)
if(CLANG_TIDY_FIX)
set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-fix")
else()
set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}")
endif()
endif()
endif()
else()
set(CUR_PROJ OFF)
endif()
@ -35,25 +54,6 @@ endif()
# Allow IDE's to group targets into folders
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
if(CMAKE_VERSION VERSION_GREATER 3.6)
# Add clang-tidy if available
option(CLANG_TIDY_FIX "Perform fixes for Clang-Tidy" OFF)
find_program(
CLANG_TIDY_EXE
NAMES "clang-tidy"
DOC "Path to clang-tidy executable"
)
if(CLANG_TIDY_EXE)
if(CLANG_TIDY_FIX)
set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}" "-fix")
else()
set(DO_CLANG_TIDY "${CLANG_TIDY_EXE}")
endif()
endif()
endif()
if(CMAKE_BUILD_TYPE STREQUAL Coverage)
include(CodeCoverage)
setup_target_for_coverage(CLI_coverage ctest coverage)
@ -118,7 +118,7 @@ else()
set(CLI_SINGLE_FILE_DEFAULT OFF)
endif()
option(CLI_SINGLE_FILE "Generate a single header file (and test)" ${CLI_SINGLE_FILE_DEFAULT})
option(CLI_SINGLE_FILE "Generate a single header file" ${CLI_SINGLE_FILE_DEFAULT})
if(CLI_SINGLE_FILE)
find_package(PythonInterp REQUIRED)
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include")
@ -151,6 +151,10 @@ if(CLI_EXAMPLES)
add_subdirectory(examples)
endif()
if(NOT CUR_PROJ)
mark_as_advanced(CLI_SINGLE_FILE_TESTS CLI_EXAMPLES CLI_TESTING)
endif()
# Packaging support
set(CPACK_PACKAGE_VENDOR "github.com/CLIUtils/CLI11")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Command line interface")