It is recognized that preferences in coding style varies widely from developer to developer. It is, however, important that the entire ITK toolkit have a consistent well defined style so that the entire toolkit appears to have been written by a single developer.
> Module: $RCSfile: itkImageIOBase.h,v $ > Date: $Date: 2009-11-29 15:51:11 $ > Version: $Revision: 1.56 $
The uncrustify configuration file (below) closely matches the KWStyle (except for the inconsistent function brace indentation).
See attached file that needs to be renamed with .sh extension
${UNCRUSTIFYBIN} -c ${LOCAL_DIR}/uncrustify_itk.txt -l CPP -f ${ORIG} -o ${i}.temp
// // new way; should pass void Function() { int i; } class C { public: void ClassMethod() { // new 2; old 4 int i; } // new 2; old 4 }; void FunctionWithLocalClass() { class LocalClass { // new 2; old 4 public: void LocalClassMethod() { // new 4; old 6 int i; } // new 4; old 6 }; // new 2; old 4 } // // old way; should fail void Function() { int i; } class C { public: void ClassMethod() { // new 2; old 4 int i; } // new 2; old 4 }; void FunctionWithLocalClass() { class LocalClass { // new 2; old 4 public: void LocalClassMethod() { // new 4; old 6 int i; } // new 4; old 6 }; // new 2; old 4 }
Recent versions of cmake documentation have gone to using all lower case key words. In order to make ITKv4 consistent with the printed documentation, ITKv4 should also follow this convention.
This vim macro accomplishes the task easily, and has been tested on the BRAINS source code base.
:%s!ADD_CUSTOM_COMMAND\( *\)(!add_custom_command\2(!g :%s!ADD_CUSTOM_TARGET\( *\)(!add_custom_target\2(!g :%s!ADD_DEFINITIONS\( *\)(!add_definitions\2(!g :%s!ADD_DEPENDENCIES\( *\)(!add_dependencies\2(!g :%s!ADD_EXECUTABLE\( *\)(!add_executable\2(!g :%s!ADD_LIBRARY\( *\)(!add_library\2(!g :%s!ADD_SUBDIRECTORY\( *\)(!add_subdirectory\2(!g :%s!subdirs\( *\)(!add_subdirectory\2(!g :%s!SUBDIRS\( *\)(!add_subdirectory\2(!g :%s!ADD_TEST\( *\)(!add_test\2(!g :%s!AUX_SOURCE_DIRECTORY\( *\)(!aux_source_directory\2(!g :%s!BREAK\( *\)(!break\2(!g :%s!BUILD_COMMAND\( *\)(!build_command\2(!g :%s!CMAKE_MINIMUM_REQUIRED\( *\)(!cmake_minimum_required\2(!g :%s!CMAKE_POLICY\( *\)(!cmake_policy\2(!g :%s!CONFIGURE_FILE\( *\)(!configure_file\2(!g :%s!CREATE_TEST_SOURCELIST\( *\)(!create_test_sourcelist\2(!g :%s!DEFINE_PROPERTY\( *\)(!define_property\2(!g :%s!ELSE\( *\)(!else\2(!g :%s!ELSEIF\( *\)(!elseif\2(!g :%s!ENABLE_LANGUAGE\( *\)(!enable_language\2(!g :%s!ENABLE_TESTING\( *\)(!enable_testing\2(!g :%s!ENDFOREACH\( *\)(!endforeach\2(!g :%s!ENDFUNCTION\( *\)(!endfunction\2(!g :%s!ENDIF\( *\)(!endif\2(!g :%s!ENDMACRO\( *\)(!endmacro\2(!g :%s!ENDWHILE\( *\)(!endwhile\2(!g :%s!EXECUTE_PROCESS\( *\)(!execute_process\2(!g :%s!EXPORT\( *\)(!export\2(!g :%s!FILE\( *\)(!file\2(!g :%s!FIND_FILE\( *\)(!find_file\2(!g :%s!FIND_LIBRARY\( *\)(!find_library\2(!g :%s!FIND_PACKAGE\( *\)(!find_package\2(!g :%s!FIND_PATH\( *\)(!find_path\2(!g :%s!FIND_PROGRAM\( *\)(!find_program\2(!g :%s!FLTK_WRAP_UI\( *\)(!fltk_wrap_ui\2(!g :%s!FOREACH\( *\)(!foreach\2(!g :%s!FUNCTION\( *\)(!function\2(!g :%s!GET_CMAKE_PROPERTY\( *\)(!get_cmake_property\2(!g :%s!GET_DIRECTORY_PROPERTY\( *\)(!get_directory_property\2(!g :%s!GET_FILENAME_COMPONENT\( *\)(!get_filename_component\2(!g :%s!GET_PROPERTY\( *\)(!get_property\2(!g :%s!GET_SOURCE_FILE_PROPERTY\( *\)(!get_source_file_property\2(!g :%s!GET_TARGET_PROPERTY\( *\)(!get_target_property\2(!g :%s!GET_TEST_PROPERTY\( *\)(!get_test_property\2(!g :%s!IF\( *\)(!if\2(!g :%s!INCLUDE\( *\)(!include\2(!g :%s!INCLUDE_DIRECTORIES\( *\)(!include_directories\2(!g :%s!INCLUDE_EXTERNAL_MSPROJECT\( *\)(!include_external_msproject\2(!g :%s!INCLUDE_REGULAR_EXPRESSION\( *\)(!include_regular_expression\2(!g :%s!INSTALL\( *\)(!install\2(!g :%s!LINK_DIRECTORIES\( *\)(!link_directories\2(!g :%s!LIST\( *\)(!list\2(!g :%s!LOAD_CACHE\( *\)(!load_cache\2(!g :%s!LOAD_COMMAND\( *\)(!load_command\2(!g :%s!MACRO\( *\)(!macro\2(!g :%s!MARK_AS_ADVANCED\( *\)(!mark_as_advanced\2(!g :%s!MATH\( *\)(!math\2(!g :%s!MESSAGE\( *\)(!message\2(!g :%s!OPTION\( *\)(!option\2(!g :%s!OUTPUT_REQUIRED_FILES\( *\)(!output_required_files\2(!g :%s!PROJECT\( *\)(!project\2(!g :%s!QT_WRAP_CPP\( *\)(!qt_wrap_cpp\2(!g :%s!QT_WRAP_UI\( *\)(!qt_wrap_ui\2(!g :%s!REMOVE_DEFINITIONS\( *\)(!remove_definitions\2(!g :%s!RETURN\( *\)(!return\2(!g :%s!SEPARATE_ARGUMENTS\( *\)(!separate_arguments\2(!g :%s!SET\( *\)(!set\2(!g :%s!SET_DIRECTORY_PROPERTIES\( *\)(!set_directory_properties\2(!g :%s!SET_PROPERTY\( *\)(!set_property\2(!g :%s!SET_SOURCE_FILES_PROPERTIES\( *\)(!set_source_files_properties\2(!g :%s!SET_TARGET_PROPERTIES\( *\)(!set_target_properties\2(!g :%s!SET_TESTS_PROPERTIES\( *\)(!set_tests_properties\2(!g :%s!SITE_NAME\( *\)(!site_name\2(!g :%s!SOURCE_GROUP\( *\)(!source_group\2(!g :%s!STRING\( *\)(!string\2(!g :%s!TARGET_LINK_LIBRARIES\( *\)(!target_link_libraries\2(!g :%s!TRY_COMPILE\( *\)(!try_compile\2(!g :%s!TRY_RUN\( *\)(!try_run\2(!g :%s!UNSET\( *\)(!unset\2(!g :%s!VARIABLE_WATCH\( *\)(!variable_watch\2(!g :%s!WHILE\( *\)(!while\2(!g :%s!BUILD_NAME\( *\)(!build_name\2(!g :%s!EXEC_PROGRAM\( *\)(!exec_program\2(!g :%s!EXPORT_LIBRARY_DEPENDENCIES\( *\)(!export_library_dependencies\2(!g :%s!INSTALL_FILES\( *\)(!install_files\2(!g :%s!INSTALL_PROGRAMS\( *\)(!install_programs\2(!g :%s!INSTALL_TARGETS\( *\)(!install_targets\2(!g :%s!LINK_LIBRARIES\( *\)(!link_libraries\2(!g :%s!MAKE_DIRECTORY\( *\)(!make_directory\2(!g :%s!REMOVE\( *\)(!remove\2(!g :%s!SUBDIR_DEPENDS\( *\)(!subdir_depends\2(!g :%s!SUBDIRS\( *\)(!subdirs\2(!g :%s!USE_MANGLED_MESA\( *\)(!use_mangled_mesa\2(!g :%s!UTILITY_SOURCE\( *\)(!utility_source\2(!g :%s!VARIABLE_REQUIRES\( *\)(!variable_requires\2(!g :%s!WRITE_FILE\( *\)(!write_file\2(!g