From 7a43ae0df1af4ed268e395be68c27d76fb40ccc5 Mon Sep 17 00:00:00 2001
From: oafedulidis <oafedulidis@ep1.rub.de>
Date: Tue, 16 Jan 2024 13:07:16 +0100
Subject: [PATCH] added CMake to build pawian, for now required packages need
 cmake support so find_packages will find them

---
 AppUtils/CMakeLists.txt            |  33 +++++++
 CMakeLists.txt                     |  43 ++++++++
 ConfigParser/CMakeLists.txt        |  27 +++++
 ErrLogger/CMakeLists.txt           |  60 ++++--------
 Event/CMakeLists.txt               |  82 ++++++++--------
 FitParams/CMakeLists.txt           | 102 +++++++++++++++++++
 KMatrixExtract/CMakeLists.txt      | 152 +++++++++++++++++++++++++++++
 MinFunctions/CMakeLists.txt        |  33 +++++++
 Particle/CMakeLists.txt            |  72 ++++++--------
 PspGen/CMakeLists.txt              |  51 ++++++++++
 PwaApps/CMakeLists.txt             |  72 ++++++++++++++
 PwaDynamics/CMakeLists.txt         | 110 +++++++++++++++++++++
 PwaUtils/CMakeLists.txt            |  96 ++++++++++++++++++
 Utils/CMakeLists.txt               |  63 +++++-------
 buildallCmake                      |  22 +++++
 epemUtils/CMakeLists.txt           |  26 +++++
 ggUtils/CMakeLists.txt             |  48 +++++++++
 gslUtils/CMakeLists.txt            |  88 +++++++++++++++++
 pbarpUtils/CMakeLists.txt          |  29 ++++++
 pipiScatteringUtils/CMakeLists.txt |  24 +++++
 qaErrorExtract/CMakeLists.txt      |  23 +++++
 qft++/CMakeLists.txt               |  40 +++-----
 qft++Extension/CMakeLists.txt      |  54 ++++++++++
 resUtils/CMakeLists.txt            |  25 +++++
 setupPawianCmake                   |  12 +++
 25 files changed, 1201 insertions(+), 186 deletions(-)
 create mode 100644 AppUtils/CMakeLists.txt
 create mode 100644 CMakeLists.txt
 create mode 100644 ConfigParser/CMakeLists.txt
 create mode 100644 FitParams/CMakeLists.txt
 create mode 100644 KMatrixExtract/CMakeLists.txt
 create mode 100644 MinFunctions/CMakeLists.txt
 create mode 100644 PspGen/CMakeLists.txt
 create mode 100644 PwaApps/CMakeLists.txt
 create mode 100644 PwaDynamics/CMakeLists.txt
 create mode 100644 PwaUtils/CMakeLists.txt
 create mode 100755 buildallCmake
 create mode 100644 epemUtils/CMakeLists.txt
 create mode 100644 ggUtils/CMakeLists.txt
 create mode 100644 gslUtils/CMakeLists.txt
 create mode 100644 pbarpUtils/CMakeLists.txt
 create mode 100644 pipiScatteringUtils/CMakeLists.txt
 create mode 100644 qaErrorExtract/CMakeLists.txt
 create mode 100644 qft++Extension/CMakeLists.txt
 create mode 100644 resUtils/CMakeLists.txt
 create mode 100755 setupPawianCmake

diff --git a/AppUtils/CMakeLists.txt b/AppUtils/CMakeLists.txt
new file mode 100644
index 00000000..73565162
--- /dev/null
+++ b/AppUtils/CMakeLists.txt
@@ -0,0 +1,33 @@
+add_library(AppUtils
+  AppBase.cc
+  LhFactory.cc  
+)
+
+target_include_directories(AppUtils
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(AppUtils
+  Utils
+  qft++
+  ErrLogger
+  ConfigParser
+  FitParams
+  Event
+  PwaDynamics
+  PspGen
+  PwaUtils
+  MinFunctions
+  pbarpUtils
+  epemUtils
+  resUtils
+  ggUtils
+  pipiScatteringUtils
+  qaErrorExtract
+)
+
+install(TARGETS AppUtils
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000..ed0f63de
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,43 @@
+cmake_minimum_required(VERSION 3.27)
+project(Pawian)
+
+set(CXX_STANDARD 17)
+set(CXX_STANDARD_REQUIRED ON)
+
+find_package(Boost)
+find_package(Boost COMPONENTS program_options unit_test_framework serialization filesystem timer REQUIRED)
+find_package(ROOT)
+find_package(GSL REQUIRED)
+
+#include_directories(
+# ${Boost_INCLUDE_DIRS}
+# ${ROOT_INCLUDE_DIRS}  
+#)
+
+#link_libraries(
+# ${Boost_LIBRARIES}
+# ${ROOT_LIBRARIES}
+#)
+
+add_subdirectory(ErrLogger)
+add_subdirectory(qft++)
+add_subdirectory(qft++Extension)
+add_subdirectory(ConfigParser)
+add_subdirectory(Particle)
+add_subdirectory(Utils)
+add_subdirectory(Event)
+add_subdirectory(FitParams)
+add_subdirectory(PwaDynamics)
+add_subdirectory(PwaUtils)
+add_subdirectory(MinFunctions)
+add_subdirectory(AppUtils)
+add_subdirectory(pbarpUtils)
+add_subdirectory(epemUtils)
+add_subdirectory(resUtils)
+add_subdirectory(ggUtils)
+add_subdirectory(pipiScatteringUtils)
+add_subdirectory(gslUtils)
+add_subdirectory(qaErrorExtract)
+add_subdirectory(PspGen)
+add_subdirectory(KMatrixExtract)
+add_subdirectory(PwaApps)
diff --git a/ConfigParser/CMakeLists.txt b/ConfigParser/CMakeLists.txt
new file mode 100644
index 00000000..a242df66
--- /dev/null
+++ b/ConfigParser/CMakeLists.txt
@@ -0,0 +1,27 @@
+add_library(ConfigParser  
+  epemParser.cc
+  gammapParser.cc
+  ggParser.cc
+  globalParser.cc
+  KMatrixParser.cc
+  ParserBase.cc
+  pbarpParser.cc
+  pipiScatteringParser.cc
+  resParser.cc  
+)
+
+target_include_directories(ConfigParser
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${Boost_INCLUDE_DIRS}
+)
+
+target_link_libraries(ConfigParser  
+  ErrLogger
+  ${Boost_LIBRARIES}    
+)
+
+install(TARGETS ConfigParser
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
diff --git a/ErrLogger/CMakeLists.txt b/ErrLogger/CMakeLists.txt
index a7452483..e1700ab2 100644
--- a/ErrLogger/CMakeLists.txt
+++ b/ErrLogger/CMakeLists.txt
@@ -1,50 +1,28 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.3 FATAL_ERROR)
-
-set(PACKAGE_NAME ErrLogger)
-
-MESSAGE("cmake installation for package: " ${PACKAGE_NAME})
-
-include_directories (
-                    ${TOP_DIR}
-                    ${log4cpp_INCLUDE_DIRS}
-                    ${Boost_INCLUDE_DIRS}
+add_library(ErrLogger
+  ErrLogger.cc
 )
 
-AUX_SOURCE_DIRECTORY("." SRC)
-Set(CCSRC "")
-
-FOREACH (THEFILE ${SRC})
- IF (NOT ${THEFILE} MATCHES "(.*)App(.*)")
-  SET (CCSRC ${CCSRC} ${THEFILE})
- ENDIF()
-ENDFOREACH(THEFILE)
-
-# BUILD_SHARED_LIBS controls the behavior of ADD_LIBRARY if STATIC/SHARED omitted
-IF( PAWIAN_STATIC )
-        ADD_LIBRARY ( ${PACKAGE_NAME} STATIC ${CCSRC} )
-ELSE()
-        ADD_LIBRARY ( ${PACKAGE_NAME} SHARED ${CCSRC} )
-ENDIF( PAWIAN_STATIC )
+install(TARGETS ErrLogger
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
 
+add_executable(ErrLoggerTestApp
+  ErrLoggerTestApp.cc
+)
 
-INSTALL (TARGETS ${PACKAGE_NAME} DESTINATION ${CMAKE_BINARY_DIR}/lib)
+target_link_libraries(ErrLoggerTestApp
+  ErrLogger
+)
 
-if(COMMAND cmake_policy)
-   cmake_policy(SET CMP0003 NEW)
-endif(COMMAND cmake_policy)
+add_executable(testLogger
+  TestLogger.cpp
+)
 
-SET (EXECUTABLENAME Log4CppTestApp)
-ADD_EXECUTABLE( ${EXECUTABLENAME}
-   Log4CppTestApp.cc
+target_link_libraries(testLogger
+  ErrLogger
 )
-target_link_libraries(${EXECUTABLENAME} ErrLogger)
-target_link_libraries(${EXECUTABLENAME} ${log4cpp_LIBRARIES})
-INSTALL ( TARGETS ${EXECUTABLENAME} DESTINATION bin/${EXECUTABLENAME})
 
-SET (EXECUTABLENAME ErrLoggerTestApp)
-ADD_EXECUTABLE( ${EXECUTABLENAME}
-   ErrLoggerTestApp.cc
+install(TARGETS ErrLoggerTestApp testLogger
+  RUNTIME DESTINATION bin
 )
-target_link_libraries(${EXECUTABLENAME} ErrLogger)
-target_link_libraries(${EXECUTABLENAME} ${log4cpp_LIBRARIES})
-INSTALL ( TARGETS ${EXECUTABLENAME} DESTINATION bin/${EXECUTABLENAME})
diff --git a/Event/CMakeLists.txt b/Event/CMakeLists.txt
index 86bdb3ea..585faa78 100644
--- a/Event/CMakeLists.txt
+++ b/Event/CMakeLists.txt
@@ -1,51 +1,53 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.3 FATAL_ERROR)
-
-set(PACKAGE_NAME Event)
-
-MESSAGE("cmake installation for package: " ${PACKAGE_NAME})
-
-include_directories (
-                    ${TOP_DIR}
-                    ${log4cpp_INCLUDE_DIRS}
-                    ${Boost_INCLUDE_DIRS}
+add_library(Event  
+  Event.cc
+  EventList.cc
+  EventReader.cc
+  EventReaderDefault.cc
+  EventReaderScattering.cc
+  MassRangeCut.cc
 )
 
+target_include_directories(Event
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${Boost_INCLUDE_DIRS}
+    ${ROOT_INCLUDE_DIRS}
+)
 
+target_link_libraries(Event  
+  ErrLogger
+  Particle
+  ${Boost_LIBRARIES}    
+  ${ROOT_LIBRARIES}      
+)
 
-AUX_SOURCE_DIRECTORY("." SRC)
-Set(CCSRC "")
-
-FOREACH (THEFILE ${SRC})
- IF (NOT ${THEFILE} MATCHES "(.*)App(.*)")
-  SET (CCSRC ${CCSRC} ${THEFILE})
- ENDIF()
-ENDFOREACH(THEFILE)
-
-# BUILD_SHARED_LIBS controls the behavior of ADD_LIBRARY if STATIC/SHARED omitted
-IF( PAWIAN_STATIC )
-        ADD_LIBRARY ( ${PACKAGE_NAME} STATIC ${CCSRC} )
-ELSE()
-        ADD_LIBRARY ( ${PACKAGE_NAME} SHARED ${CCSRC} )
-ENDIF( PAWIAN_STATIC )
+add_executable(test_Event
+  test/TestEventReaderDefault.cc
+)
 
+target_include_directories(test_Event
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${Boost_INCLUDE_DIRS}
+    ${ROOT_INCLUDE_DIRS}
+    ${Boost_UNIT_TEST_FRAMEWORK_INCLUDE_DIRS}
+)
 
-INSTALL (TARGETS ${PACKAGE_NAME} DESTINATION ${CMAKE_BINARY_DIR}/lib)
+target_link_libraries(test_Event
+  PRIVATE 
+    ErrLogger
+    Particle
+    Event
+    ${Boost_LIBRARIES}
+    ${ROOT_LIBRARIES}
+    ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}
+)
 
-if(COMMAND cmake_policy)
-   cmake_policy(SET CMP0003 NEW)
-endif(COMMAND cmake_policy)
+add_test(NAME test_Event COMMAND test_Event)
 
-SET (EXECUTABLENAME EvtReaderTestApp)
-ADD_EXECUTABLE( ${EXECUTABLENAME}
-   EvtReaderTestApp.cc
+install(TARGETS Event
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
 )
 
-target_link_libraries(${EXECUTABLENAME} Event)
-target_link_libraries(${EXECUTABLENAME} Particle)
-target_link_libraries(${EXECUTABLENAME} ErrLogger)
-target_link_libraries(${EXECUTABLENAME} Utils)
-target_link_libraries(${EXECUTABLENAME} qft++)
-target_link_libraries(${EXECUTABLENAME} ${log4cpp_LIBRARIES})
-
-INSTALL ( TARGETS ${EXECUTABLENAME} DESTINATION bin/${EXECUTABLENAME})
 
diff --git a/FitParams/CMakeLists.txt b/FitParams/CMakeLists.txt
new file mode 100644
index 00000000..aeccafad
--- /dev/null
+++ b/FitParams/CMakeLists.txt
@@ -0,0 +1,102 @@
+add_library(FitParams
+  AbsParamHandler.cc
+  AbsPawianParameters.cc
+  AbsPawianParamStreamer.cc
+  MnPawianParameters.cc
+  ParamDep.cc
+  ParamDepEqual.cc
+  ParamDepFixedRatio.cc
+  ParamDepGFacToFixGFacsWidthMass.cc
+  ParamDepGFactorToFixFullWidth.cc
+  ParamDepHandler.cc
+  ParamFactory.cc
+  PawianParameters.cc
+  PwaCovMatrix.cc
+)
+
+target_include_directories(FitParams
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(FitParams  
+  ROOT::Minuit2
+)
+
+install(TARGETS FitParams
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+add_executable(StreamerTestApp
+  StreamerTestApp.cc
+)
+
+target_include_directories(StreamerTestApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(StreamerTestApp
+  FitParams
+  qft++
+  ConfigParser
+  qft++Extension
+  ErrLogger
+  ROOT::Minuit2
+)
+
+add_executable(PwaCovMatrixApp
+  PwaCovMatrixApp.cc
+)
+
+target_include_directories(PwaCovMatrixApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(PwaCovMatrixApp
+  FitParams
+  qft++
+  ConfigParser
+  qft++Extension
+  ErrLogger 
+)
+
+add_executable(ChangeCovMatrixApp
+  ChangeCovMatrixApp.cc
+)
+
+target_include_directories(ChangeCovMatrixApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}      
+)
+
+target_link_libraries(ChangeCovMatrixApp
+  FitParams
+  qft++
+  ConfigParser
+  qft++Extension
+  ErrLogger  
+)
+
+add_executable(CreateCovMatrixApp
+  CreateCovMatrixApp.cc
+)
+
+target_include_directories(CreateCovMatrixApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(CreateCovMatrixApp
+  FitParams
+  qft++
+  ConfigParser
+  qft++Extension
+  ErrLogger  
+)
+
+install(TARGETS StreamerTestApp PwaCovMatrixApp ChangeCovMatrixApp CreateCovMatrixApp
+  RUNTIME DESTINATION bin
+)
diff --git a/KMatrixExtract/CMakeLists.txt b/KMatrixExtract/CMakeLists.txt
new file mode 100644
index 00000000..b41f1b83
--- /dev/null
+++ b/KMatrixExtract/CMakeLists.txt
@@ -0,0 +1,152 @@
+add_library(KMatrixExtract  
+  ArgandModuloConverter.cc
+  FVectorIntensityGeneral.cc
+  FVectorResidueExtr.cc
+  FVectorResiduePathExtr.cc
+  RiemannSheetAnalyzer.cc
+  RiemannSheetFVectorAnalyzer.cc
+  TMatrixErrorExtr.cc
+  TMatrixExtrBase.cc
+  TMatrixExtrFcn.cc
+  TMatrixGeneral.cc
+  TMatrixGeneralBase.cc
+  TMatrixPiPiSWaveSimple4piPhp.cc  
+  TMatrixResidueExtr.cc  
+  TMatrixResiduePathExtr.cc 
+)
+
+target_include_directories(KMatrixExtract
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${ROOT_INCLUDE_DIRS}   
+)
+
+target_link_libraries(KMatrixExtract    
+  ROOT::Minuit2 
+)
+
+install(TARGETS KMatrixExtract
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+add_executable(TMatrixErrorExtrApp
+  TMatrixErrorExtrApp.cc
+)
+
+target_include_directories(TMatrixErrorExtrApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(TMatrixErrorExtrApp
+  KMatrixExtract
+  pipiScatteringUtils
+  PwaDynamics
+  ConfigParser
+  PwaUtils
+  Event
+  FitParams
+  Particle
+  qft++Extension
+  qft++
+  ErrLogger
+)
+
+add_executable(TMatrixResidueExtrApp
+  TMatrixResidueExtrApp.cc
+)
+
+target_include_directories(TMatrixResidueExtrApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(TMatrixResidueExtrApp
+  KMatrixExtract
+  pipiScatteringUtils
+  PwaDynamics
+  ConfigParser
+  PwaUtils
+  Event
+  FitParams
+  Particle
+  qft++Extension
+  qft++
+  ErrLogger
+)
+
+add_executable(ArgandModuloConverterApp
+  ArgandModuloConverterApp.cc
+)
+
+target_include_directories(ArgandModuloConverterApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(ArgandModuloConverterApp
+  KMatrixExtract
+  pipiScatteringUtils
+  PwaDynamics
+  ConfigParser
+  PwaUtils
+  Event
+  FitParams
+  Particle
+  qft++Extension
+  qft++
+  ErrLogger
+)
+
+add_executable(TMatrixGeneralApp
+  TMatrixGeneralApp.cc
+)
+
+target_include_directories(TMatrixGeneralApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(TMatrixGeneralApp
+  KMatrixExtract
+  pipiScatteringUtils
+  PwaDynamics
+  ConfigParser
+  PwaUtils
+  Event
+  FitParams
+  Particle
+  qft++Extension
+  qft++
+  ErrLogger
+  Utils
+)
+
+add_executable(TMatrixPiPiSWaveSimple4piPhpApp
+  TMatrixPiPiSWaveSimple4piPhpApp.cc
+)
+
+target_include_directories(TMatrixPiPiSWaveSimple4piPhpApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(TMatrixPiPiSWaveSimple4piPhpApp
+  KMatrixExtract
+  pipiScatteringUtils
+  PwaDynamics
+  ConfigParser
+  PwaUtils
+  Event
+  FitParams
+  Particle
+  qft++Extension
+  qft++
+  ErrLogger
+  Utils
+)
+
+install(TARGETS TMatrixErrorExtrApp TMatrixResidueExtrApp ArgandModuloConverterApp TMatrixGeneralApp TMatrixPiPiSWaveSimple4piPhpApp
+  RUNTIME DESTINATION bin  
+)
\ No newline at end of file
diff --git a/MinFunctions/CMakeLists.txt b/MinFunctions/CMakeLists.txt
new file mode 100644
index 00000000..7191ba91
--- /dev/null
+++ b/MinFunctions/CMakeLists.txt
@@ -0,0 +1,33 @@
+add_library(MinFunctions
+  AbsFcn.cc
+  AbsPawianMinimizer.cc
+  EvoMinimizer.cc
+  MinuitMinimizer.cc
+  PwaFcnBase.cc
+  PwaFcnServer.cc
+)
+
+target_include_directories(MinFunctions
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${ROOT_INCLUDE_DIRS}
+    ${Boost_INCLUDE_DIRS}
+)
+
+target_link_libraries(MinFunctions
+  Utils
+  qft++
+  ErrLogger  
+  ConfigParser
+  FitParams
+  PwaDynamics
+  PspGen
+  PwaUtils
+  ROOT::Minuit2
+  ${Boost_LIBRARIES}
+)
+
+install(TARGETS MinFunctions
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
\ No newline at end of file
diff --git a/Particle/CMakeLists.txt b/Particle/CMakeLists.txt
index d7eef4da..6807e058 100644
--- a/Particle/CMakeLists.txt
+++ b/Particle/CMakeLists.txt
@@ -1,50 +1,40 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.3 FATAL_ERROR)
-
-set(PACKAGE_NAME Particle)
-
-MESSAGE("cmake installation for package: " ${PACKAGE_NAME})
-
-set(INCLUDE_DIRECTORIES
-${Boost_INCLUDE_DIRS}
-${log4cpp_INCLUDE_DIRS}
-${TOP_DIR}
+add_library(Particle  
+  Parity.cc
+  Particle.cc
+  ParticleTable.cc
+  PdtParser.cc  
 )
 
-include_directories( ${INCLUDE_DIRECTORIES})
-
-
-AUX_SOURCE_DIRECTORY("." SRC)
-Set(CCSRC "")
-
-FOREACH (THEFILE ${SRC})
- IF (NOT ${THEFILE} MATCHES "(.*)App(.*)")
-  SET (CCSRC ${CCSRC} ${THEFILE})
- ENDIF()
-ENDFOREACH(THEFILE)
-
-# BUILD_SHARED_LIBS controls the behavior of ADD_LIBRARY if STATIC/SHARED omitted
-IF( PAWIAN_STATIC )
-        ADD_LIBRARY ( ${PACKAGE_NAME} STATIC ${CCSRC} )
-ELSE()
-        ADD_LIBRARY ( ${PACKAGE_NAME} SHARED ${CCSRC} )
-ENDIF( PAWIAN_STATIC )
-
+target_include_directories(Particle
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
 
-INSTALL (TARGETS ${PACKAGE_NAME} DESTINATION ${CMAKE_BINARY_DIR}/lib)
+target_link_libraries(Particle  
+  ErrLogger
+  Utils_ErrValue
+)
 
-if(COMMAND cmake_policy)
-   cmake_policy(SET CMP0003 NEW)
-endif(COMMAND cmake_policy)
+install(TARGETS Particle
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
 
-SET (EXECUTABLENAME PdtTestApp)
-ADD_EXECUTABLE( ${EXECUTABLENAME}
-   PdtTestApp.cc
+add_executable(PdtTestApp
+  PdtTestApp.cc
 )
 
-target_link_libraries(${EXECUTABLENAME} Particle)
-target_link_libraries(${EXECUTABLENAME} ErrLogger)
-target_link_libraries(${EXECUTABLENAME} Utils)
-target_link_libraries(${EXECUTABLENAME} ${log4cpp_LIBRARIES})
+target_include_directories(PdtTestApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
 
-INSTALL ( TARGETS ${EXECUTABLENAME} DESTINATION bin/${EXECUTABLENAME})
+target_link_libraries(PdtTestApp
+  Particle
+  Utils_ErrValue
+  ErrLogger  
+)
 
+install(TARGETS PdtTestApp
+  RUNTIME DESTINATION bin  
+)
\ No newline at end of file
diff --git a/PspGen/CMakeLists.txt b/PspGen/CMakeLists.txt
new file mode 100644
index 00000000..f59f1c6f
--- /dev/null
+++ b/PspGen/CMakeLists.txt
@@ -0,0 +1,51 @@
+add_library(PspGen
+  EvtComplex.cc
+  EvtConst.cc
+  EvtGenKine.cc
+  EvtKine.cc
+  EvtMTRandomEngine.cc
+  EvtRandom.cc
+  EvtReport.cc
+  EvtSimpleRandomEngine.cc
+  EvtTensor4C.cc
+  EvtVector3C.cc
+  EvtVector3R.cc
+  EvtVector4C.cc
+  EvtVector4R.cc
+  EvtdFunction.cc
+  EvtdFunctionSingle.cc  
+)
+
+target_include_directories(PspGen
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(PspGen  
+  ErrLogger
+)
+
+install(TARGETS PspGen
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+add_executable(PspGenTestApp
+  PspGenTestApp.cc
+)
+
+target_include_directories(PspGenTestApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${ROOT_INCLUDE_DIRS}    
+)
+
+target_link_libraries(PspGenTestApp
+  PspGen  
+  ErrLogger
+  ${ROOT_LIBRARIES}
+)
+
+install(TARGETS PspGenTestApp
+  RUNTIME DESTINATION bin
+)
\ No newline at end of file
diff --git a/PwaApps/CMakeLists.txt b/PwaApps/CMakeLists.txt
new file mode 100644
index 00000000..3f84ffcc
--- /dev/null
+++ b/PwaApps/CMakeLists.txt
@@ -0,0 +1,72 @@
+add_library(PwaApps  
+  Dummy.cc  
+)
+
+target_include_directories(PwaApps
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    #${ROOT_INCLUDE_DIRS}
+    #${GSL_INCLUDE_DIRS}  
+)
+
+#target_link_libraries(PwaApps)
+
+install(TARGETS PwaApps
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+add_executable(coupledChannelApp
+  coupledChannelApp.cc
+)
+
+target_include_directories(coupledChannelApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${Boost_INCLUDE_DIRS}
+)
+
+target_link_libraries(coupledChannelApp
+  PwaApps
+  pbarpUtils
+  epemUtils
+  ConfigParser
+  FitParams
+  PwaUtils
+  AppUtils
+  Particle
+  Event
+  qft++  
+  ErrLogger
+  ${Boost_LIBRARIES}  
+)
+
+add_executable(singleChannelApp
+singleChannelApp.cc
+)
+
+target_include_directories(singleChannelApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/
+    ${Boost_INCLUDE_DIRS}  
+)
+
+target_link_libraries(singleChannelApp
+  PwaApps
+  pbarpUtils
+  epemUtils
+  ConfigParser
+  FitParams
+  PwaUtils
+  AppUtils
+  Utils
+  Particle
+  Event
+  qft++  
+  ErrLogger
+  ${Boost_LIBRARIES} 
+)
+
+install(TARGETS coupledChannelApp singleChannelApp
+  RUNTIME DESTINATION bin
+)
\ No newline at end of file
diff --git a/PwaDynamics/CMakeLists.txt b/PwaDynamics/CMakeLists.txt
new file mode 100644
index 00000000..ec1a6b93
--- /dev/null
+++ b/PwaDynamics/CMakeLists.txt
@@ -0,0 +1,110 @@
+add_library(PwaDynamics  
+  BBUnstableParFit.cc  
+  BBUnstableParFitFcn.cc
+  BarrierFactor.cc
+  BreitWignerFunction.cc
+  FVector.cc
+  FVectorOmnes.cc
+  Flatte.cc
+  Johnson.cc
+  KMatrixBase.cc
+  KMatrixFunctions.cc
+  KMatrixKPiSFocus.cc
+  KMatrixNonRel.cc
+  KMatrixOmnes.cc
+  KMatrixPiPiS.cc
+  KMatrixPiPiSsimple4piPhp.cc
+  KMatrixRel.cc
+  KMatrixRelBg.cc
+  KMatrixSlowAdlerCorRel.cc
+  KPole.cc
+  KPoleBarrier.cc
+  KPoleOmnes.cc
+  LASS.cc  
+  PPole.cc
+  PPoleBarrier.cc
+  PPoleOmnes.cc
+  PVectorBgOmnes.cc
+  PVectorKPiSFocus.cc
+  PVectorRel.cc
+  PVectorRelBg.cc
+  PVectorSlowCorRel.cc
+  PhaseSpace4Pi.cc
+  PhaseSpaceFactory.cc
+  PhaseSpaceIsobar.cc
+  PhaseSpaceIsobarAS.cc
+  PhaseSpaceIsobarDudek.cc
+  PhaseSpaceIsobarDudekAngularMomentum.cc
+  PhaseSpaceIsobarDudekUnstableRhoPi.cc
+  PhaseSpaceIsobarLUT.cc
+  PhaseSpaceIsobarLUT1D.cc
+  PhaseSpaceIsobarReid.cc
+  PhaseSpaceIsobarReidAngularMomentum.cc
+  PhaseSpaceList.cc
+  RadMultipoleFormFactor.cc
+  TMatrixBase.cc
+  TMatrixNonRel.cc
+  TMatrixRel.cc
+  Voigtian.cc
+)
+
+target_include_directories(PwaDynamics
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(PwaDynamics  
+  Utils
+  Particle
+  qft++
+  qft++Extension
+  ErrLogger
+  ROOT::Minuit2
+)
+
+install(TARGETS PwaDynamics
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+add_executable(BBUnstableParFitApp
+  BBUnstableParFitApp.cc
+)
+
+target_include_directories(BBUnstableParFitApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(BBUnstableParFitApp
+  PRIVATE
+    PwaDynamics
+    Utils
+    Particle
+    qft++
+    qft++Extension
+    ErrLogger
+)
+
+add_executable(LUTFileApp
+  LUTFileApp.cc
+)
+
+target_include_directories(LUTFileApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(LUTFileApp
+  PRIVATE
+    PwaDynamics
+    Utils
+    Particle
+    qft++
+    qft++Extension
+    ErrLogger
+)
+
+install(TARGETS BBUnstableParFitApp LUTFileApp
+  RUNTIME DESTINATION bin  
+)
\ No newline at end of file
diff --git a/PwaUtils/CMakeLists.txt b/PwaUtils/CMakeLists.txt
new file mode 100644
index 00000000..feaec0fb
--- /dev/null
+++ b/PwaUtils/CMakeLists.txt
@@ -0,0 +1,96 @@
+add_library(PwaUtils
+  AbsChannelEnv.cc
+  AbsDecay.cc
+  AbsDecayList.cc
+  AbsDynamics.cc
+  AbsHist.cc
+  AbsLh.cc
+  AbsStates.cc
+  AbsXdecAmp.cc
+  BlattWBarrierDynamics.cc
+  BlattWBarrierTensorDynamics.cc
+  BreitWignerBlattWRelDynamics.cc
+  BreitWignerBlattWTensorRelDynamics.cc
+  BreitWignerDynamics.cc
+  BreitWignerRelDynamics.cc
+  DataUtils.cc
+  DynRegistry.cc
+  EvtDataBaseList.cc
+  EvtDataListFactory.cc
+  EvtDataScatteringList.cc
+  FVectorCompareDynamics.cc
+  FVectorIntensityDynamics.cc
+  FixedKMatrixDynamics.cc
+  FlatteDynamics.cc
+  FormXDecAmps.cc
+  FormationDecay.cc
+  FsParticleProjections.cc
+  GlobalEnv.cc
+  HeliDecAmps.cc
+  HeliMultipoleDecNonRefAmps.cc
+  HeliMultipoleGeneralDecAmps.cc
+  IsobarHeliDecay.cc
+  IsobarLSDecay.cc
+  IsobarTensorDecay.cc
+  IsobarTensorPsiToGamXDecay.cc
+  IsobarTensorReducedRadDecay.cc
+  JohnsonDynamics.cc
+  K0star1430LassDynamics.cc
+  KMatrixDynamics.cc
+  KPiSWaveIso12Dynamics.cc
+  KPiSWaveIso32Dynamics.cc
+  KinUtils.cc
+  LSDecAmps.cc
+  LSOmegaTo3PiDecAmps.cc
+  LinearDynamics.cc
+  NetworkClient.cc
+  NetworkServer.cc
+  OmegaTo3PiDecay.cc
+  OmegaTo3PiLSDecay.cc
+  OmegaTo3PiTensorDecay.cc
+  OmnesDynamics.cc
+  PhpGenDynamics.cc
+  PiPiSWaveASDynamics.cc
+  PiPiScatteringDecay.cc
+  PiPiScatteringXdecAmps.cc
+  ProdChannelInfo.cc
+  ProdParamDynamics.cc
+  PwaGen.cc
+  RadM1Dynamics.cc
+  RootHist.cc
+  RootPiPiScatteringHist.cc
+  SExpDynamics.cc
+  TMatrixCompareDynamics.cc
+  TMatrixDynamics.cc
+  TensorDecAmps.cc
+  TensorOmegaTo3PiDecAmps.cc
+  TensorPsiToGamXDecAmps.cc
+  VoigtBlattWRelDynamics.cc
+  VoigtDynamics.cc
+  WoDynamics.cc
+  XdecAmpRegistry.cc
+  pbarpState.cc
+)
+
+target_include_directories(PwaUtils
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${ROOT_INCLUDE_DIRS}
+)
+
+target_link_libraries(PwaUtils
+  Utils
+  qft++
+  qft++Extension
+  ErrLogger
+  Event
+  FitParams
+  ConfigParser
+  PwaDynamics
+  PspGen
+)
+
+install(TARGETS PwaUtils
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
diff --git a/Utils/CMakeLists.txt b/Utils/CMakeLists.txt
index 2d4536ca..2dc022b0 100644
--- a/Utils/CMakeLists.txt
+++ b/Utils/CMakeLists.txt
@@ -1,46 +1,29 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.3 FATAL_ERROR)
-
-set(PACKAGE_NAME Utils)
-
-MESSAGE("cmake installation for package: " ${PACKAGE_NAME})
-
-
-set(INCLUDE_DIRECTORIES
-${TOP_DIR}
+add_library(Utils  
+  Faddeeva.cc
+  FunctionUtils.cc
+  IdStringMapRegistry.cc
+  PawianIOUtils.cc
 )
 
-include_directories( ${INCLUDE_DIRECTORIES})
-
-
-AUX_SOURCE_DIRECTORY("." SRC)
-Set(CCSRC "")
-
-FOREACH (THEFILE ${SRC})
- IF (NOT ${THEFILE} MATCHES "(.*)App(.*)")
-  SET (CCSRC ${CCSRC} ${THEFILE})
- ENDIF()
-ENDFOREACH(THEFILE)
-
-# BUILD_SHARED_LIBS controls the behavior of ADD_LIBRARY if STATIC/SHARED omitted
-IF( PAWIAN_STATIC )
-        ADD_LIBRARY ( ${PACKAGE_NAME} STATIC ${CCSRC} )
-ELSE()
-        ADD_LIBRARY ( ${PACKAGE_NAME} SHARED ${CCSRC} )
-ENDIF( PAWIAN_STATIC )
-
-
-INSTALL (TARGETS ${PACKAGE_NAME} DESTINATION ${CMAKE_BINARY_DIR}/lib)
-
-if(COMMAND cmake_policy)
-   cmake_policy(SET CMP0003 NEW)
-endif(COMMAND cmake_policy)
+target_include_directories(Utils
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
 
-# SET (EXECUTABLENAME PdtTestApp)
-# ADD_EXECUTABLE( ${EXECUTABLENAME}
-#   PdtTestApp.cc
-# )
+target_link_libraries(Utils  
+  ErrLogger  
+)
 
-target_link_libraries(${EXECUTABLENAME} Utils)
+add_library(Utils_ErrValue
+  ErrValue.cc
+)
 
-INSTALL ( TARGETS ${EXECUTABLENAME} DESTINATION bin/${EXECUTABLENAME})
+target_include_directories(Utils_ErrValue
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
 
+install(TARGETS Utils Utils_ErrValue
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
diff --git a/buildallCmake b/buildallCmake
new file mode 100755
index 00000000..6443b4ad
--- /dev/null
+++ b/buildallCmake
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+if [ ! -d build ]
+then
+mkdir build
+fi
+
+if [ ! -d bin ]
+then
+mkdir bin
+fi
+
+if [ ! -d lib ]
+then
+mkdir lib
+fi
+
+cd build
+
+cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=.. -DBUILD_SHARED_LIBS=ON
+make
+make install
diff --git a/epemUtils/CMakeLists.txt b/epemUtils/CMakeLists.txt
new file mode 100644
index 00000000..a2839cc2
--- /dev/null
+++ b/epemUtils/CMakeLists.txt
@@ -0,0 +1,26 @@
+add_library(epemUtils
+  EpemChannelEnv.cc
+  epemBaseLh.cc
+  epemCanoLh.cc
+  epemHeliLh.cc
+  epemReaction.cc
+  epemTensorLh.cc
+)
+
+target_include_directories(epemUtils
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(epemUtils  
+  Utils
+  qft++
+  ErrLogger
+  ConfigParser
+  PwaUtils
+)
+
+install(TARGETS epemUtils
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
\ No newline at end of file
diff --git a/ggUtils/CMakeLists.txt b/ggUtils/CMakeLists.txt
new file mode 100644
index 00000000..48f22d01
--- /dev/null
+++ b/ggUtils/CMakeLists.txt
@@ -0,0 +1,48 @@
+add_library(ggUtils
+  GGChannelEnv.cc
+  centralProdBaseLh.cc
+  gamgamBaseLh.cc
+  ggReaction.cc
+  ggStates.cc  
+  pbarpProductionLh.cc 
+)
+
+target_include_directories(ggUtils
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${ROOT_INCLUDE_DIRS}    
+)
+
+target_link_libraries(ggUtils
+  ROOT::Minuit2
+)
+
+install(TARGETS ggUtils
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+add_executable(ggStatesApp
+  ggStatesApp.cc
+)
+
+target_include_directories(ggStatesApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+)
+
+target_link_libraries(ggStatesApp
+  ggUtils
+  ConfigParser
+  FitParams
+  PwaUtils
+  Utils
+  Event
+  pbarpUtils
+  qft++
+  ErrLogger
+)
+
+install(TARGETS ggStatesApp
+  RUNTIME DESTINATION bin
+)
\ No newline at end of file
diff --git a/gslUtils/CMakeLists.txt b/gslUtils/CMakeLists.txt
new file mode 100644
index 00000000..d5064f47
--- /dev/null
+++ b/gslUtils/CMakeLists.txt
@@ -0,0 +1,88 @@
+add_library(gslUtils  
+  CMIntegration.cc
+  CMIntegration2D.cc  
+  CMIntegration2DReid.cc  
+  CMIntegrationDudek.cc
+  CMIntegrationReid.cc  
+)
+
+target_include_directories(gslUtils
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/
+    ${ROOT_INCLUDE_DIRS}
+    ${GSL_INCLUDE_DIRS}  
+)
+
+target_link_libraries(gslUtils  
+  Utils
+  Particle
+  qft++
+  qft++Extension
+  ErrLogger
+  ROOT::Minuit2
+  GSL::gsl
+  GSL::gslcblas
+)
+
+install(TARGETS gslUtils
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+add_executable(CMIntegrationApp
+  CMIntegrationApp.cc
+)
+
+target_include_directories(CMIntegrationApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(CMIntegrationApp
+  gslUtils
+  Utils
+  Particle
+  qft++
+  qft++Extension
+  ErrLogger  
+)
+
+add_executable(CMIntegration2DApp
+  CMIntegration2DApp.cc
+)
+
+target_include_directories(CMIntegration2DApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(CMIntegration2DApp
+  gslUtils
+  Utils
+  Particle
+  qft++
+  qft++Extension
+  ErrLogger  
+)
+
+add_executable(convertToBinApp
+  convertToBinApp.cc
+)
+
+target_include_directories(convertToBinApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(convertToBinApp
+  gslUtils
+  Utils
+  Particle
+  qft++
+  qft++Extension
+  ErrLogger  
+)
+
+install(TARGETS CMIntegrationApp CMIntegration2DApp convertToBinApp
+  RUNTIME DESTINATION bin 
+)
\ No newline at end of file
diff --git a/pbarpUtils/CMakeLists.txt b/pbarpUtils/CMakeLists.txt
new file mode 100644
index 00000000..d66b4380
--- /dev/null
+++ b/pbarpUtils/CMakeLists.txt
@@ -0,0 +1,29 @@
+add_library(pbarpUtils
+  PbarpChannelEnv.cc
+  pbarpBaseLh.cc
+  pbarpCanoLh.cc
+  pbarpHeliLh.cc
+  pbarpReaction.cc
+  pbarpStatesLS.cc
+  pbarpTensorLh.cc
+  spinDensityHist.cc
+)
+
+target_include_directories(pbarpUtils
+  PRIVATE
+    ${CMAKE_SOURCE_DIR}
+)
+
+target_link_libraries(pbarpUtils  
+  Utils
+  qft++
+  ErrLogger
+  ConfigParser
+  FitParams
+  PwaUtils
+)
+
+install(TARGETS pbarpUtils
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
\ No newline at end of file
diff --git a/pipiScatteringUtils/CMakeLists.txt b/pipiScatteringUtils/CMakeLists.txt
new file mode 100644
index 00000000..c5d4e988
--- /dev/null
+++ b/pipiScatteringUtils/CMakeLists.txt
@@ -0,0 +1,24 @@
+add_library(pipiScatteringUtils
+  PiPiScatteringChannelEnv.cc
+  pipiScatteringBaseLh.cc
+)
+
+target_include_directories(pipiScatteringUtils
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(pipiScatteringUtils  
+  Utils
+  qft++
+  ErrLogger
+  ConfigParser
+  Event
+  PwaUtils
+  Particle
+)
+
+install(TARGETS pipiScatteringUtils
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
\ No newline at end of file
diff --git a/qaErrorExtract/CMakeLists.txt b/qaErrorExtract/CMakeLists.txt
new file mode 100644
index 00000000..e9c51069
--- /dev/null
+++ b/qaErrorExtract/CMakeLists.txt
@@ -0,0 +1,23 @@
+add_library(qaErrorExtract  
+  AbsCovMatErrorExtract.cc
+  ScatteringContribution.cc
+  WaveContribution.cc  
+)
+
+target_include_directories(qaErrorExtract
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
+
+target_link_libraries(qaErrorExtract  
+  ErrLogger
+  ConfigParser
+  FitParams
+  PwaUtils
+  pipiScatteringUtils
+)
+
+install(TARGETS qaErrorExtract
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
\ No newline at end of file
diff --git a/qft++/CMakeLists.txt b/qft++/CMakeLists.txt
index 7ca1656c..f6a29672 100644
--- a/qft++/CMakeLists.txt
+++ b/qft++/CMakeLists.txt
@@ -1,27 +1,19 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4.3 FATAL_ERROR)
-set(PACKAGE_NAME qft++)
-
-MESSAGE("cmake installation for package: " ${PACKAGE_NAME})
-
-set(INCLUDE_DIRECTORIES ${TOP_DIR})
-
-include_directories( ${INCLUDE_DIRECTORIES})
-
-AUX_SOURCE_DIRECTORY("relativistic-quantum-mechanics" SRC_RQM)
-AUX_SOURCE_DIRECTORY("tensor" SRC_TENSOR)
-
-SET ( PAWIAN_SRCS
-  ${SRC_RQM}
-  ${SRC_TENSOR}
+add_library(qft++
+  relativistic-quantum-mechanics/BlattWeisskopf.cc
+  relativistic-quantum-mechanics/DiracAntiSpinor.cc
+  relativistic-quantum-mechanics/DiracSpinor.cc
+  relativistic-quantum-mechanics/PolVector.cc
+  relativistic-quantum-mechanics/Utils.cc
+  tensor/TensorIndex.cc
+  tensor/TensorIndexOrder.cc  
 )
 
-# BUILD_SHARED_LIBS controls the behavior of ADD_LIBRARY if STATIC/SHARED omitted
-IF( PAWIAN_STATIC )
-        ADD_LIBRARY ( ${PACKAGE_NAME} STATIC ${PAWIAN_SRCS} )
-ELSE()
-        ADD_LIBRARY ( ${PACKAGE_NAME} SHARED ${PAWIAN_SRCS} )
-ENDIF( PAWIAN_STATIC )
-
-INSTALL (TARGETS ${PACKAGE_NAME} DESTINATION ${CMAKE_BINARY_DIR}/lib)
-
+target_include_directories(qft++
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}/  
+)
 
+install(TARGETS qft++
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
diff --git a/qft++Extension/CMakeLists.txt b/qft++Extension/CMakeLists.txt
new file mode 100644
index 00000000..0764c158
--- /dev/null
+++ b/qft++Extension/CMakeLists.txt
@@ -0,0 +1,54 @@
+add_library(qft++Extension
+  AbsComplexFunction.cc
+  InputOmnesMatrixPiPiS5Channel.cc
+  InputSelfEnergyMatrixPiPiS5Channel.cc
+  OmnesMatrixFactory.cc
+  OmnesMatrixGeneral.cc
+  OmnesMatrixPiPiS3Channelwrhorho.cc
+  OmnesMatrixPiPiS5Channel.cc
+  PawianUtils.cc
+  SphericalHarmonic.cc
+)
+
+target_include_directories(qft++Extension
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${Boost_INCLUDE_DIRS}
+    ${ROOT_INCLUDE_DIRS} 
+)
+
+target_link_libraries(qft++Extension
+  qft++
+  ErrLogger
+  ${Boost_LIBRARIES}
+  ${ROOT_LIBRARIES}
+)
+
+add_executable(OmnesMatrixGeneralApp
+  OmnesMatrixGeneralApp.cc
+)
+
+target_include_directories(OmnesMatrixGeneralApp
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}
+    ${Boost_INCLUDE_DIRS}
+    ${ROOT_INCLUDE_DIRS}  
+)
+
+target_link_libraries(OmnesMatrixGeneralApp
+  ErrLogger
+  qft++
+  qft++Extension
+  ConfigParser
+  Particle
+  ${ROOT_LIBRARIES}
+)
+
+install(TARGETS qft++Extension
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
+
+install(TARGETS OmnesMatrixGeneralApp
+  RUNTIME DESTINATION lib  
+)
\ No newline at end of file
diff --git a/resUtils/CMakeLists.txt b/resUtils/CMakeLists.txt
new file mode 100644
index 00000000..ffaf365a
--- /dev/null
+++ b/resUtils/CMakeLists.txt
@@ -0,0 +1,25 @@
+add_library(resUtils
+  ResChannelEnv.cc
+  res1DMassShapeLh.cc
+  resBaseLh.cc
+  resReaction.cc 
+)
+
+target_include_directories(resUtils
+  PRIVATE 
+    ${CMAKE_SOURCE_DIR}    
+)
+
+target_link_libraries(resUtils  
+  Utils
+  qft++
+  ErrLogger
+  ConfigParser
+  PwaUtils
+  Particle
+)
+
+install(TARGETS resUtils
+  LIBRARY DESTINATION lib
+  ARCHIVE DESTINATION lib
+)
\ No newline at end of file
diff --git a/setupPawianCmake b/setupPawianCmake
new file mode 100755
index 00000000..9c26758a
--- /dev/null
+++ b/setupPawianCmake
@@ -0,0 +1,12 @@
+#source /opt/root/6-18.04-Centos8-gcc9.2.0/bin/thisroot.sh
+
+export TOP_DIR=`pwd | sed -e 's/\/nfs//'`
+export KMAT_DIR=$TOP_DIR
+export EVT_DIR=$TOP_DIR
+#export extern=/data/sleipnir/PANDA/PWA
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TOP_DIR/lib
+#export BOOST_BUILD_PATH=/usr/share/boost-build
+export PATH=$TOP_DIR/bin:$PATH
+
+#rm Jamroot
+#ln -s JamrootCentos8 Jamroot
-- 
GitLab