Commit 774bb5d05ff7eea427f4882b151649dd6239829e
1 parent
d465d15d
Cleaner IDE folder structure
Showing
4 changed files
with
21 additions
and
15 deletions
CMakeLists.txt
| @@ -21,10 +21,12 @@ else() | @@ -21,10 +21,12 @@ else() | ||
| 21 | set(CUR_PROJ OFF) | 21 | set(CUR_PROJ OFF) |
| 22 | endif() | 22 | endif() |
| 23 | 23 | ||
| 24 | +# Allow IDE's to group targets into folders | ||
| 25 | +set_property(GLOBAL PROPERTY USE_FOLDERS ON) | ||
| 24 | 26 | ||
| 25 | if(CMAKE_VERSION VERSION_GREATER 3.6) | 27 | if(CMAKE_VERSION VERSION_GREATER 3.6) |
| 26 | # Add clang-tidy if available | 28 | # Add clang-tidy if available |
| 27 | - option(CLANG_TIDY_FIX "Perform fixes for Clang-Tidy (resets to OFF)" OFF) | 29 | + option(CLANG_TIDY_FIX "Perform fixes for Clang-Tidy" OFF) |
| 28 | find_program( | 30 | find_program( |
| 29 | CLANG_TIDY_EXE | 31 | CLANG_TIDY_EXE |
| 30 | NAMES "clang-tidy" | 32 | NAMES "clang-tidy" |
| @@ -61,6 +63,8 @@ if(CLI_SINGLE_FILE) | @@ -61,6 +63,8 @@ if(CLI_SINGLE_FILE) | ||
| 61 | ) | 63 | ) |
| 62 | add_custom_target(generate_cli_single_file ALL | 64 | add_custom_target(generate_cli_single_file ALL |
| 63 | DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/include/CLI11.hpp") | 65 | DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/include/CLI11.hpp") |
| 66 | + set_target_properties(generate_cli_single_file | ||
| 67 | + PROPERTIES FOLDER "Scripts") | ||
| 64 | 68 | ||
| 65 | add_library(CLI11_SINGLE INTERFACE) | 69 | add_library(CLI11_SINGLE INTERFACE) |
| 66 | target_link_libraries(CLI11_SINGLE INTERFACE CLI11) | 70 | target_link_libraries(CLI11_SINGLE INTERFACE CLI11) |
| @@ -82,4 +86,3 @@ if(CLI_EXAMPLES) | @@ -82,4 +86,3 @@ if(CLI_EXAMPLES) | ||
| 82 | add_subdirectory(examples) | 86 | add_subdirectory(examples) |
| 83 | endif() | 87 | endif() |
| 84 | 88 | ||
| 85 | -set(CLANG_TIDY_FIX OFF CACHE BOOL "Perform fixes for Clang-Tidy (resets to OFF)" FORCE) |
cmake/AddGoogletest.cmake
| @@ -17,15 +17,6 @@ download_project(PROJ googletest | @@ -17,15 +17,6 @@ download_project(PROJ googletest | ||
| 17 | set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) | 17 | set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) |
| 18 | add_subdirectory(${googletest_SOURCE_DIR} ${googletest_SOURCE_DIR}) | 18 | add_subdirectory(${googletest_SOURCE_DIR} ${googletest_SOURCE_DIR}) |
| 19 | 19 | ||
| 20 | -#mark_as_advanced( | ||
| 21 | -# gtest_build_samples | ||
| 22 | -# gtest_build_tests | ||
| 23 | -# gtest_disable_pthreads | ||
| 24 | -# gtest_force_shared_crt | ||
| 25 | -# gtest_hide_internal_symbols | ||
| 26 | -# BUILD_SHARED_LIBS | ||
| 27 | -#) | ||
| 28 | - | ||
| 29 | if (CMAKE_CONFIGURATION_TYPES) | 20 | if (CMAKE_CONFIGURATION_TYPES) |
| 30 | add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} | 21 | add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} |
| 31 | --force-new-ctest-process --output-on-failure | 22 | --force-new-ctest-process --output-on-failure |
| @@ -34,6 +25,7 @@ else() | @@ -34,6 +25,7 @@ else() | ||
| 34 | add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} | 25 | add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} |
| 35 | --force-new-ctest-process --output-on-failure) | 26 | --force-new-ctest-process --output-on-failure) |
| 36 | endif() | 27 | endif() |
| 28 | +set_target_properties(check PROPERTIES FOLDER "Scripts") | ||
| 37 | 29 | ||
| 38 | #include_directories(${gtest_SOURCE_DIR}/include) | 30 | #include_directories(${gtest_SOURCE_DIR}/include) |
| 39 | 31 | ||
| @@ -44,6 +36,7 @@ endif() | @@ -44,6 +36,7 @@ endif() | ||
| 44 | macro(add_gtest TESTNAME) | 36 | macro(add_gtest TESTNAME) |
| 45 | target_link_libraries(${TESTNAME} PUBLIC gtest gmock gtest_main) | 37 | target_link_libraries(${TESTNAME} PUBLIC gtest gmock gtest_main) |
| 46 | add_test(${TESTNAME} ${TESTNAME}) | 38 | add_test(${TESTNAME} ${TESTNAME}) |
| 39 | + set_target_properties(${TESTNAME} PROPERTIES FOLDER "Tests") | ||
| 47 | endmacro() | 40 | endmacro() |
| 48 | 41 | ||
| 49 | mark_as_advanced( | 42 | mark_as_advanced( |
| @@ -55,3 +48,5 @@ gtest_force_shared_crt | @@ -55,3 +48,5 @@ gtest_force_shared_crt | ||
| 55 | gtest_hide_internal_symbols | 48 | gtest_hide_internal_symbols |
| 56 | ) | 49 | ) |
| 57 | 50 | ||
| 51 | +set_target_properties(gtest gtest_main gmock gmock_main | ||
| 52 | + PROPERTIES FOLDER "Extern") |
examples/CMakeLists.txt
| 1 | function(add_cli_exe T) | 1 | function(add_cli_exe T) |
| 2 | add_executable(${T} ${ARGN} ${CLI_headers}) | 2 | add_executable(${T} ${ARGN} ${CLI_headers}) |
| 3 | target_link_libraries(${T} PUBLIC CLI11) | 3 | target_link_libraries(${T} PUBLIC CLI11) |
| 4 | + set_target_properties( | ||
| 5 | + ${T} PROPERTIES | ||
| 6 | + FOLDER "Examples" | ||
| 7 | + ) | ||
| 4 | 8 | ||
| 5 | if(CLANG_TIDY_EXE) | 9 | if(CLANG_TIDY_EXE) |
| 6 | set_target_properties( | 10 | set_target_properties( |
| 7 | - ${T} PROPERTIES | ||
| 8 | - CXX_CLANG_TIDY "${DO_CLANG_TIDY}" | 11 | + ${T} PROPERTIES |
| 12 | + CXX_CLANG_TIDY "${DO_CLANG_TIDY}" | ||
| 9 | ) | 13 | ) |
| 10 | endif() | 14 | endif() |
| 11 | endfunction() | 15 | endfunction() |
tests/CMakeLists.txt
| @@ -11,7 +11,7 @@ set(CLI_TESTS | @@ -11,7 +11,7 @@ set(CLI_TESTS | ||
| 11 | NewParseTest | 11 | NewParseTest |
| 12 | ) | 12 | ) |
| 13 | 13 | ||
| 14 | -set(CLI_SINGLE_TESTS | 14 | +set(CLI_MULTIONLY_TESTS |
| 15 | TimerTest | 15 | TimerTest |
| 16 | ) | 16 | ) |
| 17 | 17 | ||
| @@ -28,11 +28,14 @@ foreach(T ${CLI_TESTS}) | @@ -28,11 +28,14 @@ foreach(T ${CLI_TESTS}) | ||
| 28 | add_executable(${T}_Single ${T}.cpp) | 28 | add_executable(${T}_Single ${T}.cpp) |
| 29 | target_link_libraries(${T}_Single PUBLIC CLI11_SINGLE) | 29 | target_link_libraries(${T}_Single PUBLIC CLI11_SINGLE) |
| 30 | add_gtest(${T}_Single) | 30 | add_gtest(${T}_Single) |
| 31 | + set_target_properties(${T}_Single | ||
| 32 | + PROPERTIES | ||
| 33 | + FOLDER "Tests Single File") | ||
| 31 | endif() | 34 | endif() |
| 32 | 35 | ||
| 33 | endforeach() | 36 | endforeach() |
| 34 | 37 | ||
| 35 | -foreach(T ${CLI_SINGLE_TESTS}) | 38 | +foreach(T ${CLI_MULTIONLY_TESTS}) |
| 36 | 39 | ||
| 37 | add_executable(${T} ${T}.cpp ${CLI_headers}) | 40 | add_executable(${T} ${T}.cpp ${CLI_headers}) |
| 38 | target_link_libraries(${T} PUBLIC CLI11) | 41 | target_link_libraries(${T} PUBLIC CLI11) |
| @@ -44,6 +47,7 @@ endforeach() | @@ -44,6 +47,7 @@ endforeach() | ||
| 44 | # Link test (build error if inlines missing) | 47 | # Link test (build error if inlines missing) |
| 45 | add_library(link_test_1 link_test_1.cpp) | 48 | add_library(link_test_1 link_test_1.cpp) |
| 46 | target_link_libraries(link_test_1 PUBLIC CLI11) | 49 | target_link_libraries(link_test_1 PUBLIC CLI11) |
| 50 | +set_target_properties(link_test_1 PROPERTIES FOLDER "Tests") | ||
| 47 | add_executable(link_test_2 link_test_2.cpp) | 51 | add_executable(link_test_2 link_test_2.cpp) |
| 48 | target_link_libraries(link_test_2 PUBLIC CLI11 link_test_1) | 52 | target_link_libraries(link_test_2 PUBLIC CLI11 link_test_1) |
| 49 | add_gtest(link_test_2) | 53 | add_gtest(link_test_2) |