# - Clone and build CatalogueAPI Module include(ExternalProject) find_package(Git REQUIRED) if(WIN32) find_program(MesonExec meson PATHS C:/Appli/Meson) if(NOT MesonExec) Message("Error: Meson not found") else() message("Meson found: ${MesonExec}" ) endif() find_program(NinjaExec ninja PATHS C:/Appli/Meson) if(NOT NinjaExec) Message("Error: Ninja not found") else() message("Ninja found: ${NinjaExec}" ) endif() endif() if(NOT MesonExec) set (MesonExec meson) endif() if(NOT NinjaExec) set (NinjaExec ninja) endif() SET(CATALOGUEAPI_SOURCES_PATH ${CMAKE_SOURCE_DIR}/3rdparty/CatalogueAPI) SET(CATALOGUEAPI_BUILD_PATH ${CATALOGUEAPI_SOURCES_PATH}/build) SET(CATALOGUEAPI_QXORM_LIB_PATH ${CATALOGUEAPI_BUILD_PATH}/subprojects/QxOrm) SET(CatalogueAPI_build_type plain) if(CMAKE_BUILD_TYPE STREQUAL "") set(CMAKE_BUILD_TYPE Release) endif() string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER) ExternalProject_Add( CatalogueAPI GIT_REPOSITORY https://perrinel@hephaistos.lpp.polytechnique.fr/rhodecode/GIT_REPOSITORIES/LPP/Users/mperrinel/CatalogueAPI GIT_TAG develop UPDATE_COMMAND ${GIT_EXECUTABLE} pull origin develop PATCH_COMMAND "" SOURCE_DIR "${CATALOGUEAPI_SOURCES_PATH}" CONFIGURE_COMMAND ${MesonExec} --prefix=${CATALOGUEAPI_SOURCES_PATH} --buildtype=${CMAKE_BUILD_TYPE_TOLOWER} "${CATALOGUEAPI_SOURCES_PATH}" "${CATALOGUEAPI_BUILD_PATH}" BUILD_COMMAND ${NinjaExec} -C "${CATALOGUEAPI_BUILD_PATH}" INSTALL_COMMAND ${NinjaExec} -C "${CATALOGUEAPI_BUILD_PATH}" install LOG_DOWNLOAD 1 LOG_UPDATE 1 ) set(CATALOG_LIB_PATH lib) if(WIN32) set(CATALOG_LIB_PATH bin) endif() ExternalProject_Add_Step( CatalogueAPI CopyToBin COMMAND ${CMAKE_COMMAND} -E copy_directory ${CATALOGUEAPI_SOURCES_PATH}/lib64 ${CATALOGUEAPI_SOURCES_PATH}/${CATALOG_LIB_PATH} COMMAND ${CMAKE_COMMAND} -E copy_directory ${CATALOGUEAPI_QXORM_LIB_PATH} ${CATALOGUEAPI_SOURCES_PATH}/${CATALOG_LIB_PATH} DEPENDEES install ) set(CATALOGUEAPI_INCLUDE ${CATALOGUEAPI_SOURCES_PATH}/src) set(CATALOGUEAPI_LIBRARIES ${CATALOGUEAPI_SOURCES_PATH}/${CATALOG_LIB_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}CatalogueAPI${CMAKE_SHARED_LIBRARY_SUFFIX}) list(APPEND CATALOGUEAPI_LIBRARIES ${CATALOGUEAPI_SOURCES_PATH}/${CATALOG_LIB_PATH}/${CMAKE_SHARED_LIBRARY_PREFIX}QxOrm${CMAKE_SHARED_LIBRARY_SUFFIX}) mark_as_advanced(CATALOGUEAPI_INCLUDE) mark_as_advanced(CATALOGUEAPI_LIBRARIES)