Automatic apidox installation using CMake code #28

Merged
SlavekB merged 2 commits from feat/cmake-install-apidox into master 3 years ago
Owner

Although creating apidox still requires admin module, this does not apply here because a simple doxygen call is used. However, here is the second problem – the script install_apidox that is located in the cmake folder is used for apidox installation. This makes it impossible to remove the CMake submodule.

In fact, the installation of apidox is simple to copy the folder. Therefore, it seems a good idea to replace it with the CMake code. However, here is a complication that we cannot use common install(...) because apidox is not built in all cases. I tested two possible solutions:

  1. CMake script in a separate file. This seems a little impractical because it does not solve the need for a separate script and at the same time, the installation as such is calling a single CMake command file(...).
  2. Automatic add to install(...) if an apidox building is performed. Benefits are that it does not need a separate script and this is naturally included in the installation of all other files. At the same time, defining and calling make target apidox_install becomes unnecessary. It is only defined to maintain compatibility for apidox processing with admin module.

In this pull-request you can see the second of these solutions.

Although creating apidox still requires admin module, this does not apply here because a simple doxygen call is used. However, here is the second problem – the script `install_apidox` that is located in the cmake folder is used for apidox installation. This makes it impossible to remove the CMake submodule. In fact, the installation of apidox is simple to copy the folder. Therefore, it seems a good idea to replace it with the CMake code. However, here is a complication that we cannot use common `install(...)` because apidox is not built in all cases. I tested two possible solutions: 1. CMake script in a separate file. This seems a little impractical because it does not solve the need for a separate script and at the same time, the installation as such is calling a single CMake command `file(...)`. 2. Automatic add to `install(...)` if an apidox building is performed. Benefits are that it does not need a separate script and this is naturally included in the installation of all other files. At the same time, defining and calling make target `apidox_install` becomes unnecessary. It is only defined to maintain compatibility for apidox processing with admin module. In this pull-request you can see the second of these solutions.
SlavekB added this to the R14.1.0 release milestone 3 years ago
SlavekB added the PR/rfc label 3 years ago
SlavekB added 1 commit 3 years ago
2d10834c46
Automatic apidox installation using CMake code
Collaborator

Slavek, you are genius :) in cmake - respect.

To me it looks good and as far as I understand, it can be reused everywhere.

Slavek, you are genius :) in cmake - respect. To me it looks good and as far as I understand, it can be reused everywhere.
Owner

Looks good

Looks good
MicheleC approved these changes 3 years ago
Poster
Owner

Slavek, you are genius :) in cmake - respect.

To me it looks good and as far as I understand, it can be reused everywhere.

Yes, I successfully tested it in tdelibs and tdebase. I'm currently preparing to replace the cmake/generate_apidox script using CMake code and it seems to be functional. However, there is still a need to prepare a replacement for admin/doxygen.sh and other doxygen related files from admin module to finally cancel the need to keep admin module and Makefile.am files. This will be a challenging task but an essential task.

> Slavek, you are genius :) in cmake - respect. > > To me it looks good and as far as I understand, it can be reused everywhere. Yes, I successfully tested it in tdelibs and tdebase. I'm currently preparing to replace the `cmake/generate_apidox` script using CMake code and it seems to be functional. However, there is still a need to prepare a replacement for `admin/doxygen.sh` and other doxygen related files from admin module to finally cancel the need to keep admin module and Makefile.am files. This will be a challenging task but an essential task.
SlavekB added 1 commit 3 years ago
Poster
Owner

I added a second patch that replaces the strange use of the full destination path in build directory. At the same time, the optional build option CMAKE_APIDOX_HTML_DIRECTORY is now entered naturally, including the slash.

I added a second patch that replaces the strange use of the full destination path in build directory. At the same time, the optional build option `CMAKE_APIDOX_HTML_DIRECTORY` is now entered naturally, including the slash.
Owner

Get FTBFS with latest commit.

dh_installlogrotate -plibdbus-1-tqt-doc
dh_installlogcheck -plibdbus-1-tqt-doc
dh_installchangelogs -plibdbus-1-tqt-doc ./ChangeLog
dh_installudev -plibdbus-1-tqt-doc
dh_lintian -plibdbus-1-tqt-doc
dh_bugfiles -plibdbus-1-tqt-doc
dh_install -plibdbus-1-tqt-doc
dh_install: warning: Compatibility levels before 10 are deprecated (level 9 in use)
dh_install: warning: Cannot find (any matches for) "debian/tmp/usr/share/doc/libdbus-1-tqt/HTML/en/*" (tried in ., debian/tmp)

dh_install: warning: libdbus-1-tqt-doc missing files: debian/tmp/usr/share/doc/libdbus-1-tqt/HTML/en/*
dh_install: error: missing files, aborting
make: *** [/usr/share/cdbs/1/rules/debhelper.mk:252: binary-install/libdbus-1-tqt-doc] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Get FTBFS with latest commit. ``` dh_installlogrotate -plibdbus-1-tqt-doc dh_installlogcheck -plibdbus-1-tqt-doc dh_installchangelogs -plibdbus-1-tqt-doc ./ChangeLog dh_installudev -plibdbus-1-tqt-doc dh_lintian -plibdbus-1-tqt-doc dh_bugfiles -plibdbus-1-tqt-doc dh_install -plibdbus-1-tqt-doc dh_install: warning: Compatibility levels before 10 are deprecated (level 9 in use) dh_install: warning: Cannot find (any matches for) "debian/tmp/usr/share/doc/libdbus-1-tqt/HTML/en/*" (tried in ., debian/tmp) dh_install: warning: libdbus-1-tqt-doc missing files: debian/tmp/usr/share/doc/libdbus-1-tqt/HTML/en/* dh_install: error: missing files, aborting make: *** [/usr/share/cdbs/1/rules/debhelper.mk:252: binary-install/libdbus-1-tqt-doc] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 ```
Owner

Tested removing CMAKE_APIDOX_HTML_DIRECTORY from debian/rules.
Builds fine and contents are the same as the ones without PR.

Tested removing CMAKE_APIDOX_HTML_DIRECTORY from debian/rules. Builds fine and contents are the same as the ones without PR.
MicheleC approved these changes 3 years ago
MicheleC left a comment
Owner

Reapproved

Reapproved
SlavekB merged commit e6dccd3173 into master 3 years ago
SlavekB removed the PR/rfc label 3 years ago
SlavekB deleted branch feat/cmake-install-apidox 3 years ago

Reviewers

MicheleC approved these changes 3 years ago
The pull request has been merged as e6dccd3173.
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: TDE/dbus-1-tqt#28
Loading…
There is no content yet.