[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] ctags, etags and cscope support
  [Thread Prev] | [Thread Next]
 
 
- Subject: Re: [PATCH] ctags, etags and cscope support
- From: Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx>
- Reply-to: otubo@xxxxxxxxxxxxxxxxxx
- Reply-to: libssh@xxxxxxxxxx
- Date: Thu, 09 Jul 2009 00:39:42 -0300
- To: libssh@xxxxxxxxxx
Hello again, Following Gladiac's suggestions, I added the target to make all tags possible. I thought I was the only one that use more than one tag system at the same time :) []'s On Wed, 2009-07-08 at 11:42 -0300, Eduardo Otubo wrote: > Hello friends, > > This patch includes support for ctags, etags and cscope to the > CMakeLists.txt. Comments are always welcome. > > []'s > -- Eduardo Otubo Software Engineer Linux Technology Center IBM Systems & Technology Group Mobile: +55 19 8135 0885 otubo@xxxxxxxxxxxxxxxxxx
diff --git a/.gitignore b/.gitignore
index 4c2e190..7285d2f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
 build
 cscope.*
 tags
+TAGS
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d935827..9fafe2b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,6 +47,11 @@ if (NOT CRYPTO_FOUND)
   endif (NOT GCRYPT_FOUND)
 endif (NOT CRYPTO_FOUND)
 
+# search for programs
+find_program(CTAGS ctags)
+find_program(ETAGS etags)
+find_program(CSCOPE cscope)
+
 # config.h checks
 include(ConfigureChecks.cmake)
 configure_file(config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
@@ -68,3 +73,30 @@ if (UNIX AND NOT WIN32)
     target_link_libraries(samplesshd ${LIBSSH_SHARED_LIBRARY})
   endif (WITH_SFTP AND WITH_SERVER)
 endif (UNIX AND NOT WIN32)
+
+# Create ctags for vim, etc
+add_custom_target(ctags
+    COMMAND ${CTAGS} -R ${CMAKE_SOURCE_DIR}/libssh/*
+		COMMAND cp tags ${CMAKE_SOURCE_DIR}
+		COMMAND cp tags ${CMAKE_SOURCE_DIR}/libssh
+)
+
+# Create etags for emacs
+add_custom_target(etags
+    COMMAND ${ETAGS} -R ${CMAKE_SOURCE_DIR}/libssh/*
+		COMMAND cp TAGS ${CMAKE_SOURCE_DIR}
+		COMMAND cp TAGS ${CMAKE_SOURCE_DIR}/libssh
+)
+
+# Create cscope for both
+add_custom_target(cscope
+    COMMAND ${CSCOPE} -bR ${CMAKE_SOURCE_DIR}/libssh/*
+		COMMAND cp cscope.out ${CMAKE_SOURCE_DIR}
+		COMMAND cp cscope.out ${CMAKE_SOURCE_DIR}/libssh
+)
+
+add_custom_target(tags
+		COMMAND make ctags
+		COMMAND make etags
+		COMMAND make cscope
+)
| [PATCH] ctags, etags and cscope support | Eduardo Otubo <otubo@xxxxxxxxxxxxxxxxxx> | 

