Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
UppHub
Status & Roadmap
FAQ
Authors & License
Forums
Funding U++
Search on this site











SourceForge.net Logo

SourceForge.net Logo

GitHub Logo

Discord Logo

Build flags


Table of contents

 

1. Introduction

2. Main configuration flags

3. Output method flags

4. Platform flags

5. Flags determining the builder

6. Other flags

 


1. Introduction

Build flags are preprocesor values that are defined during compilation process. Some of theme are provided automatically. On the other hand we have a flags that can be defined by the user directly in TheIDE. Below screenshot presents where you can do it:

 

 

You can posses several flags configuration and change it by selecting item in the drop down list ([2]). You can add new configuration or edit existing one in the flags editor ([1]) shown below:

 

 

Flags can be combined for single configuration. Each flag needs to be separated with the space. For example we can have "GUI USEMALLOC". This configuration will create GUI application without custom U++ allocator.


2. Main configuration flags

Main configuration flags are provided by the user. Most of the time they are added automatically to the project. This situation happens when you create your package using our "New Package" creator. For example user creates "CtrlLib" application, then "GUI" flag is added automatically. Main configuration flags are located below:

 

GUI

Build GUI application.

 

 


3. Output method flags

 

These flags are added based on options in build method dialog.

 

DEBUG

Output mode is set to Debug (not Release).

DEBUG_MINIMAL

Minimal debug information - depends on actual builder, usually it should provide line numbers information to debugger.

DEBUG_FULL

Full debug info.

SHARED

Prefer dynamic libraries when linking.

SO

Link non-main packages as shared libraries (.dll/.so). Implies SHARED.

BLITZ

Use blitz build.

 

 


4. Platform flags

 

These flags are added by builder based on target platform.

 

ANDROID

Android

WIN32

Win32.

WIN64

Win64

POSIX

Anything else then WIN32

LINUX

Linux

COCOA

macOS

FREEBSD

FreeBSD

OPENBSD

OpenBSD

NETBSD

NetBSD

SOLARIS

Solaris

 

 


5. Flags determining the builder

Following flags are provided by the currently selected build method:

 

MSC71

Microsoft Visual C++ 7.1

MSC8

Microsoft Visual C++ 8.0

GCC

GCC compiler in implicit mode (32 or 64).

GCC32

GCC compiler in 32-bit mode (-m32)

CLANG

CLANG compiler in implicit mode.

EVC_ARM

Microsoft WinCE C++ ARM complier.

EVC_MIPS

Microsoft WinCE C++ MIPS complier.

EVC_SH3

Microsoft WinCE C++ SH3 complier.

EVC_SH4

Microsoft WinCE C++ SH4 complier.

INTEL

Intel C++.

 

 


6. Other flags

These flags needs to be specify directly by the user. Available flags are located below:

 

X11

On POSIX systems turns on X11 backend.

NOGTK

On POSIX systems turns on X11 backend and prevents linking against GTK libraries.

USEMALLOC

Use malloc to allocate memory instead of U++ allocator.

NOAPPSQL

Do not create global SQL/SQLR instances.

NOMYSQL

Disable MySql package.

NOPOSTGRESQL

Disable PostgreSQL package.

DLL

Force target to be .DLL. Not typical for U++.

DEBUGCODE

Allows debugging code in release mode (normally it is allowed in debug mode only).

MAKE_LIB

Special mode that produces library file. This is to be used when converting U++ to regular library. All packages in workspace are placed into this library.

MAKE_MLIB

Similar to MAKE_LIB, but only the main package put into the library.

 

 

Do you want to contribute?