KDevelop4: Настройка проекта с использованием cmake
Я использую Kdevelop4 и хотел бы использовать проект по умолчанию CMake C++.
Мой план состоит в том, чтобы разделить мое приложение на программы, несколько общих библиотек, и я хотел бы иметь отдельные модульные тесты для построения проекта (я планирую использовать google test).
У меня есть несколько вопросов:
- Как изменить файл cmake по умолчанию, чтобы получить разделяемую библиотеку, а не исполняемый файл?
- Как интегрировать каркас тестирования 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)