私は${CMAKE_INSTALL_PREFIX}
(ユーザーが提供)にインストールする必要があるプロジェクトを持っています。サブディレクトリのCMAKE_INSTALL_PREFIXを変更します
add_subdirectory(subproject)
というサブプロジェクトが含まれています。このサブプロジェクトはコンテンツを${CMAKE_INSTALL_PREFIX}
にインストールしますが、私はむしろ${CMAKE_INSTALL_PREFIX}/subproject
にインストールしたいと考えています。サブプロジェクトに触れることなく、どうすればいいですか?
私はこれを試してみた:しかし、それは効果がなかった:私もこれを試してみた
set(_INSTALL_PREFIX_BACKUP ${CMAKE_INSTALL_PREFIX})
set(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}/subproject)
add_subdirectory(subproject)
set(CMAKE_INSTALL_PREFIX ${_INSTALL_PREFIX_BACKUP})
:
include(ExternalProject)
ExternalProject_Add(subproject
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/subproject
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}/subproject"
INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/subproject"
)
ないWindowsのわからが、Linux上で**同じディレクトリに、メインとサブの両方をインストール**(使用同じ* CMAKE_INSTALL_PREFIX *)はOKです。さらに、サブディレクトリにサブプロジェクトをインストールすることは、ユーザーにとっては何となく珍しいことです。 * CMAKE_INSTALL_PREFIX *については、プロジェクトごとのディレクトリではなく、環境ごとの**として考えることができます。 1つの環境に複数のプロジェクトがインストールされている場合があります。ここでも、これはLinuxに関するものです。あなたの試みに関しては、 'ExternalProject'を使うことはうまくいくはずです。 – Tsyvarev