Commit 774bb5d05ff7eea427f4882b151649dd6239829e

Authored by Henry Fredrick Schreiner
1 parent d465d15d

Cleaner IDE folder structure

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)
... ...