Conversion to the cmake building system. #4
Merged
SlavekB
merged 2 commits from feat/cmakeConv
into master
3 years ago
Loading…
Reference in new issue
There is no content yet.
Delete Branch 'feat/cmakeConv'
Deleting a branch is permanent. It CANNOT be undone. Continue?
What is building so far (symbols visibility is off):
Rem: kttsd/compat directory, test over kspeech.h --> ksayIt
One KTTS audio plugin ought to be available amongst these: akode, aRts, alsa and gstreamer.
I suggest to make aRts the default and the others optionals.
Rem install: kttsd_audioplugin.desktop Done!
Hardcoded path "txt2pho" hadifix/initialconfig.h
Note: On my system, automake builds 5 times kspeech.kidl and kspeechsink.kidl, their resulting files (kspeech_stub.cpp, kspeech_stub.h and kspeechsink_skel.cpp) 4 times.
Rem: ksayIt, at the moment, is built with the kttsd/compat directory.
Have to gather aRts libraries during linking time. --> done, but ksayIt needs aRts.
See if aRts is optionnal or a requirement.
These days I will start to create ebuilds, so I can start to test your work, @cethyel.
And it seems back to Gentoo days aRts was optional. At least it was the case in KDE 3.5.10. So aRts should be optional still today, because I don't think there was much work on that components since back then.
By the way: I like your way of comments. That reminds me on my todo list for TDE. 😸
EDIT: It seems I was too fast with my findings. In fact
ksayit
had some hard-depend ontdemultimedia-arts
. But only because it seems it was buld with--enable-ksayit-audio-plugins
hardcoded. Maybe that can be avoided?Also, it seems
akode
was the default, if no backend was selected. But if aRts is needed anyway, I would like to see aRts selected as default too instead of akode or so. 👍Any feedbacks are welcomed.
Once It build "as a whole", I'll look for definitions in the sources, I'll have a look on the configure script (haven't done that yet 😅 ), we shall see then how everything can be shaped, stay tuned!
Configure's options:
see to add optional kate plugin. Done!
Rem:
kmag/icons --> adjust automake with new folder. Done!
In the doc folder, remove "man-*.1.docbook" file, add man pages instead
Rework man pages...
e7d7fa7069
to953d25e3a1
3 years ago953d25e3a1
tobbb5fc5bb8
3 years agobbb5fc5bb8
to155e7fa75a
3 years ago155e7fa75a
to986225f81b
3 years ago986225f81b
tof570c4a3d6
3 years agof570c4a3d6
to721a8fe117
3 years ago721a8fe117
to46f1f489fb
3 years ago46f1f489fb
to2e963dbd54
3 years agoRem:
2e963dbd54
tod91f0b2e72
3 years agod91f0b2e72
to3ca002b491
3 years agoIn the first round of revision, I only did a building test. It was successful except for a few little things. Here are some notes.
##### icons
tde_install_icons()
Originally, the icons were installed in an application-specific folder, and only the application icon as such was installed in the global folder.
Since there is no risk of a collision (all icons contain application names), then it is probably not a problem to install as you prepared – everything in the global folder.
I mention this only to consider which way to choose.
add_subdirectory( KTTSD_Lib )
add_subdirectory( src )
#add_subdirectory( Freeverb_plugin ) where's the <arts/artsmodules.h> header?
We now know that the header is in tdemultimedia, so builds can be enabled.
However, there should probably be an option like
WITH_KSAYIT_FREEVERB
and a corresponding check to see if everything needed is present.##### Freeverb_plugin (module)
tde_add_library( Freeverb_plugin MODULE AUTOMOC
With automake it is built and installed as
libFreeverb_plugin
=> here you will need to addlib
prefix to the module name.tde_create_translated_desktop(
SOURCE ksayit_libFreeverb_service.desktop
DESTINATION ${SERVICES_INSTALL_DIR}
The file should be installed in
SERVICETYPES_INSTALL_DIR
.##### libkcm_kttsd (kpart)
tde_add_kpart( libkcm_kttsd MODULE AUTOMOC
With automake it is built and installed as
kcm_kttsd
=> here you will need to removelib
prefix from the module name.3ca002b491
to47bf79bbfb
3 years ago47bf79bbfb
tobcc8094aa1
3 years agoIt looks good. I'll take a closer look, probably over the weekend. It seems to be nearing completion of the conversion – great job! Thank you @cethyel
bcc8094aa1
to2b845ff305
3 years agoWIP:Conversion to the cmake building system.to Conversion to the cmake building system. 3 years ago##### testfilter (test)
tde_add_executable( testfilter AUTOMOC
Instead of a separate
tde_add_executable
andadd_test
you can usetde_add_check_executable
– it will be the same astde_add_executable
, just add theTEST
argument. As a result, thetestfilter
will only be built if tests are enabled.As you can see, I've simplified the generation of
skel
andstub
forkspeech
andkspeechsink
, as well as their subsequent linking.Because either combinations of
kspeech.skel
andkspeechsink.stub
orkspeech.stub
andkspeechsink.skel
are always used there, there arekspeech_skel-static
andkspeech_stub-static
static libraries that correspond to these combinations. Thanks to this, there is no need for any separate generation ofskel
/stub
or any explicitDEPENDENCIES
.Please try it on your system.
It works, nice! 👍
My install (automake and here with cmake) does not include the png icons from IconThemes/mono/png/.
Should we include those?
I was hesitant about what the icon was and whether it was actually used somewhere … and yes, it seems to be installed and used also in other themes, so it makes sense to install it.
Note: Do not hesitate to make squash commits into one – including my adjustments, which are only a small part of your great work.
Conversion to the cmake building system.to WIP:Conversion to the cmake building system. 3 years agoI tried to give away the definition of
-UTQT_NO_ASCII_CAST
and I did not notice any problem. Please, can you verify it on your system?tde_conditional_add_subdirectory( BUILD_KSAYIT ksayit )
tde_conditional_add_subdirectory( BUILD_KTTSD kttsd )
tde_conditional_add_subdirectory( BUILD_DOC doc )
add_subdirectory( IconThemes )
Now I realize that there is no
BUILD_ICONTHEMES
option (or something like that). This can be useful for distributions that build individual parts separately.pkg_search_module( ALSA alsa )
if( ALSA_FOUND )
check_include_file( "sys/time.h" HAVE_SYS_TIME )
It seems that after moving the test for header files inside the
WITH_ALSA
/ALSA_FOUND
conditions, there is an incorrect indentation of the entire moved block.)
install(
FILES kmouth.desktop
A desktop file that escaped attention should be processed using
tde_create_translated_desktop
.install(
FILES
de.desktop
Several other desktop files that escaped attention…
)
install(
FILES ksayit.desktop
Another desktop file that escaped attention.
I apologize for a lot of individual comments, instead of one summary revision. At the beginning of the revision and I did not expect more than one comment, so I sent a single comment, in the end there were more comments… Anyway, everything is just small things.
a6d3862181
toa22a5da2e5
3 years agoa22a5da2e5
to78ef701861
3 years agoWIP:Conversion to the cmake building system.to Conversion to the cmake building system. 3 years agoAlthough I did not expect any further comments, I have some suggestions there – see below.
check_include_file( "sys/time.h" HAVE_SYS_TIME )
check_include_file( "time.h" HAVE_TIME )
if( HAVE_SYS_TIME AND HAVE_TIME )
It looks like I will have one more question / comment. In other modules, we use tests as follows to verify the coexistence of
time.h
andsys/time.h
:This method has the advantage that these tests are sufficient to verify, without the need for additional conditions, both the existence of
sys/time.h
and whether the use oftime.h
does not cause a collision withsys/time.h
. You can see that this is exactly the combination I recently added to tork to solve the FTBFS on various distributions.The current condition code, if
time.h
exists, setsHAVE_SYS_TIME_H
even if it does not exist.install(
I suggest a small simplification:
Of course, the above should be
@SlavekB when you've got time, take a look at the last push.
When there's no more comments, I'll squash/reorder once and for all.
0dc6c2e443
tob34a77af51
3 years agoThank you, it looks good.
b34a77af51
to91fc9555ab
3 years agoEverything looks good.
@cethyel great job, thank you!
91fc9555ab
into master 3 years agoReviewers
91fc9555ab
.