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 | 21 | set(CUR_PROJ OFF) |
| 22 | 22 | endif() |
| 23 | 23 | |
| 24 | +# Allow IDE's to group targets into folders | |
| 25 | +set_property(GLOBAL PROPERTY USE_FOLDERS ON) | |
| 24 | 26 | |
| 25 | 27 | if(CMAKE_VERSION VERSION_GREATER 3.6) |
| 26 | 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 | 30 | find_program( |
| 29 | 31 | CLANG_TIDY_EXE |
| 30 | 32 | NAMES "clang-tidy" |
| ... | ... | @@ -61,6 +63,8 @@ if(CLI_SINGLE_FILE) |
| 61 | 63 | ) |
| 62 | 64 | add_custom_target(generate_cli_single_file ALL |
| 63 | 65 | DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/include/CLI11.hpp") |
| 66 | + set_target_properties(generate_cli_single_file | |
| 67 | + PROPERTIES FOLDER "Scripts") | |
| 64 | 68 | |
| 65 | 69 | add_library(CLI11_SINGLE INTERFACE) |
| 66 | 70 | target_link_libraries(CLI11_SINGLE INTERFACE CLI11) |
| ... | ... | @@ -82,4 +86,3 @@ if(CLI_EXAMPLES) |
| 82 | 86 | add_subdirectory(examples) |
| 83 | 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 | 17 | set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) |
| 18 | 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 | 20 | if (CMAKE_CONFIGURATION_TYPES) |
| 30 | 21 | add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} |
| 31 | 22 | --force-new-ctest-process --output-on-failure |
| ... | ... | @@ -34,6 +25,7 @@ else() |
| 34 | 25 | add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} |
| 35 | 26 | --force-new-ctest-process --output-on-failure) |
| 36 | 27 | endif() |
| 28 | +set_target_properties(check PROPERTIES FOLDER "Scripts") | |
| 37 | 29 | |
| 38 | 30 | #include_directories(${gtest_SOURCE_DIR}/include) |
| 39 | 31 | |
| ... | ... | @@ -44,6 +36,7 @@ endif() |
| 44 | 36 | macro(add_gtest TESTNAME) |
| 45 | 37 | target_link_libraries(${TESTNAME} PUBLIC gtest gmock gtest_main) |
| 46 | 38 | add_test(${TESTNAME} ${TESTNAME}) |
| 39 | + set_target_properties(${TESTNAME} PROPERTIES FOLDER "Tests") | |
| 47 | 40 | endmacro() |
| 48 | 41 | |
| 49 | 42 | mark_as_advanced( |
| ... | ... | @@ -55,3 +48,5 @@ gtest_force_shared_crt |
| 55 | 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 | 1 | function(add_cli_exe T) |
| 2 | 2 | add_executable(${T} ${ARGN} ${CLI_headers}) |
| 3 | 3 | target_link_libraries(${T} PUBLIC CLI11) |
| 4 | + set_target_properties( | |
| 5 | + ${T} PROPERTIES | |
| 6 | + FOLDER "Examples" | |
| 7 | + ) | |
| 4 | 8 | |
| 5 | 9 | if(CLANG_TIDY_EXE) |
| 6 | 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 | 14 | endif() |
| 11 | 15 | endfunction() | ... | ... |
tests/CMakeLists.txt
| ... | ... | @@ -11,7 +11,7 @@ set(CLI_TESTS |
| 11 | 11 | NewParseTest |
| 12 | 12 | ) |
| 13 | 13 | |
| 14 | -set(CLI_SINGLE_TESTS | |
| 14 | +set(CLI_MULTIONLY_TESTS | |
| 15 | 15 | TimerTest |
| 16 | 16 | ) |
| 17 | 17 | |
| ... | ... | @@ -28,11 +28,14 @@ foreach(T ${CLI_TESTS}) |
| 28 | 28 | add_executable(${T}_Single ${T}.cpp) |
| 29 | 29 | target_link_libraries(${T}_Single PUBLIC CLI11_SINGLE) |
| 30 | 30 | add_gtest(${T}_Single) |
| 31 | + set_target_properties(${T}_Single | |
| 32 | + PROPERTIES | |
| 33 | + FOLDER "Tests Single File") | |
| 31 | 34 | endif() |
| 32 | 35 | |
| 33 | 36 | endforeach() |
| 34 | 37 | |
| 35 | -foreach(T ${CLI_SINGLE_TESTS}) | |
| 38 | +foreach(T ${CLI_MULTIONLY_TESTS}) | |
| 36 | 39 | |
| 37 | 40 | add_executable(${T} ${T}.cpp ${CLI_headers}) |
| 38 | 41 | target_link_libraries(${T} PUBLIC CLI11) |
| ... | ... | @@ -44,6 +47,7 @@ endforeach() |
| 44 | 47 | # Link test (build error if inlines missing) |
| 45 | 48 | add_library(link_test_1 link_test_1.cpp) |
| 46 | 49 | target_link_libraries(link_test_1 PUBLIC CLI11) |
| 50 | +set_target_properties(link_test_1 PROPERTIES FOLDER "Tests") | |
| 47 | 51 | add_executable(link_test_2 link_test_2.cpp) |
| 48 | 52 | target_link_libraries(link_test_2 PUBLIC CLI11 link_test_1) |
| 49 | 53 | add_gtest(link_test_2) | ... | ... |