User Tools

Site Tools


build_process




Buildprocess for Windows:

In the console: switch to tool's main folder where the main CMakeLists.txt lies.
cd multivariateprojectionviewer\MultivariateProjectionViewer
run cmake → Makefiles are generated
cmake -G “MinGW Makefiles”
run make to compile the code:
mingw32-make
start the Tool:
source\IUI\VisualSheetExplorer.exe

IN WIN:

If you do so, as a post_build process, a programm is run named “windeployqt .exe”, which collects all required *.dll's of the main application and copy it to the binary folder.

- - - - - Morover, in folder “\tools”, there, a lot of build scripts are available.

Use the provided Builtools (Build_Start.cmd) or this Build Process:

The above mentioned build is generated with: WIN: - Build_Start.cmd (= cmake > mingw32-make > windeployqt.exe)

To additionally build the installer you call: WIN: - MakeClean_Build_And_MakeGenerateInstaller.cmd (= cmake > mingw32-make > windeployqt.exe > iccs installerscript.iss)

where iccs is a tool from “innosetup” that build the installer based on a script that is placed under the folder “InstallerBuildProcess”


Notizen zum Buildprozess:

# um im DEBUG MODUS zu kompilieren:

in cmake einfügen: set(CMAKE_BUILD_TYPE Debug)

darauf achten das in der resultierenden makefile -G bei den Kompileranweisungen stehen soll und ein -O2 in den Kompileranweisungen eben nicht stehen sollte.

Gesetzt werden die Kompilerflags in der Cmake für die entsprechenden Kompilermodi durch:

SET(CMAKE_CXX_FLAGS_RELEASE  "-O2 -DNDEBUG") 
SET(CMAKE_CXX_FLAGS_DEBUG  "-Wall") 
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")

Bitte darauf verzichten CMAKE_CXX_FLAGS zu verwenden. Diese Kompileranweisungen gelten für jeden Mode was zu Konflikten führen kann (in der Vergangenheit hatten wir das gelegentlich); darum setzen wir CMAKE_CXX_FLAGS nicht mehr ein.

# um im RELEASE MODUS zu kompilieren:

set(CMAKE_BUILD_TYPE Release)

darauf achten das in der resultierenden makefile ein -O2 bei den Kompileranweisungen stehen soll und ein -G in den Kompileranweisungen eben nicht stehen sollte.

Als Optimierungslevel verwednen wir O2 und nicht O3. Das kompilieren mit O3 führ zu Konflikten mit unserer Eigenversion, daher verwenden wir O2.


Hinweis:

CMAKE_C_FLAGS_RELEASE:STRING=-O2 -DNDEBUG …DNDEBUG mein asserts will be removed





build_process.txt · Last modified: 2019/07/30 21:49 by 77.20.151.25