From bf5c5de37807638c5fa437dfbc28d21bf40bd65f 2017-12-04 17:33:30 From: mperrinel Date: 2017-12-04 17:33:30 Subject: [PATCH] Add Catalogue API dependency --- diff --git a/cmake/FindCatalogueAPI.cmake b/cmake/FindCatalogueAPI.cmake new file mode 100644 index 0000000..e1ec0e8 --- /dev/null +++ b/cmake/FindCatalogueAPI.cmake @@ -0,0 +1,29 @@ +# - Try to find CatalogueAPI Module +# Once done this will define +# CATALOGUEAPI_FOUND - System has CatalogueAPI +# CATALOGUEAPI_INCLUDE_DIRS - The CatalogueAPI include directories +# CATALOGUEAPI_LIBRARIES - The libraries needed to use CatalogueAPI +# CATALOGUEAPI_SHARED_LIBRARIES - The shared libraries for CatalogueAPI + +set(CATALOGUEAPI_ROOT_DIR "${CATALOGUEAPI_EXTERN_FOLDER}" + CACHE PATHS + "Path to the installation of CatalogueAPI" + ${libRootDirForceValue}) + +find_path(CATALOGUEAPI_INCLUDE_DIR CatalogueDao.h + HINTS ${CATALOGUEAPI_ROOT_DIR} ${CATALOGUEAPI_EXTERN_FOLDER} + PATH_SUFFIXES src ) + +find_library(CATALOGUEAPI_LIBRARY NAMES CatalogueAPI + HINTS ${CATALOGUEAPI_ROOT_DIR} ${CATALOGUEAPI_EXTERN_FOLDER} + PATH_SUFFIXES lib) + +set(CATALOGUEAPI_LIBRARIES ${CATALOGUEAPI_LIBRARY} ) +set(CATALOGUEAPI_INCLUDE_DIRS ${CATALOGUEAPI_INCLUDE_DIR} ) + +include(FindPackageHandleStandardArgs) +# handle the QUIETLY and REQUIRED arguments and set CATALOGUEAPI_FOUND to TRUE +# if all listed variables are TRUE +find_package_handle_standard_args(CatalogueAPI FOUND_VAR CATALOGUEAPI_FOUND + REQUIRED_VARS CATALOGUEAPI_LIBRARY CATALOGUEAPI_INCLUDE_DIR) +mark_as_advanced(CATALOGUEAPI_INCLUDE_DIR CATALOGUEAPI_LIBRARY ) diff --git a/cmake/find_libs.cmake b/cmake/find_libs.cmake index f797685..c87e8f4 100644 --- a/cmake/find_libs.cmake +++ b/cmake/find_libs.cmake @@ -13,6 +13,13 @@ FIND_PACKAGE(Qt5Test REQUIRED) FIND_PACKAGE(Qt5Gui REQUIRED) # +# CatalogueAPI +# +LIST( APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") +FIND_PACKAGE(CatalogueAPI) + + +# # doxygen tools # FIND_PACKAGE(Doxygen) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 48ddf35..5153131 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -45,6 +45,12 @@ set_property(TARGET ${SQPCORE_LIBRARY_NAME} PROPERTY CXX_STANDARD_REQUIRED ON) TARGET_LINK_LIBRARIES(${SQPCORE_LIBRARY_NAME}) qt5_use_modules(${SQPCORE_LIBRARY_NAME} Core Network) +# Find CATALOGUE_API +if(CATALOGUEAPI_FOUND) + include_directories("${CATALOGUEAPI_INCLUDE_DIRS}") + TARGET_LINK_LIBRARIES(${SQPCORE_LIBRARY_NAME} ${CATALOGUEAPI_LIBRARIES}) +endif() + INSTALL(TARGETS ${SQPCORE_LIBRARY_NAME} RUNTIME DESTINATION ${INSTALL_BINARY_DIR} LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}