1

Kdevelop4 を使用しており、デフォルトの CMake c++ プロジェクトを使用したいと考えています。

私の計画は、アプリケーションをプログラムといくつかの共有ライブラリに分割することであり、別のプロジェクトで単体テストを構築したいと考えています (Google テストを使用する予定です)。

いくつか質問があります:

  1. 実行可能ファイルではなく、共有ライブラリを取得するためにデフォルトの cmake ファイルを変更する方法は?
  2. Googleテストフレームワークをcmakeと統合するには?

KDevelop4 によって生成されるデフォルトの CMakeLists.txt は次のようになります。

project(kdevbook)

add_executable(kdevbook main.cpp)
4

1 に答える 1

3

1) 共有ライブラリの場合:

add_library(kdevbooklib SHARED source.cpp)

より詳しい情報。

2)リンク。

アップデート:

ルート 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)

ライブラリ 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)
于 2011-04-07T13:01:20.083 に答える