-
Notifications
You must be signed in to change notification settings - Fork 6
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 basic support and documentation for CMake build system #51
Conversation
Thank you. Could you tell me how to build libreadtags with your change? |
Thank you for your reply. I only use the main source files ( cd ${source_dir}
mkdir build_debug
cmake -DCMAKE_BUILD_TYPE=Debug -S . -B build_debug
cmake --build build_debug --target libreadtags -j ${cpu_thread_count} |
I'm currently configuring my WSL environment, I have never used autoconf or automake before. Can you provide me with a generated makefile? If you can also provide me with a makefile for the test directory, I should also be able to complete the CMakeList.txt for the test directory. |
Co-authored-by: K.Takata <kentkt@csc.jp>
CMakeLists.txt
Outdated
cmake_minimum_required(VERSION 3.25) | ||
project(libreadtags) | ||
|
||
set(CMAKE_C_STANDARD 11) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unlike ctags itself, I would like to keep libreadtags compilable with C99.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've just found AC-PROG-CC-C99
in configure.ac. I'll update that.
Could you tell me the use case of the file? If you assume cmake as an alternative build system to autotools<1>, I expect cmake to provide libreadtags.so with soname and an install target. If you assume cmake is just for building the library at a specified directory<2>, maybe the current version you submitted here is enough for merging. |
cmake could create an install target with Current |
I am not very familiar with the |
I'm using the command in the |
- Add options to build shared library - Update README.md
I've updated If there's anything still missing (like installing man or other stuff), just tell me to add them |
LT_VERSION specifies the version of the library interface. Could you give me time? I must understand your changes well. |
Of course |
I forgot to commit README.md, sorry. Now you could try building it with instructions in README.md |
I'm sorry for working on this pull request so slowly. https://github.com/openSUSE/libsolv/tree/master may have all I must study to apply cmake to libreadtags. I wonder we should prepare FindLibReadtags.cmake like https://github.com/openSUSE/libsolv/blob/master/cmake/modules/FindLibSolv.cmake . My concerns (and interests):
|
Actually, if we prepare CMakeList.txt properly, other CMake projects just need to use find_package method to load this package, see Finding Packages. But if you use CMake method By the way, OpenSUSE's CMake standard is too old (2.x.x) which is deprecated according to CMake official docs. If you want to learn more about CMake, you should look for something more modern ( |
Sorry for making you wait so long. I'll take over this to adjust minor things. |
No description provided.