Skip to content

Commit a73312d

Browse files
committed
cmake: fix FOLDER structure for IDE's that support it (#7069)
1 parent 2430cd6 commit a73312d

27 files changed

+104
-23
lines changed

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,7 @@ add_custom_target(
288288
ALL_MODULES
289289
DEPENDS ${modules_list}
290290
COMMENT "Building all modules.")
291+
set_target_properties(ALL_MODULES PROPERTIES FOLDER Misc)
291292

292293
if(WITH_GUI)
293294
add_subdirectory(gui)
@@ -309,6 +310,7 @@ add_custom_target(
309310
BYPRODUCTS ${OUTDIR}/${GRASS_INSTALL_DOCDIR}/colortables
310311
COMMENT "Creating thumbnails"
311312
DEPENDS ALL_MODULES)
313+
set_target_properties(r_colors_thumbnails PROPERTIES FOLDER Misc)
312314
install(DIRECTORY ${OUTDIR}/${GRASS_INSTALL_DOCDIR}/colortables
313315
DESTINATION ${GRASS_INSTALL_DOCDIR})
314316

@@ -344,3 +346,5 @@ write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/GRASSConfigVersion.
344346
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/GRASSConfig.cmake
345347
${CMAKE_CURRENT_BINARY_DIR}/GRASSConfigVersion.cmake
346348
DESTINATION ${GRASS_INSTALL_CMAKECONFDIR}/GRASS)
349+
350+
set_property(GLOBAL PROPERTY USE_FOLDERS YES)

cmake/modules/build_gui_in_subdir.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ function(build_gui_in_subdir dir_name)
9999
"${G_TARGET_NAME};${modules_list}"
100100
CACHE INTERNAL "list of modules")
101101

102-
set_target_properties(${G_TARGET_NAME} PROPERTIES FOLDER gui)
102+
set_target_properties(${G_TARGET_NAME} PROPERTIES FOLDER "Tools/GUI (Scripts)")
103103

104104
if(WIN32)
105105
install(PROGRAMS ${OUTDIR}/${GRASS_INSTALL_SCRIPTDIR}/${G_TARGET_NAME}.bat

cmake/modules/build_module.cmake

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,28 @@ function(build_module)
105105

106106
if(G_EXE)
107107
add_executable(${G_NAME} ${${G_NAME}_SRCS})
108-
if("${G_NAME}" MATCHES "^v.*")
109-
set_target_properties(${G_NAME} PROPERTIES FOLDER vector)
110-
elseif("${G_NAME}" MATCHES "^r.*")
111-
set_target_properties(${G_NAME} PROPERTIES FOLDER raster)
108+
if("${G_NAME}" MATCHES "^v[\.]")
109+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/Vector)
110+
elseif("${G_NAME}" MATCHES "^r[\.]")
111+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/Raster)
112+
elseif("${G_NAME}" MATCHES "^d[\.]")
113+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/Display)
114+
elseif("${G_NAME}" MATCHES "^db[\.]")
115+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/Database)
116+
elseif("${G_NAME}" MATCHES "^g[\.]")
117+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/General)
118+
elseif("${G_NAME}" MATCHES "^i[\.]")
119+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/Imagery)
120+
elseif("${G_NAME}" MATCHES "^m[\.]")
121+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/Miscellaneous)
122+
elseif("${G_NAME}" MATCHES "^ps[\.]")
123+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/PostScript)
124+
elseif("${G_NAME}" MATCHES "^r3[\.]")
125+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Raster 3D")
126+
elseif("${G_NAME}" MATCHES "^t[\.]")
127+
set_target_properties(${G_NAME} PROPERTIES FOLDER Tools/Temporal)
112128
else()
113-
set_target_properties(${G_NAME} PROPERTIES FOLDER bin)
129+
set_target_properties(${G_NAME} PROPERTIES FOLDER Binaries)
114130
endif()
115131
set(default_html_file_name ${G_NAME})
116132
set(PGM_NAME ${G_NAME})
@@ -127,7 +143,7 @@ function(build_module)
127143
add_library(${G_NAME} ${${G_NAME}_SRCS})
128144
set_target_properties(
129145
${G_NAME}
130-
PROPERTIES FOLDER lib
146+
PROPERTIES FOLDER "GRASS Libraries"
131147
VERSION ${GRASS_VERSION_NUMBER}
132148
SOVERSION ${GRASS_VERSION_MAJOR}
133149
EXPORT_NAME ${_libname})

cmake/modules/build_script_in_subdir.cmake

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,29 @@ function(build_script_in_subdir dir_name)
106106
"${G_NAME};${modules_list}"
107107
CACHE INTERNAL "list of modules")
108108

109-
set_target_properties(${G_NAME} PROPERTIES FOLDER scripts)
109+
if("${G_NAME}" MATCHES "^v[\.]")
110+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Vector (Scripts)")
111+
elseif("${G_NAME}" MATCHES "^r[\.]")
112+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Raster (Scripts)")
113+
elseif("${G_NAME}" MATCHES "^d[\.]")
114+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Display (Scripts)")
115+
elseif("${G_NAME}" MATCHES "^db[\.]")
116+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Database (Scripts)")
117+
elseif("${G_NAME}" MATCHES "^g[\.]")
118+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/General (Scripts)")
119+
elseif("${G_NAME}" MATCHES "^i[\.]")
120+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Imagery (Scripts)")
121+
elseif("${G_NAME}" MATCHES "^m[\.]")
122+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Miscellaneous (Scripts)")
123+
elseif("${G_NAME}" MATCHES "^ps[\.]")
124+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/PostScript (Scripts)")
125+
elseif("${G_NAME}" MATCHES "^r3[\.]")
126+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Raster 3D (Scripts)")
127+
elseif("${G_NAME}" MATCHES "^t[\.]")
128+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Tools/Temporal (Scripts)")
129+
else()
130+
set_target_properties(${G_NAME} PROPERTIES FOLDER "Binaries (Scripts)")
131+
endif()
110132

111133
if(WIN32)
112134
install(PROGRAMS ${OUTDIR}/${G_DEST_DIR}/${G_NAME}.bat

cmake/modules/copy_python_files_in_subdir.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,6 @@ function(copy_python_files_in_subdir dir_name dst_prefix)
4646
"${OUTDIR}/${dst_prefix}/${dir_name}"
4747
COMMAND ${CMAKE_COMMAND} -E copy ${PY_FILES}
4848
"${OUTDIR}/${dst_prefix}/${dir_name}")
49-
set_target_properties(python_${targ_name} PROPERTIES FOLDER lib/python)
49+
set_target_properties(python_${targ_name} PROPERTIES FOLDER Python/API)
5050
endif()
5151
endfunction()

db/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ add_custom_target(
1616
ALL_DATABASE_MODULES ALL
1717
DEPENDS ${db_modules_list}
1818
COMMENT "All database modules are built.")
19+
set_target_properties(ALL_DATABASE_MODULES PROPERTIES FOLDER Misc)
1920

2021
if(WITH_DOCS)
2122
generate_docs(databaseintro TARGET ALL_DATABASE_MODULES)

display/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ add_custom_target(
4141
DEPENDS ${display_modules_list}
4242
COMMENT "All display modules are built.")
4343

44+
set_target_properties(ALL_DISPLAY_MODULES PROPERTIES FOLDER Misc)
45+
4446
if(WITH_DOCS)
4547
generate_docs(displaydrivers TARGET ALL_DISPLAY_MODULES)
4648
endif()

doc/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ set(img_files
3030
project.png)
3131

3232
add_custom_target(ADD_DOC_DOCS ALL COMMENT "Generate doc/html docs." DEPENDS LIB_PYTHON)
33+
set_target_properties(ADD_DOC_DOCS PROPERTIES FOLDER Docs)
3334

3435
generate_docs_list(
3536
TARGET ADD_DOC_DOCS

gui/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@ add_custom_target(
1414
"${CMAKE_CURRENT_SOURCE_DIR}/xml/grass-interface.dtd"
1515
${OUTDIR}/${GRASS_INSTALL_GUIDIR}/xml)
1616
add_dependencies(grass_interface_dtd GUI_WXPYTHON)
17+
set_target_properties(grass_interface_dtd PROPERTIES FOLDER GUI)
18+
1719
install(FILES ${OUTDIR}/${GRASS_INSTALL_GUIDIR}/xml/grass-interface.dtd
1820
DESTINATION ${GRASS_INSTALL_GUIDIR}/xml)

gui/icons/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ add_custom_target(
1212
${OUTDIR}/${GRASS_INSTALL_DOCDIR}/icons
1313
COMMAND ${CMAKE_COMMAND} -E make_directory
1414
${OUTDIR}/${GRASS_INSTALL_GUIDIR}/images/symbols)
15+
set_target_properties(make_gui_icons_dirs PROPERTIES FOLDER GUI)
1516

1617
set(output_icons)
1718
foreach(ICON ${GUI_ICONS})
@@ -50,6 +51,7 @@ foreach(ICON ${FLAGS_ICONS})
5051
endforeach()
5152

5253
add_custom_target(gui_icons DEPENDS make_gui_icons_dirs ${output_icons})
54+
set_target_properties(gui_icons PROPERTIES FOLDER GUI)
5355

5456
install(FILES ${GUI_ICONS} DESTINATION ${GRASS_INSTALL_GUIDIR}/icons)
5557
install(FILES ${GRASS_ICONS} DESTINATION ${GRASS_INSTALL_GUIDIR}/icons/grass)

0 commit comments

Comments
 (0)