LINUX.ORG.RU

[CMake] Сборка своего приложения

 


0

1

Пишу библиотечку на C++. В качестве системы сборки использую CMake. Помогите разобраться. Что нужно написать, что бы можно было сделать что то в этом роде:

Что бы в другом приложение можно было просто использовать мою библиотечку, так же через cmake.

find_package (MYLIB REQUIRED)

add_library( ${target} ... ${MYLIB_LIBRARIES})

Подскажите пожалуйста, а то не знаю с чего начать.


Хз откуда спер:

valentine ~/projects/libsprint/libsprint/cmake/modules $  cat FindSprint.cmake
# Find Sprint - Sprint Layout handling library
#
# This module defines
#  SPRINT_FOUND - whether the sprint library was found
#  SPRINT_LIBRARIES - the sprint library
#  SPRINT_INCLUDE_DIR - the include path of the sprint library
#

if (SPRINT_INCLUDE_DIR AND SPRINT_LIBRARIES)

  # Already in cache
  set (SPRINT_FOUND TRUE)

else (SPRINT_INCLUDE_DIR AND SPRINT_LIBRARIES)

  find_library (SPRINT_LIBRARIES
    NAMES
    sprint
    PATHS
    ${SPRINT_LIBRARY_DIRS}
    ${LIB_INSTALL_DIR}
  )

  find_path (SPRINT_INCLUDE_DIR
    NAMES
    SLProject.h
    PATH_SUFFIXES
    sprint
    PATHS
    ${SPRINT_INCLUDE_DIRS}
    ${INCLUDE_INSTALL_DIR}
  )

  include(FindPackageHandleStandardArgs)
  find_package_handle_standard_args(SPRINT DEFAULT_MSG SPRINT_LIBRARIES SPRINT_INCLUDE_DIR)

endif (SPRINT_INCLUDE_DIR AND SPRINT_LIBRARIES)

Ставить в ${CMAKE_ROOT}/Modules:

set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_ROOT}/Modules" CACHE PATH "The directory to install *.cmake to")

set(cmakeFiles FindSprint.cmake)

install(FILES ${cmakeFiles} DESTINATION ${CMAKE_MODULES_INSTALL_DIR})

Потом для подключения либы: find_package(Sprint REQUIRED)

Pavval ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.