From dde655ecc2817015de2fa12ae1108f9b3d50f751 Mon Sep 17 00:00:00 2001
From: Cristian C Lalescu <Cristian.Lalescu@ds.mpg.de>
Date: Thu, 7 Mar 2019 22:22:14 +0100
Subject: [PATCH] split CMakeLists.txt

the plan is to use the generic `CMakeLists_package.txt` for calling
`cmake` from within python scripts. Otherwise the python script would
write something like `CMakeLists.txt`, but with an executable instead of
a library.
---
 CMakeLists.txt          | 22 +-------------------
 CMakeLists_packages.txt | 46 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 47 insertions(+), 21 deletions(-)
 create mode 100644 CMakeLists_packages.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 91b7fc32..e77521f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,27 +7,7 @@ include_directories(
     ${PROJECT_SOURCE_DIR}/bfps/cpp/full_code
     )
 
-find_package(MPI REQUIRED)
-#find_package(FFTW REQUIRED)
-find_package(HDF5 REQUIRED)
-include_directories(
-    ${MPI_INCLUDE_PATH}
-    ${HDF5_INCLUDE_PATH}
-    )
-
-set(CMAKE_CXX_COMPILE_FLAGS
-    ${CMAKE_CXX_COMPILE_FLAGS}
-    "-Wall -std=c++11 -fopenmp"
-    )
-set(CMAKE_CXX_COMPILE_FLAGS
-    ${CMAKE_CXX_COMPILE_FLAGS}
-    ${MPI_COMPILE_FLAGS}
-    )
-set(CMAKE_CXX_LINK_FLAGS
-    ${MPI_LINK_FLAGS}
-    ${HDF5_LINK_FLAGS}
-    ${CMAKE_CXX_LINK_FLAGS}
-    )
+include(${PROJECT_SOURCE_DIR}/CMakeLists_packages.txt)
 
 add_library(bfps
     "${PROJECT_SOURCE_DIR}/bfps/cpp/full_code/code_base.cpp"
diff --git a/CMakeLists_packages.txt b/CMakeLists_packages.txt
new file mode 100644
index 00000000..e08621bb
--- /dev/null
+++ b/CMakeLists_packages.txt
@@ -0,0 +1,46 @@
+find_package(MPI REQUIRED)
+find_package(HDF5 REQUIRED)
+
+###############################################################################
+# manual settings for FFTW. ugly.
+set(FFTW_INCLUDE_FLAGS
+    "${FFTW_BASE}/include"
+    )
+set(FFTW_LINK_FLAGS
+    "${FFTW_OPENMP_LIB} ${FFTW_LIB}"
+    )
+###############################################################################
+
+###############################################################################
+# manual settings for SZIP. ugly.
+# needed for non-gcc environments.
+if(SZIP_LIB)
+    set(SZIP_LINK_FLAGS
+        "${SZIP_LIB} -lz")
+else()
+    set(SZIP_LINK_FLAGS
+        "")
+endif()
+###############################################################################
+
+include_directories(
+    ${MPI_INCLUDE_PATH}
+    ${HDF5_INCLUDE_PATH}
+    ${FFTW_INCLUDE_PATH}
+    )
+
+set(CMAKE_CXX_COMPILE_FLAGS
+    ${CMAKE_CXX_COMPILE_FLAGS}
+    "-Wall -std=c++11 -fopenmp"
+    )
+set(CMAKE_CXX_COMPILE_FLAGS
+    ${CMAKE_CXX_COMPILE_FLAGS}
+    ${MPI_COMPILE_FLAGS}
+    )
+set(CMAKE_CXX_LINK_FLAGS
+    ${MPI_LINK_FLAGS}
+    ${HDF5_LINK_FLAGS}
+    ${FFTW_LINK_FLAGS}
+    ${CMAKE_CXX_LINK_FLAGS}
+    )
+
-- 
GitLab