Upgraded plugin project to vs 2015. Can now serve all targets (vs 2012 to 2015) with one binary.
Masterproject
Setup
External Software
- QT 5.5
- CxxTest 4.3
- Valgrind 3.9.0 (linux)
- Clang & LLVM (doesnt quite work for windows, use unix setup below and skip all the ninja stuff)(installation guide http://clang.llvm.org/docs/LibASTMatchersTutorial.html)
- Boost 1.59
- Eigen 3.2.6
- Botan 1.11.24
Environment Variables
- QT_DIR - ...\Qt\Qt5.2.1\5.2.1<IDE>\
- CXX_TEST_DIR - .../cxxtest-4.3/
- CLANG_DIR - .../clang-llvm/
- BOOST_159_DIR - .../boost_1_59_0
- EIGEN_DIR - .../eigen
- BOTAN_DIR - .../Botan-1.11.24
For Win32:
- VLD_DIR - .../Visual Leak Detector
- path - apped path to git.exe
Botan setup
Build release lib in ${BOTAN_DIR}/release Build debug lib in ${BOTAN_DIR}/debug
for Windows release build: $ python configure.py --cc=msvc --cpu=x86_32 --via-amalgamation --disable-shared
for Windows debug build: python configure.py --cc=msvc --cpu=x86_32 --via-amalgamation --disable-shared --no-optimizations --with-debug-info
for other: $ python configure.py --via-amalgamation --disable-shared
Settings
Run setup script: $ ./script/setup.sh
Release
App
- create release build
- make sure it uses the Coati icon
- obfuscate the executable using upx
Data folder
- put data folder in working directory
- add empty log folder
- add working tictactoe.xml project to /projects/tictactoe with sources in /projects/tictactoe/src
- add empty app settings with one recent project tictactoe.xml
- leave window_settings.ini with correct Coati start layout
Package
- add app
- add web/coati_manual.pdf to package
Updating Clang on UNIX
$ cd .../clang_llvm
$ cd llvm $ git pull origin master
$ cd tools/clang $ git pull origin master
$ cd tools/extra/ $ git pull origin master
$ cd ../../../../../build_debug $ cmake -G Ninja ../llvm $ ninja -j4 check-all
$ cd ../release_build $ cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../llvm $ ninja -j4 check-all
Remarks
- Boost lib dir: rename library directory for your system (e.g.: 'lib32-msvc-12.0') to 'lib'
Tagging
$ git tag -a VERSION_NUMBER -m "DESCRIPTION" $ git push --tags
Changelog
0.3.0
- Added Tutorial project
- Added communication interface from and to Coati via TCP sockets
- Added plugin for Visual Studio (2012, 2013, 2015)
- Added plugin for Sublime Text (2 & 3)
- Increased autocompletion performance by caching and limiting results to 100
- Save Coati version to sqlite and reparse project whenever the version changes
- Improved source locations of template scopes
- Fixed horizontal scroll in code view not activated while scrolling vertically
- Save errors to storage and reactivate them via button in the status bar
- Save macro scopes
- Fixed old data was still in new project window when creating another project
- Save comment locations and display them when right next to active symbol
- Reworked code view highlighting
- Fixed cursor was jumping at end of query when editing a search query
- Fixed search query disappeared when not token was found for it
- Improved code view auto scroll to center the first active line in the middle
- Focus all overlapping source locations in the code view
- Added recent projects menu option
- Saving all template arguments type uses
0.4.0
- Network ports for IDE communication can be defined in the ApplicationSettings.xml
- Coati can now handle inclass initialization of members
- Improved handling of template arguments in analysis
- Coati now handles anonymous symbols when parsing files
- Extended color schemes to allow more extensive use in the graph
- Added new color scheme called "bad_rainbow"
- Coati shows a template's general definition when an implicit specialization is activated
- Fixed source locations of many declarations
- Fixed syntax highlighting to correctly identify strings, comments and block comments
- Added analysis for template parameter packs
- Show function and method signature in tooltip when hovering the graph node
- Fixed graph font size was too small for Windows and Linux
- Removed Coati directory from Linux package
- Introduced file endings .coatiproject and .coatidb for Coati's project files
- Added installer for Windows
- Installing prerequisits in Windows Installer
- Redesigned the about window
- Parse errors will be displayed as they appear during analysis
- Fixed constructors and destructors using return type 'void' withou source location
- Removed 'close window' action from menu
- Added help texts to project setup and preferences window
- Improved lambda handling in analysis
- Fixed style of function or method nodes with children
- Fixed tooltip colors in dark color scheme
- renamed undo&redo to back&forward
- navigate back&forward via mouse buttons
- navigate back via backspace key
0.5.0.4
- Added option to hide widget window title bars to View menu
- Added C support
- Added shortcuts for font size resetting to View menu
- Fixed number postions in graph
- Improved performance of token name saving
- Added commandline option for project file
- Fixed cursor changing for resize and text interactions
- Added C and C++ standard setting to project
- Refresh project editing settings
- Added license key window and license checker
- Added trial target without analysis
- Added web documentation
- Improved code view annotation painting performance
- Update error count while analysis
- Improved back & forward in code view
- Return to last scroll position when going back in code view
- Added .coatiproject file associations with icon for Mac and Windows
- Display scope name at bottom of code snippet
- Improved graph view node bundeling to bundle more
- Improved log file names to be sorted chronologically
- Added application move protection to reenter license key
- Show overview on project open with node bundles per type
- Added overview and error keywords to search view
- Added project setup wizard for step-by-step project setup
- Added Visual Studio solution parsing via project wizard or VS plugin
- Improved style of ui windows
- Save user data in ~/Library/Application Support/Coati on Mac
- Improved analysis performance to take only 66% of the time
- Improved logging to alternate between 2 files of 1000 lines to decrease logfile sizes
- Improved painting of icons in graph to be smoother
- Added link to documentation to Help menu
- Fixed preferences not saved
0.5.1.21
- Added project setup for Compilation Databases
- Improved analysis performance for large projects (10x as fast for 1.000.000 LoC)
- Improved project load and code view performance
- Added graph panning with WASD
- Added graph zooming with Shift + mouse wheel or Shift + WS
- Added file extension UI to advanced settings in project setup summary
- Added compiler flags UI to advanced settings in project setup summary
- Show fatal errors in UI that stopped analysis
- Fixed linux package creating ~/.config if not there
- Fixed project setup window sizes to adapt to content size
- Fixed project paths are now saved relative if defined relative
- Fixed crash when opening newer project with older version of Coati
- Removed high traffic log messages
- Show loader animation when loading project
- Fixed expanding file with errors showed all locations in red
- Fixed children on namespace activation were bundled
- Fixed interrupting of analysis to show message in status bar
- Disabled config file warnings
- Added delay for changing fontsize via mouse wheel
- Fixed Visual Studio plugin project loading
- Improved context detection for template parameters
- Fixed type references in headers saved multiple times
- Prevent network message handling without valid license
- Added font size limits
- Center windows on top of main window
- Fixed crash when accessing files without read permission
- Fixed file logger using wrong directory for first log file