From ad8c3882357125de3da9a445983cdd850ec74b8a Mon Sep 17 00:00:00 2001 From: Geert Janssens Date: Wed, 2 Oct 2019 12:31:44 +0200 Subject: [PATCH] core-utils - rework link_libraries and include_directories propagation By properly marking certain parameters as private or public we can have cmake work out most of the link_libraries and include_directoris for other targets dependent on core-utils --- bindings/guile/CMakeLists.txt | 23 ++++++++++------------- gnucash/gnome/CMakeLists.txt | 1 + libgnucash/core-utils/CMakeLists.txt | 12 +++++++----- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/bindings/guile/CMakeLists.txt b/bindings/guile/CMakeLists.txt index 9c0159a8f8..cf2b44ea67 100644 --- a/bindings/guile/CMakeLists.txt +++ b/bindings/guile/CMakeLists.txt @@ -22,23 +22,20 @@ add_dependencies(gnucash-guile swig-runtime-h) target_include_directories(gnucash-guile - PRIVATE - ${CMAKE_SOURCE_DIR}/common - ${CMAKE_BINARY_DIR}/common - ${CMAKE_SOURCE_DIR}/libgnucash/core-utils - ${CMAKE_BINARY_DIR}/libgnucash/core-utils # For gnc-version-info.h - ${GLIB2_INCLUDE_DIRS} - ${GTK_MAC_INCLUDE_DIRS} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} - ${GUILE_INCLUDE_DIRS}) + ${GUILE_INCLUDE_DIRS} + ${GLIB2_INCLUDE_DIRS} + PRIVATE + ${CMAKE_SOURCE_DIR}/common + ${CMAKE_BINARY_DIR}/common) target_link_libraries(gnucash-guile - gnc-core-utils - ${GUILE_LDFLAGS} - ${GLIB2_LDFLAGS} - ${GOBJECT_LDFLAGS} - ${GTK_MAC_LDFLAGS}) + PUBLIC + ${GUILE_LDFLAGS} + PRIVATE + gnc-core-utils + ${GLIB2_LDFLAGS}) install(TARGETS gnucash-guile LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} diff --git a/gnucash/gnome/CMakeLists.txt b/gnucash/gnome/CMakeLists.txt index 9e55dc48c0..4df8422bda 100644 --- a/gnucash/gnome/CMakeLists.txt +++ b/gnucash/gnome/CMakeLists.txt @@ -146,6 +146,7 @@ target_link_libraries(gnc-gnome gncmod-gnome-utils gncmod-engine gnucash-guile + ${Boost_LIBRARIES} PkgConfig::GTK3 ${GTK_MAC_LDFLAGS}) diff --git a/libgnucash/core-utils/CMakeLists.txt b/libgnucash/core-utils/CMakeLists.txt index e303cfc00d..039a46cf90 100644 --- a/libgnucash/core-utils/CMakeLists.txt +++ b/libgnucash/core-utils/CMakeLists.txt @@ -47,14 +47,16 @@ target_include_directories(gnc-core-utils ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${GLIB2_INCLUDE_DIRS} + PRIVATE ${GTK_MAC_INCLUDE_DIRS}) target_link_libraries(gnc-core-utils - ${Boost_LIBRARIES} - ${GLIB2_LDFLAGS} - ${GOBJECT_LDFLAGS} - ${GTK_MAC_LDFLAGS} - "$<$:${OSX_EXTRA_LIBRARIES}>") + PRIVATE + ${Boost_LIBRARIES} + ${GLIB2_LDFLAGS} + ${GOBJECT_LDFLAGS} + ${GTK_MAC_LDFLAGS} + "$<$:${OSX_EXTRA_LIBRARIES}>") target_compile_definitions(gnc-core-utils PRIVATE