1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-05-01 13:13:53 +00:00

Cleaner IDE folder structure

This commit is contained in:
Henry Fredrick Schreiner 2017-06-02 09:03:38 -04:00
parent d465d15d07
commit 774bb5d05f
4 changed files with 21 additions and 15 deletions

View File

@ -21,10 +21,12 @@ else()
set(CUR_PROJ OFF)
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 (resets to OFF)" OFF)
option(CLANG_TIDY_FIX "Perform fixes for Clang-Tidy" OFF)
find_program(
CLANG_TIDY_EXE
NAMES "clang-tidy"
@ -61,6 +63,8 @@ if(CLI_SINGLE_FILE)
)
add_custom_target(generate_cli_single_file ALL
DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/include/CLI11.hpp")
set_target_properties(generate_cli_single_file
PROPERTIES FOLDER "Scripts")
add_library(CLI11_SINGLE INTERFACE)
target_link_libraries(CLI11_SINGLE INTERFACE CLI11)
@ -82,4 +86,3 @@ if(CLI_EXAMPLES)
add_subdirectory(examples)
endif()
set(CLANG_TIDY_FIX OFF CACHE BOOL "Perform fixes for Clang-Tidy (resets to OFF)" FORCE)

View File

@ -17,15 +17,6 @@ download_project(PROJ googletest
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
add_subdirectory(${googletest_SOURCE_DIR} ${googletest_SOURCE_DIR})
#mark_as_advanced(
# gtest_build_samples
# gtest_build_tests
# gtest_disable_pthreads
# gtest_force_shared_crt
# gtest_hide_internal_symbols
# BUILD_SHARED_LIBS
#)
if (CMAKE_CONFIGURATION_TYPES)
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}
--force-new-ctest-process --output-on-failure
@ -34,6 +25,7 @@ else()
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}
--force-new-ctest-process --output-on-failure)
endif()
set_target_properties(check PROPERTIES FOLDER "Scripts")
#include_directories(${gtest_SOURCE_DIR}/include)
@ -44,6 +36,7 @@ endif()
macro(add_gtest TESTNAME)
target_link_libraries(${TESTNAME} PUBLIC gtest gmock gtest_main)
add_test(${TESTNAME} ${TESTNAME})
set_target_properties(${TESTNAME} PROPERTIES FOLDER "Tests")
endmacro()
mark_as_advanced(
@ -55,3 +48,5 @@ gtest_force_shared_crt
gtest_hide_internal_symbols
)
set_target_properties(gtest gtest_main gmock gmock_main
PROPERTIES FOLDER "Extern")

View File

@ -1,11 +1,15 @@
function(add_cli_exe T)
add_executable(${T} ${ARGN} ${CLI_headers})
target_link_libraries(${T} PUBLIC CLI11)
set_target_properties(
${T} PROPERTIES
FOLDER "Examples"
)
if(CLANG_TIDY_EXE)
set_target_properties(
${T} PROPERTIES
CXX_CLANG_TIDY "${DO_CLANG_TIDY}"
${T} PROPERTIES
CXX_CLANG_TIDY "${DO_CLANG_TIDY}"
)
endif()
endfunction()

View File

@ -11,7 +11,7 @@ set(CLI_TESTS
NewParseTest
)
set(CLI_SINGLE_TESTS
set(CLI_MULTIONLY_TESTS
TimerTest
)
@ -28,11 +28,14 @@ foreach(T ${CLI_TESTS})
add_executable(${T}_Single ${T}.cpp)
target_link_libraries(${T}_Single PUBLIC CLI11_SINGLE)
add_gtest(${T}_Single)
set_target_properties(${T}_Single
PROPERTIES
FOLDER "Tests Single File")
endif()
endforeach()
foreach(T ${CLI_SINGLE_TESTS})
foreach(T ${CLI_MULTIONLY_TESTS})
add_executable(${T} ${T}.cpp ${CLI_headers})
target_link_libraries(${T} PUBLIC CLI11)
@ -44,6 +47,7 @@ endforeach()
# Link test (build error if inlines missing)
add_library(link_test_1 link_test_1.cpp)
target_link_libraries(link_test_1 PUBLIC CLI11)
set_target_properties(link_test_1 PROPERTIES FOLDER "Tests")
add_executable(link_test_2 link_test_2.cpp)
target_link_libraries(link_test_2 PUBLIC CLI11 link_test_1)
add_gtest(link_test_2)