From 6aa83276d68e8b3985f5e1a49218a554f0bcef6c Mon Sep 17 00:00:00 2001
From: Berk Onat <b.onat@warwick.ac.uk>
Date: Tue, 31 Oct 2017 15:00:51 +0000
Subject: [PATCH] Added UNIX installation options

---
 .../molfile_plugins/compile/CMakeLists.txt    | 102 ++++++++++++------
 1 file changed, 70 insertions(+), 32 deletions(-)

diff --git a/pymolfile/molfile/molfile_plugins/compile/CMakeLists.txt b/pymolfile/molfile/molfile_plugins/compile/CMakeLists.txt
index f86be4f..c37d1b7 100644
--- a/pymolfile/molfile/molfile_plugins/compile/CMakeLists.txt
+++ b/pymolfile/molfile/molfile_plugins/compile/CMakeLists.txt
@@ -7,7 +7,8 @@ find_package(EXPAT)
 find_package(TCL)
 include (FindNetCDF.cmake)
 set (NETCDF_CXX "YES")
-find_package(NetCDF REQUIRED)
+#find_package(NetCDF REQUIRED)
+find_package(NetCDF)
 
 set(TNG_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/../../external/tng")
 message(TNG_DIR= ${TNG_INSTALL_DIR})
@@ -54,21 +55,25 @@ endif()
 if(LINUX)
    if(CMAKE_CXX_COMPILER_ID MATCHES "^.*GNU.*$")
       if(ARCH64BIT)
-         set(TARGET_COPT -fPIC;-m64;-o)
-         set(TARGET_LOPT -fPIC;-m64;-lstdc++;-o)
-	 set(TARGET_CFLAGS -m64;-O2;-fPIC;-Wall;${CMAKE_C_FLAGS})
-	 set(TARGET_CXXFLG -m64;-O2;-fPIC;-Wall;${CMAKE_CXX_FLAGS})
+         set(TARGET_COPT  -fPIC -m64 -o )
+         set(TARGET_LOPT  -fPIC -m64 -lstdc++ -o )
+	 set(TARGET_CFLAGS  -m64 -O2 -fPIC -Wall )
+	 set(TARGET_CXXFLG  -m64 -O2 -fPIC -Wall )
+	 #set(TARGET_COPT " -fPIC -m64 -o ")
+	 #set(TARGET_LOPT " -fPIC -m64 -lstdc++ -o ")
+	 #set(TARGET_CFLAGS " -m64 -O2 -fPIC -Wall ${CMAKE_C_FLAGS}")
+	 #set(TARGET_CXXFLG " -m64 -O2 -fPIC -Wall ${CMAKE_CXX_FLAGS}")
       else()
-         set(TARGET_COPT -fPIC;-m32;-o)
-         set(TARGET_LOPT -fPIC;-m32;-lstdc++;-o)
-	 set(TARGET_CFLAGS -m32;-O2;-fPIC;-Wall;${CMAKE_C_FLAGS})
-	 set(TARGET_CXXFLG -m32;-O2;-fPIC;-Wall;${CMAKE_CXX_FLAGS})
+         set(TARGET_COPT " -fPIC -m32 -o ")
+         set(TARGET_LOPT " -fPIC -m32 -lstdc++ -o ")
+	 set(TARGET_CFLAGS " -m32 -O2 -fPIC -Wall ${CMAKE_C_FLAGS}")
+	 set(TARGET_CXXFLG " -m32 -O2 -fPIC -Wall ${CMAKE_CXX_FLAGS}")
       endif()
    else()
-         set(TARGET_COPT -o)
-         set(TARGET_LOPT -o)
-	 set(TARGET_CFLAGS -O2;-Wall;${CMAKE_C_FLAGS})
-	 set(TARGET_CXXFLG -O2;-Wall;${CMAKE_CXX_FLAGS})
+         set(TARGET_COPT " -o ")
+         set(TARGET_LOPT " -o ")
+	 set(TARGET_CFLAGS " -O2 -Wall ${CMAKE_C_FLAGS}")
+	 set(TARGET_CXXFLG " -O2 -Wall ${CMAKE_CXX_FLAGS}")
    endif()
 endif()
 
@@ -97,41 +102,74 @@ endif()
 if(UNIX)
    set(TARGET_DEF "-D")
    set(TARGET_SHLD ${CMAKE_CXX_COMPILER} ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS})
-   set(TARGET_LIBTOOL libtool;-dynamic)
+   if(APPLE)
+      set(TARGET_LIBTOOL libtool;-dynamic)
+      set(TARGET_NM ${CMAKE_NM};-p)
+   else()
+      set(TARGET_LIBTOOL "libtool -dynamic")
+      set(TARGET_NM "${CMAKE_NM} -p")
+   endif()
    set(TARGET_AR ${CMAKE_AR})
-   set(TARGET_NM ${CMAKE_NM};-p)
    set(TARGET_RANLIB ${CMAKE_RANLIB})
    set(TARGET_MOL_LIBS "")
    if(TCL_FOUND)
-      set(TCLLDFLAGS -ltcl;-L${TCL_LIBRARY})
-      set(TCLINC "-I${TCL_INCLUDE_PATH}")
-      set(TCLLIB "-L${TCL_LIBRARY}")
-      set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"TCLLDFLAGS=${TCLLDFLAGS}\";\"TCLINC=${TCLINC}\";\"TCLLIB=${TCLLIB}\";)
+      if(APPLE)
+         set(TCLLDFLAGS -ltcl;-L${TCL_LIBRARY})
+         set(TCLINC "-I${TCL_INCLUDE_PATH}")
+         set(TCLLIB "-L${TCL_LIBRARY}")
+         set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"TCLLDFLAGS=${TCLLDFLAGS}\";\"TCLINC=${TCLINC}\";\"TCLLIB=${TCLLIB}\";)
+      else()
+         set(TCLLDFLAGS "-ltcl -L${TCL_LIBRARY}")
+         set(TCLINC "-I${TCL_INCLUDE_PATH}")
+         set(TCLLIB "-L${TCL_LIBRARY}")
+         set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} "\"TCLLDFLAGS=${TCLLDFLAGS}\" \"TCLINC=${TCLINC}\" \"TCLLIB=${TCLLIB}\"")
+      endif()
       message(TCL_FOUND= ${TCL_LIBRARY})
    endif()
    if(EXPAT_FOUND)
-      set(EXPATLDFLAGS ${EXPAT_LIBRARIES})
-      set(EXPATINC "-I${EXPAT_INCLUDE_DIRS}")
-      set(EXPATLIB "-I${EXPAT_INCLUDE_DIRS}")
-      set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"EXPATLDFLAGS=${EXPATLDFLAGS}\";\"EXPATINC=${EXPATINC}\";\"EXPATLIB=${EXPATLIB}\";)
+      if(APPLE)
+         set(EXPATLDFLAGS ${EXPAT_LIBRARIES})
+         set(EXPATINC "-I${EXPAT_INCLUDE_DIRS}")
+         set(EXPATLIB "-I${EXPAT_INCLUDE_DIRS}")
+         set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"EXPATLDFLAGS=${EXPATLDFLAGS}\";\"EXPATINC=${EXPATINC}\";\"EXPATLIB=${EXPATLIB}\";)
+      else()
+         set(EXPATLDFLAGS ${EXPAT_LIBRARIES})
+         set(EXPATINC "-I${EXPAT_INCLUDE_DIRS}")
+         set(EXPATLIB "-I${EXPAT_INCLUDE_DIRS}")
+         set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"EXPATLDFLAGS=${EXPATLDFLAGS}\" \"EXPATINC=${EXPATINC}\" \"EXPATLIB=${EXPATLIB}\")
+      endif()
       message(EXPAT_FOUND= ${EXPAT_LIBRARIES})
    endif()
    if(NETCDF_FOUND)
-      set(NETCDFLDFLAGS ${NETCDF_LIBRARIES})
-      set(NETCDFINC "-I${NETCDF_INCLUDES}")
-      set(NETCDFLIB "-L${NETCDF_INCLUDES}")
-      set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"NETCDFLDFLAGS=${NETCDFLDFLAGS}\";\"NETCDFINC=${NETCDFINC}\";\"NETCDFLIB=${NETCDFLIB}\";)
+      if(APPLE)
+         set(NETCDFLDFLAGS ${NETCDF_LIBRARIES})
+         set(NETCDFINC "-I${NETCDF_INCLUDES}")
+         set(NETCDFLIB "-L${NETCDF_INCLUDES}")
+         set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"NETCDFLDFLAGS=${NETCDFLDFLAGS}\";\"NETCDFINC=${NETCDFINC}\";\"NETCDFLIB=${NETCDFLIB}\";)
+      else()
+         set(NETCDFLDFLAGS ${NETCDF_LIBRARIES})
+         set(NETCDFINC "-I${NETCDF_INCLUDES}")
+         set(NETCDFLIB "-L${NETCDF_INCLUDES}")
+         set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"NETCDFLDFLAGS=${NETCDFLDFLAGS}\" \"NETCDFINC=${NETCDFINC}\" \"NETCDFLIB=${NETCDFLIB}\")
+      endif()
       message(NETCDF_FOUND= ${NETCDF_LIBRARIES})
       message(NETCDF_FOUND= ${NETCDF_INCLUDES})
    endif()
    if(TNGIO_FOUND)
-      set(TNGIOLDFLAGS ${TNGIO_LIBRARIES})
-      set(TNGIOINC "-I${TNGIO_INCLUDE_DIRS}")
-      set(TNGIOLIB "-L${TNGIO_LIBRARY_DIRS}")
-      set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"TNGLDFLAGS=${TNGIOLDFLAGS}\";\"TNGINC=${TNGIOINC}\";\"TNGLIB=${TNGIOLIB}\";)
+      if(APPLE)
+         set(TNGIOLDFLAGS ${TNGIO_LIBRARIES})
+         set(TNGIOINC "-I${TNGIO_INCLUDE_DIRS}")
+         set(TNGIOLIB "-L${TNGIO_LIBRARY_DIRS}")
+         set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"TNGLDFLAGS=${TNGIOLDFLAGS}\";\"TNGINC=${TNGIOINC}\";\"TNGLIB=${TNGIOLIB}\";)
+      else()
+         set(TNGIOLDFLAGS ${TNGIO_LIBRARIES})
+         set(TNGIOINC "-I${TNGIO_INCLUDE_DIRS}")
+         set(TNGIOLIB "-L${TNGIO_LIBRARY_DIRS}")
+         set(TARGET_MOL_LIBS ${TARGET_MOL_LIBS} \"TNGLDFLAGS=${TNGIOLDFLAGS}\" \"TNGINC=${TNGIOINC}\" \"TNGLIB=${TNGIOLIB}\")
+      endif()
       message(TNGIO_FOUND= ${TNGIO_LIBRARIES})
    endif()
-   #   message(MAKE_COMMAND= "make dynlibs staticlibs bins \"ARCH = ${TARGET_ARCH}\" \"COPTO = ${TARGET_COPT} \" \"LOPTO = ${TARGET_LOPT} \" \"CC = ${CMAKE_C_COMPILER} \" \"CXX =     ${CMAKE_CXX_COMPILER} \" \"DEF = ${TARGET_DEF}\" \"CCFLAGS = ${TARGET_CFLAGS} \" \"CXXFLAGS = ${TARGET_CXXFLG} \" \"AR = ${TARGET_AR}\" \"NM = ${TARGET_NM}\" \"RANLIB = ${TARGET_RANLIB}\" \"LIBTOOL = ${TARGET_LIBTOOL} \" ${TARGET_MOL_LIBS}")
+   message(MAKE_COMMAND= "make dynlibs staticlibs bins \"ARCH = ${TARGET_ARCH}\" \"COPTO = ${TARGET_COPT} \" \"LOPTO = ${TARGET_LOPT} \" \"CC = ${CMAKE_C_COMPILER} \" \"CXX =     ${CMAKE_CXX_COMPILER} \" \"DEF = ${TARGET_DEF}\" \"CCFLAGS = ${TARGET_CFLAGS} \" \"CXXFLAGS = ${TARGET_CXXFLG} \" \"AR = ${TARGET_AR}\" \"NM = ${TARGET_NM}\" \"RANLIB = ${TARGET_RANLIB}\" \"LIBTOOL = ${TARGET_LIBTOOL} \" ${TARGET_MOL_LIBS}")
    add_custom_command( 
       OUTPUT ${LIB_MOLFILE_FILES}
       COMMAND make dynlibs staticlibs bins \"ARCH = ${TARGET_ARCH}\" \"COPTO = ${TARGET_COPT} \" \"LOPTO = ${TARGET_LOPT} \" \"CC = ${CMAKE_C_COMPILER} \" \"CXX = ${CMAKE_CXX_COMPILER} \" \"DEF = ${TARGET_DEF}\" \"CCFLAGS = ${TARGET_CFLAGS} \" \"CXXFLAGS = ${TARGET_CXXFLG} \" \"AR = ${TARGET_AR}\" \"NM = ${TARGET_NM}\" \"RANLIB = ${TARGET_RANLIB}\" \"LIBTOOL = ${TARGET_LIBTOOL} \" ${TARGET_MOL_LIBS}
-- 
GitLab