From 351ae02993d9fa64cd945e70720517aad8acdbf6 Mon Sep 17 00:00:00 2001 From: Scott R Charlton Date: Tue, 26 May 2015 06:21:06 +0000 Subject: [PATCH] unifying CMake and configure builds git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@9720 1feff8c3-07ed-0310-ac33-dd36852eb9cd --- CMakeLists.txt | 22 +++++++++++++++------- src/README.Fortran | 17 +++++++++++++++++ 2 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 src/README.Fortran diff --git a/CMakeLists.txt b/CMakeLists.txt index 0e406b90..f9963758 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -251,7 +251,16 @@ ${PROJECT_SOURCE_DIR}/src/IPhreeqcCallbacks.h ${PROJECT_SOURCE_DIR}/src/Var.h ) -if (NOT IPHREEQC_ENABLE_MODULE) +SET(IPhreeqc_SRC +${PROJECT_SOURCE_DIR}/src/IPhreeqc_interface.F90 +) + +if (IPHREEQC_ENABLE_MODULE) + SET(IPhreeqc_SRC + ${PROJECT_SOURCE_DIR}/src/IPhreeqc_interface.F90 + ${PROJECT_SOURCE_DIR}/src/README.Fortran + ) +else() SET(IPhreeqc_Headers ${IPhreeqc_Headers} ${PROJECT_SOURCE_DIR}/src/IPhreeqc.f.inc @@ -259,11 +268,6 @@ if (NOT IPHREEQC_ENABLE_MODULE) ) endif() - -SET(IPhreeqc_SRC -${PROJECT_SOURCE_DIR}/src/IPhreeqc_interface.F90 -) - # Setup references for /CLR if (MSVC AND BUILD_SHARED_LIBS AND BUILD_CLR_LIBS) set_target_properties(IPhreeqc PROPERTIES VS_DOTNET_REFERENCES "System;System.Drawing;System.Windows.Forms;${CMAKE_CURRENT_SOURCE_DIR}/src/phreeqcpp/ZedGraph.dll") @@ -312,7 +316,11 @@ if (STANDALONE_BUILD EQUAL 1) install(TARGETS IPhreeqc DESTINATION ${CMAKE_INSTALL_LIBDIR}) install(FILES ${IPhreeqc_Headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) if (IPHREEQC_ENABLE_MODULE) - install(FILES ${IPhreeqc_SRC} DESTINATION src) + if (WIN32) + install(FILES ${IPhreeqc_SRC} DESTINATION src) + else() + install(FILES ${IPhreeqc_SRC} DESTINATION ${CMAKE_INSTALL_DOCDIR}/src) + endif() endif() if (BUILD_CLR_LIBS) install(FILES "${PROJECT_SOURCE_DIR}/src/phreeqcpp/ZedGraph.dll" DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/src/README.Fortran b/src/README.Fortran new file mode 100644 index 00000000..408ac795 --- /dev/null +++ b/src/README.Fortran @@ -0,0 +1,17 @@ +In Fortran, you will need to include the source file IPhreeqc_interface.F90 +in your project files. This file defines the IPhreeqc Fortran module. This +is the preferred method to use IPhreeqc from a Fortran program. + + USE IPhreeqc + INTEGER(KIND=4) id + id = CreateIPhreeqc() + +Use of the include files IPhreeqc.f.inc and IPhreeqc.f90.inc has been +deprecated. To continue using them you must unset IPHREEQC_ENABLE_MODULE in +CMake builds or use the --disable-fortran-module in configure builds. If +either of these settings are used the Fortran include files will be +installed to the include directory. + + INCLUDE 'IPhreeqc.f90.inc' + INTEGER(KIND=4) id + id = CreateIPhreeqc()