CMake
Piles use CMake as a build system. Several CMake scripts are provided
in pile-cmake repository
to make the job of the developer as simple as possible. Here is a complete list:
General variables are the ones that affect the whole pile system.
- PILE_SUPPORT_DEBUG
-
general switch for debug messages;
set to
ON
to enable them;
set to OFF
to disable them.
These are variables normally found in pile.cmake files.
- PILE_QT_MODS
-
a list of Qt modules like
Core Widgets Network
;
- PILE_DEBUG_MSG
-
enable or disable debug messages for a certain pile;
- PILE_BUILD_MODE
-
used in
CMakeLists.txt
for the pile to
decide the way pile is being used; defaults to
STATIC
; CMakeLists.txt
file
is / should only bbe used for
STATIC
or
SHARED
modes. In the end this variable will
be used as PILE_PILE_MODE.
These are variables created on behalf of the pile by various macros.
- PILE_NAME
-
the name with all-lower-case letters;
- PILE_NAME_U
-
the name with all-UPPER-case letters;
- PILE_NAME_C
-
the name as provided (should be CamelCase);
- PILE_SOURCE_DIR
-
the path where this pile is stored (not including /cmake);
- PILE_BINARY_DIR
-
the path where this pile generates output;
- PILE_DEPENDENCIES
-
piles that current pile depends on;
- PILE_CATEGORY
-
a list of categories, with the most general
one first and most specific one last;
- PILE_TAGS
-
a set of tags;
- PILE_MAJOR_VERSION
-
first component of the version;
- PILE_MINOR_VERSION
-
second component of the version;
- PILE_PATCH_VERSION
-
third component of the version;
- PILE_VERSION_STRING
-
a string in the form
1.2.3
;
- PILE_DEBUG
-
defined if this is a debug version;
- PILE_RELEASE
-
defined if this is a release version;
- PILE_PILE_MODE
-
one of
STATIC, SHARED, PILE
or PILE_SHARED
;
- PILE_HEADERS
-
the list of header files to build this pile;
- PILE_SOURCES
-
the list of source files to build this pile;
- PILE_CONFIG_FILE
-
full path to the configuration file;
- PILE_CONFIG_FILE_IN
-
full path to the configuration file template;