From 688776f5759d55489b904f00315462bd1d7802b6 Mon Sep 17 00:00:00 2001 From: Emmanuel Promayon Date: Tue, 16 Mar 2021 22:44:43 +0100 Subject: [PATCH] Take multiarch during package build and installed package configuration --- sdk/cmake/modules/CamiTKConfig.cmake.in | 34 ++++++++++++++++++------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/sdk/cmake/modules/CamiTKConfig.cmake.in b/sdk/cmake/modules/CamiTKConfig.cmake.in index d9595864..75046525 100644 --- a/sdk/cmake/modules/CamiTKConfig.cmake.in +++ b/sdk/cmake/modules/CamiTKConfig.cmake.in @@ -9,8 +9,8 @@ # http://www.cmake.org/Wiki/CMake/Tutorials/Packaging #-- CamiTK current version -set(CAMITK_VERSION_MAJOR "@CAMITK_VERSION_MAJOR@") -set(CAMITK_VERSION_MINOR "@CAMITK_VERSION_MINOR@") +set(CAMITK_VERSION_MAJOR "5") +set(CAMITK_VERSION_MINOR "0") # CamiTK short version name we are looking for set(CAMITK_SHORT_VERSION_STRING "camitk-${CAMITK_VERSION_MAJOR}.${CAMITK_VERSION_MINOR}") @@ -58,17 +58,33 @@ else() set(CMAKE_INSTALL_LIBDIR "lib") set(CMAKE_INSTALL_BINDIR "bin") else() - message(FATAL_ERROR "System not UNIX nor WIN32 - not implemented yet") + message(FATAL_ERROR "Detected system is not UNIX nor WIN32 - not implemented yet") endif() endif() +#-- deduce correct install lib directory +set(CAMITK_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR}) +# when debian package is built or installed, CAMITK_INSTALL_LIB_DIR might +# be in a ${CMAKE_LIBRARY_ARCHITECTURE} subdirectory +if (UNIX AND CMAKE_LIBRARY_ARCHITECTURE AND NOT EXISTS ${CAMITK_DIR}/${CAMITK_INSTALL_LIB_DIR}/${CAMITK_SHORT_VERSION_STRING}) + if(EXISTS ${CAMITK_DIR}/lib64/${CAMITK_SHORT_VERSION_STRING}) + set(CAMITK_INSTALL_LIB_DIR "lib64") + else() + if (EXISTS ${CAMITK_DIR}/lib/${CMAKE_LIBRARY_ARCHITECTURE}/${CAMITK_SHORT_VERSION_STRING}) + set(CAMITK_INSTALL_LIB_DIR "lib/${CMAKE_LIBRARY_ARCHITECTURE}") + else() + message(FATAL_ERROR "Cannot find ${CAMITK_SHORT_VERSION_STRING} repository in ${CAMITK_DIR}/${CAMITK_INSTALL_LIB_DIR}") + endif() + endif() +endif() + #-- CAMITK_DIR variable -set(CAMITK_BIN_DIR ${CAMITK_DIR}/bin ) -set(CAMITK_PRIVATE_LIB_DIR ${CAMITK_DIR}/${CMAKE_INSTALL_LIBDIR}/${CAMITK_SHORT_VERSION_STRING} ) -set(CAMITK_PUBLIC_LIB_DIR ${CAMITK_DIR}/${CMAKE_INSTALL_LIBDIR} ) -set(CAMITK_INCLUDE_DIR ${CAMITK_DIR}/include/${CAMITK_SHORT_VERSION_STRING} ) -set(CAMITK_TESTDATA_DIR ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata ) -set(CAMITK_CMAKE_DIR ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake ) +set(CAMITK_BIN_DIR ${CAMITK_DIR}/bin ) +set(CAMITK_PRIVATE_LIB_DIR ${CAMITK_DIR}/${CAMITK_INSTALL_LIB_DIR}/${CAMITK_SHORT_VERSION_STRING} ) +set(CAMITK_PUBLIC_LIB_DIR ${CAMITK_DIR}/${CAMITK_INSTALL_LIB_DIR} ) +set(CAMITK_INCLUDE_DIR ${CAMITK_DIR}/include/${CAMITK_SHORT_VERSION_STRING} ) +set(CAMITK_TESTDATA_DIR ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/testdata ) +set(CAMITK_CMAKE_DIR ${CAMITK_DIR}/share/${CAMITK_SHORT_VERSION_STRING}/cmake ) #-- User Config directory variable # see http://qt-project.org/doc/qt-4.8/qsettings.html#platform-specific-notes -- GitLab