buildroot/package/cmake/0001-rename_cmake_rootfile.patch
Davide Viti 7b17bafc5d package/cmake: make ctest a target package too
Useful for packages shipped with a testsuite which makes use of ctest

Since ctest is just a tool provided by the cmake sources, this change
introduces a hidden BR2_PACKAGE_CMAKE symbol which is automatically
selected by the BR2_PACKAGE_CMAKE_CTEST one.
This is like this mostly for consistency (cmake is the actual package,
not ctest).

CMake is a particular package:
* CMake can be built using the generic infrastructure or the cmake one.
  Since Buildroot has no requirement regarding the host system cmake
  program presence, it uses the generic infrastructure to build the
  host-cmake package, then the (target-)cmake package can be built
  using the cmake infrastructure;
* CMake bundles its dependencies within its sources. This is the reason
  why the host-cmake package only has host-pkgconf as (runtime)
  dependency, whereas the (target-)cmake package has a lot of
  dependencies, using only the system-wide libraries instead of
  rebuilding and staitcally linking with the ones bundles into the CMake
  sources.

[Thomas:
 - add missing C++ dependency.
 - add missing multiple 'select' in Config.in
 - add missing wchar dependency, inherited from selecting libarchive.]

Signed-off-by: Davide Viti <zinosat@tiscali.it>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-15 18:38:53 +01:00

24 lines
998 B
Diff

ctest fails on the target, because it cannot find CMake.cmake inside
CMAKE_DATA_DIR (typically set to "/usr/share/cmake-3.0"): all *.cmake
files are removed at build time via the target-finalize rule.
This buildroot-specific patch makes sure ctest looks also for
"Modules/CMake.cmake.ctest" before complaining
Signed-off-by: Davide Viti <zinosat@tiscali.it>
--- cmake-3.0.2/Source/cmake.cxx~ 2014-09-11 15:24:01.000000000 +0200
+++ cmake-3.0.2/Source/cmake.cxx 2014-11-25 15:48:04.461033690 +0100
@@ -957,7 +957,10 @@
"Path to cpack program executable.", cmCacheManager::INTERNAL);
#endif
if(!cmSystemTools::FileExists(
- (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake").c_str()))
+ (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake").c_str()) &&
+ !cmSystemTools::FileExists(
+ (cmSystemTools::GetCMakeRoot()+"/Modules/CMake.cmake.ctest").c_str())
+ )
{
// couldn't find modules
cmSystemTools::Error("Could not find CMAKE_ROOT !!!\n"