cmake: Organize targets into folders

Enabling CMake's USE_FOLDERS option and adding the FOLDER property to
targets allows some IDEs to list the targets in an organized
hierarchy of folders.
This commit is contained in:
b-r-o-c-k
2018-06-17 07:54:39 -05:00
parent f39a0f5dd0
commit 7097aba6be
4 changed files with 16 additions and 0 deletions

View File

@@ -470,10 +470,12 @@ if(WIN32)
file(WRITE ${PROJECT_BINARY_DIR}/external_blobs.cmake ${EXTERNAL_BLOBS_SCRIPT})
add_custom_target(external_blobs
COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/external_blobs.cmake)
set_target_properties(external_blobs PROPERTIES FOLDER deps)
add_dependencies(nvim_runtime_deps external_blobs)
else()
add_custom_target(nvim_runtime_deps) # Stub target to avoid CMP0046.
endif()
set_target_properties(nvim_runtime_deps PROPERTIES FOLDER deps)
add_library(
libnvim
@@ -585,6 +587,7 @@ foreach(hfile ${NVIM_HEADERS})
TARGET ${texe}
APPEND PROPERTY INCLUDE_DIRECTORIES ${LUA_PREFERRED_INCLUDE_DIRS}
)
set_target_properties(${texe} PROPERTIES FOLDER test)
list(FIND NO_SINGLE_CHECK_HEADERS "${relative_path}" hfile_exclude_idx)
if(${hfile_exclude_idx} EQUAL -1)

View File

@@ -55,6 +55,7 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
DEPENDS ${NVIM_SOURCES})
add_custom_target(potfile DEPENDS ${NVIM_POT})
set_target_properties(potfile PROPERTIES FOLDER po)
set(LANGUAGE_MO_FILES)
set(UPDATE_PO_TARGETS)
@@ -91,6 +92,7 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
COMMENT "Checking ${name}.po"
VERBATIM
DEPENDS ${poFile})
set_target_properties(check-po-${name} PROPERTIES FOLDER po/check)
endmacro()
macro(BuildPoIconvGenericWithCharset
@@ -182,7 +184,9 @@ if(HAVE_WORKING_LIBINTL AND GETTEXT_FOUND AND XGETTEXT_PRG AND ICONV_PRG)
BuildMo(${LANGUAGE})
endforeach()
set_target_properties(${UPDATE_PO_TARGETS} PROPERTIES FOLDER po/update)
add_custom_target(translations ALL DEPENDS ${LANGUAGE_MO_FILES})
add_custom_target(update-po DEPENDS ${UPDATE_PO_TARGETS})
set_target_properties(translations update-po PROPERTIES FOLDER po)
endif()