KDevelop4: Настройка проекта с использованием cmake

Я использую Kdevelop4 и хотел бы использовать проект по умолчанию CMake C++.

Мой план состоит в том, чтобы разделить мое приложение на программы, несколько общих библиотек, и я хотел бы иметь отдельные модульные тесты для построения проекта (я планирую использовать google test).

У меня есть несколько вопросов:

  1. Как изменить файл cmake по умолчанию, чтобы получить разделяемую библиотеку, а не исполняемый файл?
  2. Как интегрировать каркас тестирования Google с cmake?

CMakeLists.txt по умолчанию, созданный KDevelop4, выглядит примерно так:

project(kdevbook)

add_executable(kdevbook main.cpp)

1 ответ

Решение

1) Для общей библиотеки:

add_library(kdevbooklib SHARED source.cpp)

Больше информации.

2) Ссылка.

Обновить:

Root CMakeList.txt:

CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)

PROJECT(MyGreatProject)

SET(LIBRARY_OUTPUT_PATH ${MyGreatProject_BINARY_DIR}/bin CACHE PATH
  "Single output directory for building all libraries.")
SET(EXECUTABLE_OUTPUT_PATH ${MyGreatProject_BINARY_DIR}/bin CACHE PATH
  "Single output directory for building all executables.")
MARK_AS_ADVANCED(LIBRARY_OUTPUT_PATH EXECUTABLE_OUTPUT_PATH)

ADD_SUBDIRECTORY(MyGreatProjectLib)
ADD_SUBDIRECTORY(MyGreatProjectBin)

Libs MyGreatProjectLib / CMakeLists.txt:

PROJECT(MyGreatProjectLib)

INCLUDE_DIRECTORIES(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR})

add_library(MyGreatProjectLib SHARED source.cpp)

Bin MyGreatProjectBin / CMakeLists.txt

PROJECT(MyGreatProjectBin)

INCLUDE_DIRECTORIES(
  ${CMAKE_CURRENT_BINARY_DIR}
  ${CMAKE_CURRENT_SOURCE_DIR}
  ${MyGreatProjectLib_SOURCE_DIR})

add_executable(MyGreatProjectBin main.cpp)

target_link_libraries(MyGreatProjectBin MyGreatProjectLib)
Другие вопросы по тегам