-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the fossology wiki!
https://github.com/avinal/fossology/tree/avinal/feat/cmake-buildsystem
- https://github.com/fossology/fossology/discussions/1931
- https://github.com/fossology/fossology/issues/1913
- Install CMake if you haven't already (minimum 3.10 required)
sudo apt install CMake # for Debian based systems
- check out this branch (avinal/feat/cmake-buildsystem) inside fossology repo
git checkout avinal/feat/cmake-buildsystem
- Run the following commands in succession
mkdir build && cd build
cmake .. # default on most systems is make
make -j<no-of-parallel-process> # default is zero
or with ninja
mkdir build && cd build
cmake .. -GNinja
ninja -j<no-of-parallel-process> # default is 10
- Or you can directly run the following command to build and install
mkdir build && cd build
cmake .. # default on most systems is make
make install -j<no-of-parallel-process> # default is zero
or with ninja
mkdir build && cd build
cmake .. -GNinja
ninja install -j<no-of-parallel-process> # default depends on system (10+ generally)
NOTE: The targets will be installed in the /usr/local
directory. To change that please change this line https://github.com/avinal/fossology/blob/ef82e6d6522e941441e3873b9b35acb1847d1da2/cmake/SetDefaults.cmake#L63 to your preferred installation directory.
-
Some targets are not built by default, you can manually trigger their build by running
make ,target-name>
orninja <target-name>
. You can list all the targets by runningmake help
orninja -t targets
. -
For packaging run
make package
orninja package
or simplycpack
will do the job. -
Testing configurations are not built by default. please use
-DTESTING=ON
flag at configure time. Prefer testing inside a particular agent itself, overall testing is not implemented yet. -
You can also use CMake EXtension for VS Code for seamlessly populating and building targets. Can also use gitpod.io for quick setup
- Builds all the agents except ninka, demomode, example_wc_agent, regexscan, I have added the initial configuration for them but haven't updated with the latest progress.
- Installs a working FOSSology instance
- Both
Unix Makefiles
andNinja
generators are tested and working - You can use parallel build jobs to build faster (approx 100% faster)
- Each agent can be separately built and installed. Single targets can also be compiled
- Packaging is working (WIP)
- Coverage builds may or may not work for all agents
- Symbolic links are not included in the packages
- There are some redundant files being installed