Coding Week 4 Meeting-1
441 words
~3
mins

In this seventh meeting question related to installing the FOSSology were discussed.
Week 4 Progress
CMake configuration files have been refactored to make each agent as a separate sub-project.
- Symbolic links are installing.
- VERSION files can be generated now during configure step
- To test the current progress, follow the instructions here
Discussions
- There are two types of replacements CMake can configure file with.
@VARIABLE@
and${VARIABLE}
. Since in PHP$variable
is used, it may create problem for CMake replacements. So may I replace them?- Yeah sure, go ahead. It will be more robust.
- The replacement of
$VARIABLE
can be stopped by using@ONLY
option inconfigure_file(...)
command.
- How to generate vendor directory?
- The code for generating vendor directory is in
src/Makefile
. - Before executing code for the generation, make sure to copy
composer.json
andcomposer.lock
to the target directory. - There is also a patch that FOSSology needs to function as intended. Make sure to run that patch to check and apply.
- For now, we generate vendor while building, but it would be nice if it can be generated in the build step.
- The code for generating vendor directory is in
- Currently I am generating the VERSION file in configure step itself.
Should I move it to the build or install step?
- Yeah, please move it to the build step. As in configure step the data might be outdated.
- Is there any configuration for Release that we can use to install or
test? (Michael)
- Yeah, there are 4 inbuilt configurations for various levels of optimization and can be applied to tests and installation.
- Is the VERSION file is generated for each agent or whole project at
once? Because in the latter case, the VERSION file can be generated as
the last step.
- No agent has a VERSION file along with the main VERSION file for FOSSology.
- How I can build and install a single agent or component?
-
There are two ways you can build and install a specific agent or component only.
-
The first one is quite simple. Just change your directory to the specific agent’s directory and run all the usual commands for building and installing.
-
The second one is a bit for typing work. This can be used directly from the top-level directory. After configuring the CMake, you can run the following command to install the specific component.
# for Unix Makefiles make list_install_component # this will list all the available components cmake -DCOMPONENT=<component-name> -P cmake_install.cmake
-
I am writing a macro that will let us install a component by simply running
make install component
.
-
Conclusion and Further Plans
- Implement generation of vendor directory.
- Move VERSION file generation to build step.