Handle cases where LIBDIR is not "lib"

For example, Fedora installs to lib64, Debian to lib/<arch-tuple>
This commit is contained in:
Rob Gowin
2017-12-01 12:53:17 -06:00
parent 0a8e50069c
commit 778b86e29e
9 changed files with 31 additions and 27 deletions

View File

@@ -22,7 +22,7 @@ FUNCTION(RUN_TEST_WITH_GUILE _TARGET _SOURCE_FILE)
GET_GUILE_ENV()
SET(CMAKE_COMMAND_TMP "")
IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env "${GUILE_ENV};GNC_MODULE_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/test")
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env "${GUILE_ENV};GNC_MODULE_PATH=$${LIBDIR_BUILD}/gnucash/test")
ENDIF()
ADD_TEST(NAME ${_TARGET}
COMMAND ${CMAKE_COMMAND_TMP}
@@ -32,7 +32,7 @@ FUNCTION(RUN_TEST_WITH_GUILE _TARGET _SOURCE_FILE)
SET_TESTS_PROPERTIES(${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV};${ARGN}")
ENDFUNCTION()
GNC_ADD_TEST_WITH_GUILE(test-load-c test-load-c.c GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS "GNC_MODULE_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/test")
GNC_ADD_TEST_WITH_GUILE(test-load-c test-load-c.c GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS "GNC_MODULE_PATH=${LIBDIR_BUILD}/gnucash/test")
GNC_ADD_TEST_WITH_GUILE(test-modsysver test-modsysver.c
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
@@ -42,10 +42,10 @@ GNC_ADD_TEST_WITH_GUILE(test-incompatdep test-incompatdep.c
)
GNC_ADD_TEST_WITH_GUILE(test-agedver test-agedver.c
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
"GNC_MODULE_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/test"
"GNC_MODULE_PATH=${LIBDIR_BUILD}/gnucash/test"
)
SET(_LIBDIR ${CMAKE_BINARY_DIR}/lib)
SET(_LIBDIR ${LIBDIR_BUILD})
IF (WIN32)
SET(_LIBDIR ${CMAKE_BINARY_DIR}/bin)
ENDIF()
@@ -78,7 +78,7 @@ IF(NOT WIN32)
# This little dance is needed because gnc_module_init will assert if
# it finds libgncmod_futuremod.so outside of a test that expects it.
GET_GUILE_ENV()
SET(_GNC_MODULE_PATH "${CMAKE_BINARY_DIR}/lib:${CMAKE_BINARY_DIR}/lib/gnucash:${CMAKE_BINARY_DIR}/lib/gnucash/test")
SET(_GNC_MODULE_PATH "${LIBDIR_BUILD}:${LIBDIR_BUILD}/gnucash:${LIBDIR_BUILD}/gnucash/test")
FOREACH(test_file ${test_gnc_module_SCHEME})
GET_FILENAME_COMPONENT(basename ${test_file} NAME_WE)
SET_TESTS_PROPERTIES(${basename} PROPERTIES ENVIRONMENT "${GUILE_ENV};GNC_MODULE_PATH=${_GNC_MODULE_PATH}")

View File

@@ -14,8 +14,8 @@ ADD_LIBRARY(gncmod_incompatdep EXCLUDE_FROM_ALL incompatdep.c)
TARGET_LINK_LIBRARIES(gncmod_incompatdep gnc-module ${GLIB2_LDFLAGS})
SET_TARGET_PROPERTIES(gncmod_agedver gncmod_futuremodsys gncmod_incompatdep PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/gnucash/test
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/gnucash/test
LIBRARY_OUTPUT_DIRECTORY ${LIBDIR_BUILD}/gnucash/test
ARCHIVE_OUTPUT_DIRECTORY ${LIBDIR_BUILD}/gnucash/test
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
SET_DIST_LIST(misc_mods_DIST CMakeLists.txt Makefile.am agedver.c futuremodsys.c incompatdep.c)

View File

@@ -22,8 +22,8 @@ TARGET_INCLUDE_DIRECTORIES(gncmodbar PRIVATE
)
SET_TARGET_PROPERTIES(bar gncmodbar PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/gnucash/test
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/gnucash/test
LIBRARY_OUTPUT_DIRECTORY ${LIBDIR_BUILD}/gnucash/test
ARCHIVE_OUTPUT_DIRECTORY ${LIBDIR_BUILD}/gnucash/test
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
SET_DIST_LIST(mod_bar_DIST CMakeLists.txt Makefile.am bar.c gnucash/bar.scm bar.h bar.i gnc-mod-bar.c)

View File

@@ -35,8 +35,8 @@ GNC_ADD_SCHEME_TARGETS(scm-mod-baz
)
SET_TARGET_PROPERTIES(baz gncmodbaz PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/gnucash/test
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/gnucash/test
LIBRARY_OUTPUT_DIRECTORY ${LIBDIR_BUILD}/gnucash/test
ARCHIVE_OUTPUT_DIRECTORY ${LIBDIR_BUILD}/gnucash/test
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
SET_DIST_LIST(mod_baz_DIST CMakeLists.txt Makefile.am baz.c gnucash/baz.scm baz.h baz.i gnc-mod-baz.c)

View File

@@ -29,8 +29,8 @@ GNC_ADD_SCHEME_TARGETS(scm-mod-foo
)
SET_TARGET_PROPERTIES(foo gncmodfoo PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/gnucash/test
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/gnucash/test
LIBRARY_OUTPUT_DIRECTORY ${LIBDIR_BUILD}/gnucash/test
ARCHIVE_OUTPUT_DIRECTORY ${LIBDIR_BUILD}/gnucash/test
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
SET_DIST_LIST(mod_foo_DIST CMakeLists.txt Makefile.am foo.i gnucash/foo.scm foo.c foo.h gnc-mod-foo.c)