-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add alternative build method "CMakeLists.txt" #218
Conversation
13e710b
to
7cad83e
Compare
I just built on arm64 mac with CMake. The CMakeLists.txt look like absolute garbage right now.
|
https://github.com/xiaoyifang/goldendict/tree/feature/cmake a try in the above branch but has not finished and tested For your reference. |
ee42bff
to
632fc01
Compare
I think I can copy some of your CMake code later. I successfully built with CMake+vcpkg with MSVC The vcpkg uses a I only tested on Clion, but I think there should be no problem using VS assuming two paths are set correctly. There is a new |
Also, I find no script that you use to generate The upstream seems to be dead, maybe we should vendor the code into our tree like we already do to qsingleapplication. |
check github/workflow/**macos-hombrew.yml on Windows to make it easier , cmakefiles.txt can support qt6 only |
Both Homebrew and MacPorts have speex support for FFmpeg, I think they are pretty good to use. For windows, the build time for FFmpeg is insanely long. Also, vcpkg is pulling things from everywhere which is problematic. Reuse the Before stopping support qt5, I don't think we have to switch the build system. So, I think this can be merged and I have no plan to improve it further before switching. Can you merge this @xiaoyifang ? I think I should prioritize something else. |
the homebrew version( which has speex support) seems does not work . Does the cmakefiles support libeb(epwing ) on Windows? |
I think I will remove vcpkg related things and build with /winlibs/ for windows. There is no upstream for libeb. To avoid including a eb.dylib on mac, maybe we should consider moving your simple-eb into this repo so that both win & mac can easily support epwing format? |
I'm afraid this repo only support windows |
There is a type of mismatching: We call the function of but it seems changed to This isn't allowed on my compiler. Does MSVC have trouble with P.S. CLion cannot refactor C89 syntax, lol |
Unix's standard: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html
ssize_t is in linux's doc https://man7.org/linux/man-pages/man7/system_data_types.7.html The major difference is that |
I added epwing with simple-eb, it adds a submodule under my name for now, until the changes are merged. However, I think we should embed the sources directly instead of submodule. |
55b5fb0
to
3e3a77e
Compare
the commit which introuduced in the simple-eb can be reverted |
I think the Linux build is pretty much done. We can ship to archlinux with CMake first. .
./bin
./bin/goldendict
./share
./share/applications
./share/applications/org.goldendict.GoldenDict.desktop
./share/metainfo
./share/metainfo/org.goldendict.GoldenDict.metainfo.xml
./share/pixmaps
./share/pixmaps/goldendict.png
./share/goldendict
./share/goldendict/locale
./share/goldendict/locale/ar_SA.qm
./share/goldendict/locale/ay_WI.qm
./share/goldendict/locale/be_BY.qm
./share/goldendict/locale/be_BY@latin.qm
./share/goldendict/locale/bg_BG.qm
./share/goldendict/locale/cs_CZ.qm
./share/goldendict/locale/de_CH.qm
./share/goldendict/locale/de_DE.qm
./share/goldendict/locale/el_GR.qm
./share/goldendict/locale/eo_EO.qm
./share/goldendict/locale/es_AR.qm
./share/goldendict/locale/es_BO.qm
./share/goldendict/locale/es_ES.qm
./share/goldendict/locale/fa_IR.qm
./share/goldendict/locale/fi_FI.qm
./share/goldendict/locale/fr_FR.qm
./share/goldendict/locale/hi_IN.qm
./share/goldendict/locale/ie_001.qm
./share/goldendict/locale/it_IT.qm
./share/goldendict/locale/ja_JP.qm
./share/goldendict/locale/jb_JB.qm
./share/goldendict/locale/ko_KR.qm
./share/goldendict/locale/lt_LT.qm
./share/goldendict/locale/mk_MK.qm
./share/goldendict/locale/nl_NL.qm
./share/goldendict/locale/pl_PL.qm
./share/goldendict/locale/pt_BR.qm
./share/goldendict/locale/qt_es.qm
./share/goldendict/locale/qt_it.qm
./share/goldendict/locale/qt_lt.qm
./share/goldendict/locale/qu_WI.qm
./share/goldendict/locale/ru_RU.qm
./share/goldendict/locale/sk_SK.qm
./share/goldendict/locale/sq_AL.qm
./share/goldendict/locale/sr_SR.qm
./share/goldendict/locale/sv_SE.qm
./share/goldendict/locale/tg_TJ.qm
./share/goldendict/locale/tk_TM.qm
./share/goldendict/locale/tr_TR.qm
./share/goldendict/locale/uk_UA.qm
./share/goldendict/locale/vi_VN.qm
./share/goldendict/locale/zh_CN.qm
./share/goldendict/locale/zh_TW.qm
./share/goldendict/help
./share/goldendict/help/gdhelp_en.qch
./share/goldendict/help/gdhelp_ru.qch |
dc2a0e8
to
9143d3b
Compare
Also, I just learned why /winlibs/ used to be a submodule. If user don't need them, they can just don't do The current auto-generated tarball by github is 43Mb which could be just 3Mb. |
that's right. from my personal perspective,I just do not like the submodules which has to depedent on another folder. and invoke after all, this winlibs can be changed into submodule anyway , we can leave it for a later time. |
vcpkg is removed from the windows build and use /winlibs/ instead. For mac homebrew build, I think we are pretty much facing the same rpath problem. macdeployqt cannot use the qt6 in homebrew right now. The solution should be the same. Since we still support qt5, I think we can wait for the next qt6 release and set up CI at that time and deal with unforeseen problems in another PR. This PR is done. |
I think config.cc should move into another PR |
The config.cc change is reverted. |
Build executable to
build_dir