You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There has to be note to create/generate: AUTHORS Changelog NEWS, config (for autoheader) and "m4" dir, and issue in utils.c to include <sys/time> but not time
Suggesting improvements in makefiles (.am), instead of forcing to have folder 'common' would be better to have relative include $(srcdir) in AM_CPPFLAGS.
1) AM_CPPFLAGS = -I$(srcdir)/rb_tree
AM_CPPFLAGS = -I$(srcdir)/rb_tree
instead of
AM_CPPFLAGS = -I$(top_srcdir)/common/libinterval3/rb_tree
2)
libinterval3_la_SOURCES = \
interval_tree.c
libinterval3_la_LIBADD = rb_tree/librbtree.la \
$(CONDITIONAL_LIBS)
instead of
libinterval3_la_LIBADD = $(top_builddir)/common/libinterval3/rb_tree/librbtree.la \
$(CONDITIONAL_LIBS)
3) Remove header from
libinterval3_la_SOURCES = \
interval_tree.c interval_tree.h
because headers dont belong in *_SOURCES. They should only be included in AM_CPPFLAGS of needed.
4) Add short CmakeLists.txt
add_library(cccommon
libpatricia/patricia.c
//rest if needed kuje libinterval3/interval_tree.h (for interval tree the red black tree as well)
)
# Add include directories
target_include_directories(cccommon PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/libpatricia
.... // the rest if needed like ${CMAKE_CURRENT_SOURCE_DIR}/libcsv
etc.
)
-------------------------
In improved case user can submodule the cc-common to any directory such as **lib/cccommon**.
In the source proeject CMakeLists.txt to add subdirectory to invoke short CMakeLists.txt and link it.
add_subdirectory(lib/cccommon)
target_include_directories(my_project_name PRIVATE
${CMAKE_SOURCE_DIR}/lib/cccommon
${CMAKE_SOURCE_DIR}/lib/cccommon/libpatricia
// and the rest like ${CMAKE_SOURCE_DIR}/lib/cccommon/libcsv
//etc.
)
------------------------
packges: autoconf automake libtool
----------------------------
autoreconf -i
./configure
make
-------------
cmake -S . -B
cmake --build build
The text was updated successfully, but these errors were encountered:
Miha22
changed the title
Improvement
Bridge to CMake to handle pre-built automake libraries from 'common'
Nov 17, 2024
There has to be note to create/generate: AUTHORS Changelog NEWS, config (for autoheader) and "m4" dir, and issue in utils.c to include <sys/time> but not time
Suggesting improvements in makefiles (.am), instead of forcing to have folder 'common' would be better to have relative include $(srcdir) in AM_CPPFLAGS.
The text was updated successfully, but these errors were encountered: