
INTRODUCTION TO THE PCYNLITX NOVA
C++ Automatic Build System Generation Technology
1. THE FIRST STEP TO PCYNLITX NOVA
The pcynlitx ide is an innovative integrated development environment which can generate C++ build systems and/or scripts automaticaly. More specifically, the ide platform can determine the dependencies of each source file by means of a meta program. Therefore, differently from the existing technologies, on the pcynlitx build system generation, there is no need to write any configuration file and dependency lists are automatically created by the platform. In fact, the pcynlitx platform extract dependency information from git repository by means of a special meta program ( this meta program is a component of the pcynlitx kernel ) which reads every source files. In the first stage of the C++ build system generation, this meta program receives the paths of the files existing on the git repository from git version control software ( git listing commands such as “git ls-files” ). Then, it reads each source file which is a part of the git repository in order to extract dependency information. The implementation details of the pcynlitx-nova will be given on the following sections.
DOWNLOAD PCYNLITX NOVA INSTALLER
You can download the pcynlitx nova installer for Windows-x64 architecture from project GitHub repository.
https://github.com/Erkam-Murat-Bozkurt/pcynlitx.nova/releases/tag/v1.0-beta

What is new in pcynlitx nova
The previous version of the pcynlitx ide ( the version 1.0 ) produces cybernetic thread libraries by meas of a metaprogramming platform. However, instead, in the next version of the pcynlitx nova ( the version 2.0 ), a C++ template library performing the same task has been developed. On the other hand, in addition to cybernetic thread management property, the pcynlitx ide version 2.0 includes automatic C++ build system construction technology.
Pcynlitx Nova look and feel
The usage of the pcynlitx nova is very simple and it is not required any learning curve. A simple screenshoot which is taken from the graphical user interface of the pcynlitx IDE has been given in below. Although pcyniltx ide includes standart editing properties, it also includes automatic build system construction technology. In the following sections, automatic build system construction technology will be introduced.
PROPERTIES OF THE PCYNLITX NOVA
Automatic C++ build system construction
Code editing
Cybernetic thread management library
OpenSource
2. AN OVERAL LOOK TO PCYNLITX BUILD SYSTEM CONSTRUCTION TECHNOLOGY
In order to constract a C++ build system, the pcynlitx nova needs two different dependency information. The first one is internal dependencies. In fact, the internal dependencies specifies how the source files of the git repository dependent each others. More specifically, it specifies how the source files of the git repository must be orginized in order to perform a successful compliation. On the other hand, the external dependencies specifies the relation of the other libraries, source files and/or header files rather than the git repository itself. The dependencies on the inside of the git repository are determined by means of a meta program reads every source file on the git repository line by line. The meta program which reads the source files inside git repository will be explained on the following sections. The simple illustrations about internal and external dependencies are given below.
INTERNAL DEPENDENCIES

The source files which are parts of the project it seft.
EXTERNAL DEPENDENCIES
External source files
External libraries
External header files
The pcynlitx ide obtains the list of files which exist on the git repository and its relative path from the git version control system. Therefore, in order to use pcynlitx ide, git version control system must be installed and the current version only support git as a version control system.
2.1 HOW THE EXTERNAL DEPENDENCIES ARE OBTAINED BY PCYNLITX IDE
Pcynlitx IDE has a simple panel which is used in order to collect information about the directories including source files and libraries for a C++ projects. This panel is organized in a simple form. The user can select directories including source files and libraries from a selection menu. Then, the software developer can easily record every selection into a kind of description file with pressing a simple save button. In this process, the user performs selection about the following information.
- Where will be the construction directory of the C++ build system
- The root directory of the Git repository
- The C++ standart
- Build system type ( a selection between the classical make file system and CMAKE build system )
- External header file locations
- External source file locations
- External library locations
- The name of the libraries to be used
- The compiler options
- The linker obtions
- The name of the project
3. THE USAGE OF THE PCYNLITX NOVA GUI AND DESCRIPTION PANEL
In pcynlitx build system construction process, everything is performed from the graphical user interface. You don’t need to write any code for build system configuration. The only thing which is necessary is to specify the directories which headers and libraries can be found. In addition to this, you must also show the location of the git repository to the pcynlitx platform and the location in which the new build system to be constructed. Then, every dependencies and necessary information are extracted by the pcynlitx platform and the build system is constructed automatically. In the following of this page, these operation is shown with simple video tutorials.
3.1 PCYNLITX DESCRIPTION PANEL

A sample screenshoot from the description panel of the pcynlitx ide
Software developer can easily record selections with save button. Similary, ever selection can be removed with clear button.
You can select the necessary information from the panel as a file and/or directory location ( the full operating system path ). Meanwhile, you can save your preferences. On the otherhand, if you select an already recorded dependency list, the information which has been recorded is automatically printed on the panel.
3.1.1 Project file selection
The first thing on the usage of the pcynlitx nova is to determination of the project file ( description file ). You can either construct a new empty project file or select an already written file before build system construction. This process is perform from a selection window. An example illsutration is given in below video.
3.1.2 Git repo directory selection
This panel option provides the selection of the project repository form the panel. It will be shown that the pcynlitx nova construct build system based on the information coming from the git version control system. Therefore, this information plays crucial role on automatic build system construction. An illustration is given in below video.
3.1.3 Build system construction directory selection
This panel option provides the selection of the construction point for the build system form the panel. In other words, the software developer selects the directory in which the build system to be constructed. An illustration is given in below video.
3.1.4 C++ standard determination
This panel option provides the selection of the C++ standart which is used by the compiler. An illustration is given in below video.
3.1.5 C++ compiler selection
This panel option provides the selection of the executable binary of the compiler that is used. An illustration is given in below video.
3.1.6 The selection of the build system type
Currently, two type of build system are supported by the pcynlitx nova. These are CMAKE build system and a build system including the classical GNU Make files and shell scripts. On the shell scripts option, the pcynlitx nova constructs operating system native shell scripts and related make files on the directories in a hierarcical order. An illustration is given in below video.
3.1.7 The selection of the directories including header files
From the description panel, you can specifiy the directories including the header files for your project. An illustration is given in below video.
3.1.8 The selection of the directories including library directories and selection of the libraries to be linked
From the description panel, you can specify the directories including the library files for your project. In addition to this, you can select the libraries to be linked from the description panel. An illustration is given in below video.
3.1.9 The determination of project name and version
From the description panel, you can specify the name of the project and version of the software to be developed. An illustration is given in below video.
3.2 THE CONSTRUCTION OF THE CMAKE BUILD SYSTEM LIST FILES
After every descriptions about the build system to be constructed is performed, the build system can be constructed with clicking a simple button. This operation is shown in below video.
3.3 THE CONSTRUCTION OF THE CLASSICAL GNU-MAKE BUILD SYSTEM
You can also construct a classical build system which is a collection of make files and the scripts executing the make files written. This operation is shown in below video.
TESTING THE OUTPUT OF THE BUILD SYSTEM CONSTRUCTION PROCESSES FOR CMAKE
TESTING THE OUTPUT OF THE BUILD SYSTEM CONSTRUCTION PROCESSES FOR GNU MAKE SCRIPTS
MANUEL DESCRIPTOR FILE CONSTRUCTION
However, the software developer don’t have to use the PCYNLITX GUI for build system construction. More spesifically, the pcynlitx ide consists of two different parts. The fist part is the kernel of build system generator and it is a executable binary file. The other part is its graphical user interface. It has been already mantioned that the user can build a kind of descriptor file including every dependency information by means of a panel ( the description panel of the pcynlitx ide ). In fact, this descriptor file has a very simple syntax and the developer can write the necessary information on an empty “txt” file using a simple rule. This rule ullustrated in below.
[KEY WORDS]{
Declerations
}
When the descriptor file is ready, the C++ build system can be generated using the GUI of the pcynlitx ide. On the other hand, the C++ build system can be generated directly over a shell or a terminal using the kernel of the pcynlitx ide if the descriptor file is ready. You can download an empty descriptor file from the link given in below.
HOW PCYNLITX IDE KERNEL CAN READ THE FILE DEPENDENCIES
The kernel of the pcynlitx ide has a meta-program which can read the whole git repository line by line and extract dependency operations. The pcynlitx ide reads each source file existing on the target git repository and it extracts every file dependency based on information which is determined using some C++ language properties such as key words, scope resulution operators, function braces and/or operators etc. Meanwhile, this operation is performed using paralel multithreaded algorithms particularly written in C++. A simple code reading operation has been illustarated in below.
#include <sample>
#include <repo/test>
–> The code lines which the keyword “include” places is determined.
–> Then, the information between the baraces is extracted.
In this particular example, the header files which are named as sample and test are determined. After that, the pcynlitx tries to find the exact paths of the related files from the list of files existing on the git repository (The list of files existing on the repository is retrived using “git ls-files” command. This is a very simplified and short explanation for the pcynlitx ide meta-programming system. In fact, the real system is higly complex and it works on multithreaded software systems.
THE STRUCTURE OF THE PCYNLITX KERNEL
The Pcynlitx IDE has two main parts. These are the graphical user interfase ( the GUI ) and the pcynlitx kernel. In fact, in addition to the classical editing operations, the graphical user interface is also responsible from the performing necessary interraction with the user. The gui collects the necessary informations from the user by means of frames and description panels. Then, the kernel, which is in fact an executable binary, receives the information collected by the gui.

Pcynlitx Software Systems
ABOUT
The pcynlitx project is carried out by Erkam Murat Bozkurt who is control systems engineer with M.Sc degree.
PRODUCTS
Pcynlitx IDE
Pcynlitx Multithreading Library
RESEARCH
The main purpose of the researches performed on pcynlitx project is to simplifiy software development with C++
LICIENCE
The software are distributed with apache software liciense
CONTACT
pcynlitx.help@gmail.com
emb.muratbozkurt@gmail.com
erkam@pcynlitx.com
The source codes that are distributed on pcynlitx projects are copyrited on U.S copyright office. Copyright © 2025. All rights reserved.