From 0c7f355a89acd03b0ba28067ae4b8b605bd5e4fe Mon Sep 17 00:00:00 2001
From: Giordon Stark <kratsg@gmail.com>
Date: Wed, 31 May 2017 13:29:17 -0500
Subject: [PATCH] Add RestFrames external package

---
 External/RestFrames/CMakeLists.txt            | 45 +++++++++++++++++++
 External/RestFrames/README.md                 |  4 ++
 .../AnalysisBaseExternals/package_filters.txt |  1 +
 .../AthAnalysisExternals/package_filters.txt  |  1 +
 4 files changed, 51 insertions(+)
 create mode 100644 External/RestFrames/CMakeLists.txt
 create mode 100644 External/RestFrames/README.md

diff --git a/External/RestFrames/CMakeLists.txt b/External/RestFrames/CMakeLists.txt
new file mode 100644
index 00000000..2c8c2e06
--- /dev/null
+++ b/External/RestFrames/CMakeLists.txt
@@ -0,0 +1,45 @@
+#
+# Package building RestFrames
+#
+
+# Set the package name:
+atlas_subdir( RestFrames )
+
+# In release recompilation mode stop here:
+if( ATLAS_RELEASE_MODE )
+   return()
+endif()
+
+# Decide whether to request debug symbols from the build:
+if( "${CMAKE_BUILD_TYPE}" STREQUAL "Release" OR
+      "${CMAKE_BUILD_TYPE}" STREQUAL "MinSizeRel" OR
+      "${CMAKE_BUILD_TYPE}" STREQUAL "" )
+   set( _restFramesExtraConfig "--disable-debug" )
+else()
+   set( _restFramesExtraConfig "--enable-debug" )
+endif()
+
+# Temporary directory for the build results:
+set( _buildDir
+   ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/RestFramesBuild )
+
+# Set up the build of RestFrames for the build area:
+ExternalProject_Add( RestFrames
+   PREFIX ${CMAKE_BINARY_DIR}
+   URL https://github.com/crogan/RestFrames/archive/v1.0.1.tar.gz
+   URL_MD5 668e3ca6f301172d7e67b5e85b1ab6d2
+   INSTALL_DIR ${CMAKE_BINARY_DIR}/${ATLAS_PLATFORM}
+   CONFIGURE_COMMAND ./configure
+   --prefix=${_buildDir} --enable-shared --disable-static --enable-allcxxplugins
+   ${_restFramesExtraConfig}
+   BUILD_IN_SOURCE 1
+   BUILD_COMMAND make
+   COMMAND make install
+   INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
+   ${_buildDir}/ <INSTALL_DIR>
+   )
+add_dependencies( Package_RestFrames RestFrames )
+
+# Set up its installation:
+install( DIRECTORY ${_buildDir}/
+   DESTINATION . USE_SOURCE_PERMISSIONS OPTIONAL )
diff --git a/External/RestFrames/README.md b/External/RestFrames/README.md
new file mode 100644
index 00000000..a99958af
--- /dev/null
+++ b/External/RestFrames/README.md
@@ -0,0 +1,4 @@
+RestFrames
+==========
+
+This package builds [RestFrames](http://restframes.com) using sources from [github](https://github.com/crogan/RestFrames/).
diff --git a/Projects/AnalysisBaseExternals/package_filters.txt b/Projects/AnalysisBaseExternals/package_filters.txt
index 570f1926..d8dddd10 100644
--- a/Projects/AnalysisBaseExternals/package_filters.txt
+++ b/Projects/AnalysisBaseExternals/package_filters.txt
@@ -10,5 +10,6 @@
 + External/Lhapdf
 + External/MCUtils
 + External/Python
++ External/RestFrames
 + External/ROOT
 - .*
diff --git a/Projects/AthAnalysisExternals/package_filters.txt b/Projects/AthAnalysisExternals/package_filters.txt
index 3cb62b8c..8012725b 100644
--- a/Projects/AthAnalysisExternals/package_filters.txt
+++ b/Projects/AthAnalysisExternals/package_filters.txt
@@ -9,6 +9,7 @@
 + External/Lhapdf
 #+ External/MCUtils
 #+ External/Python
++ External/RestFrames
 #+ External/ROOT
 
 + External/CheckerGccPlugins
-- 
GitLab