213 lines
7.7 KiB
Markdown
213 lines
7.7 KiB
Markdown
### 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
|