Organize Tink CMake targets into folders for IDEs that support them.

PiperOrigin-RevId: 239196179
GitOrigin-RevId: 8fd030372e78c13ca4535cf25b2c41fd7af4304a
diff --git a/cmake/TinkBuildRules.cmake b/cmake/TinkBuildRules.cmake
index d540a77..59af788 100644
--- a/cmake/TinkBuildRules.cmake
+++ b/cmake/TinkBuildRules.cmake
@@ -51,6 +51,8 @@
 
 list(APPEND TINK_INCLUDE_DIRS "${TINK_GENFILE_DIR}")
 
+set(TINK_IDE_FOLDER "Tink")
+
 # Declare the beginning of a new Tink library namespace.
 #
 # As a rule of thumb, every CMakeLists.txt should be a different module, named
@@ -121,6 +123,13 @@
     target_link_libraries(${_target_name} PUBLIC ${tink_cc_library_DEPS})
     set_property(TARGET ${_target_name} PROPERTY CXX_STANDARD ${TINK_CXX_STANDARD})
     set_property(TARGET ${_target_name} PROPERTY CXX_STANDARD_REQUIRED true)
+    if (tink_cc_library_PUBLIC)
+      set_property(TARGET ${_target_name}
+                   PROPERTY FOLDER "${TINK_IDE_FOLDER}")
+    else()
+      set_property(TARGET ${_target_name}
+                   PROPERTY FOLDER "${TINK_IDE_FOLDER}/Internal")
+    endif()
   else()
     add_library(${_target_name} INTERFACE)
     target_include_directories(${_target_name} INTERFACE ${TINK_INCLUDE_DIRS})
@@ -168,6 +177,9 @@
     ${tink_cc_test_DEPS}
   )
 
+  set_property(TARGET ${_target_name}
+               PROPERTY FOLDER "${TINK_IDE_FOLDER}/Tests")
+
   if (${CMAKE_VERSION} VERSION_LESS 3.10)
     gtest_add_tests(TARGET ${_target_name})
   else()