mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 16:44:49 +01:00
enabled iphreeqc cmake to be standalone
git-svn-id: svn://136.177.114.72/svn_GW/IPhreeqc/trunk@9464 1feff8c3-07ed-0310-ac33-dd36852eb9cd
This commit is contained in:
parent
f31a2c2679
commit
00f434dca9
103
CMakeLists.txt
103
CMakeLists.txt
@ -1,43 +1,40 @@
|
|||||||
cmake_minimum_required (VERSION 2.8)
|
cmake_minimum_required (VERSION 2.8)
|
||||||
|
|
||||||
include(CheckLanguage)
|
|
||||||
check_language(Fortran)
|
|
||||||
if (CMAKE_Fortran_COMPILER)
|
|
||||||
enable_language(Fortran)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (POLICY CMP0054)
|
|
||||||
cmake_policy(PUSH)
|
|
||||||
cmake_policy(SET CMP0054 OLD)
|
|
||||||
endif()
|
|
||||||
project (IPhreeqc CXX C)
|
project (IPhreeqc CXX C)
|
||||||
if (POLICY CMP0054)
|
|
||||||
cmake_policy(POP)
|
# check if this is the root project
|
||||||
|
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
|
||||||
|
set(STANDALONE_BUILD 1)
|
||||||
|
else()
|
||||||
|
set(STANDALONE_BUILD 0)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
### overide docdir on windows
|
|
||||||
##if(WIN32 AND NOT CMAKE_INSTALL_DOCDIR)
|
# overide docdir on windows
|
||||||
## set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (doc)")
|
if(WIN32 AND NOT CMAKE_INSTALL_DOCDIR)
|
||||||
## set(CMAKE_INSTALL_DOCDIR "doc")
|
set(CMAKE_INSTALL_DOCDIR "" CACHE PATH "documentation root (doc)")
|
||||||
##endif()
|
set(CMAKE_INSTALL_DOCDIR "doc")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# set standard directory locations
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
|
||||||
# Fortran
|
# Fortran
|
||||||
if (NOT IPHREEQC_BUILD_FORTRAN)
|
if (STANDALONE_BUILD EQUAL 1)
|
||||||
|
if (NOT IPHREEQC_FORTRAN_TESTING)
|
||||||
if (NOT CMAKE_Fortran_COMPILER OR CMAKE_Fortran_COMPILER STREQUAL "CMAKE_Fortran_COMPILER-NOTFOUND")
|
if (NOT CMAKE_Fortran_COMPILER OR CMAKE_Fortran_COMPILER STREQUAL "CMAKE_Fortran_COMPILER-NOTFOUND")
|
||||||
option (IPHREEQC_BUILD_FORTRAN "Build FORTRAN support" OFF)
|
option (IPHREEQC_FORTRAN_TESTING "Build Fortran test" OFF)
|
||||||
else()
|
else()
|
||||||
option (IPHREEQC_BUILD_FORTRAN "Build FORTRAN support" ON)
|
option (IPHREEQC_FORTRAN_TESTING "Build Fortran test" ON)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
if (IPHREEQC_BUILD_FORTRAN)
|
if (IPHREEQC_FORTRAN_TESTING)
|
||||||
enable_language(Fortran)
|
enable_language(Fortran)
|
||||||
##include(FortranCInterface)
|
endif()
|
||||||
##FortranCInterface_HEADER(FC.h MACRO_NAMESPACE "FC_")
|
|
||||||
##FortranCInterface_VERIFY(CXX QUIET)
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
|
|
||||||
# Disable deprecation warnings for standard C and STL functions in VS2005
|
# Disable deprecation warnings for standard C and STL functions in VS2005
|
||||||
# and later
|
# and later
|
||||||
@ -80,7 +77,7 @@ src/phreeqcpp/dense.cpp
|
|||||||
src/phreeqcpp/dense.h
|
src/phreeqcpp/dense.h
|
||||||
src/phreeqcpp/dumper.cpp
|
src/phreeqcpp/dumper.cpp
|
||||||
src/phreeqcpp/dumper.h
|
src/phreeqcpp/dumper.h
|
||||||
src/phreeqcpp/dw.cpp
|
#src/phreeqcpp/dw.cpp
|
||||||
src/phreeqcpp/gases.cpp
|
src/phreeqcpp/gases.cpp
|
||||||
src/phreeqcpp/global_structures.h
|
src/phreeqcpp/global_structures.h
|
||||||
src/phreeqcpp/input.cpp
|
src/phreeqcpp/input.cpp
|
||||||
@ -203,29 +200,20 @@ src/phreeqcpp/Utils.h
|
|||||||
# compile Var.c as c++
|
# compile Var.c as c++
|
||||||
SET_SOURCE_FILES_PROPERTIES(src/Var.c PROPERTIES LANGUAGE CXX)
|
SET_SOURCE_FILES_PROPERTIES(src/Var.c PROPERTIES LANGUAGE CXX)
|
||||||
|
|
||||||
### maybe always include?
|
# always include fwrap files
|
||||||
##if (PHREEQCRM_BUILD_FORTRAN)
|
SET(IPhreeqc_SOURCES
|
||||||
## SET(PhreeqcRM_SOURCES
|
${IPhreeqc_SOURCES}
|
||||||
## ${PhreeqcRM_SOURCES}
|
src/fimpl.h
|
||||||
## RM_interface_F.cpp
|
src/fwrap.cpp
|
||||||
## )
|
src/fwrap1.cpp
|
||||||
##endif ()
|
src/fwrap2.cpp
|
||||||
|
src/fwrap3.cpp
|
||||||
|
src/fwrap4.cpp
|
||||||
##if (IPHREEQC_BUILD_FORTRAN AND MSVC)
|
src/fwrap5.cpp
|
||||||
## SET(IPhreeqc_SOURCES
|
src/fwrap6.cpp
|
||||||
## ${IPhreeqc_SOURCES}
|
src/fwrap7.cpp
|
||||||
## src/fwrap.cpp
|
src/fwrap8.cpp
|
||||||
## src/fwrap1.cpp
|
)
|
||||||
## src/fwrap2.cpp
|
|
||||||
## src/fwrap3.cpp
|
|
||||||
## src/fwrap4.cpp
|
|
||||||
## src/fwrap5.cpp
|
|
||||||
## src/fwrap6.cpp
|
|
||||||
## src/fwrap7.cpp
|
|
||||||
## src/fwrap8.cpp
|
|
||||||
## )
|
|
||||||
##endif ()
|
|
||||||
|
|
||||||
# setup include directories
|
# setup include directories
|
||||||
include_directories("${PROJECT_SOURCE_DIR}")
|
include_directories("${PROJECT_SOURCE_DIR}")
|
||||||
@ -238,28 +226,24 @@ OPTION(BUILD_SHARED_LIBS "Build Shared Libraries" OFF)
|
|||||||
SET(LIB_TYPE STATIC)
|
SET(LIB_TYPE STATIC)
|
||||||
if (BUILD_SHARED_LIBS)
|
if (BUILD_SHARED_LIBS)
|
||||||
SET(LIB_TYPE SHARED)
|
SET(LIB_TYPE SHARED)
|
||||||
|
if (STANDALONE_BUILD EQUAL 1)
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
OPTION(BUILD_CLR_LIBS "Build CLR Libraries" OFF)
|
OPTION(BUILD_CLR_LIBS "Build CLR Libraries" OFF)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
add_library(IPhreeqc ${LIB_TYPE} ${IPhreeqc_SOURCES})
|
add_library(IPhreeqc ${LIB_TYPE} ${IPhreeqc_SOURCES})
|
||||||
set_target_properties(IPhreeqc PROPERTIES DEBUG_POSTFIX "d")
|
set_target_properties(IPhreeqc PROPERTIES DEBUG_POSTFIX "d")
|
||||||
|
|
||||||
SET(IPhreeqc_Headers
|
SET(IPhreeqc_Headers
|
||||||
|
${PROJECT_SOURCE_DIR}/src/IPhreeqc.f.inc
|
||||||
|
${PROJECT_SOURCE_DIR}/src/IPhreeqc.f90.inc
|
||||||
${PROJECT_SOURCE_DIR}/src/IPhreeqc.h
|
${PROJECT_SOURCE_DIR}/src/IPhreeqc.h
|
||||||
${PROJECT_SOURCE_DIR}/src/IPhreeqc.hpp
|
${PROJECT_SOURCE_DIR}/src/IPhreeqc.hpp
|
||||||
${PROJECT_SOURCE_DIR}/src/IPhreeqcCallbacks.h
|
${PROJECT_SOURCE_DIR}/src/IPhreeqcCallbacks.h
|
||||||
${PROJECT_SOURCE_DIR}/src/Var.h
|
${PROJECT_SOURCE_DIR}/src/Var.h
|
||||||
)
|
)
|
||||||
|
|
||||||
##if (PHREEQCRM_BUILD_FORTRAN)
|
|
||||||
## SET(PhreeqcRM_Headers
|
|
||||||
## ${PhreeqcRM_Headers}
|
|
||||||
## $(PROJECT_SOURCE_DIR)/RM_interface_F.h
|
|
||||||
## $(PROJECT_SOURCE_DIR)/IPhreeqcPhast/IPhreeqc/IPhreeqc.f90.inc
|
|
||||||
## $(PROJECT_SOURCE_DIR)/IPhreeqcPhast/IPhreeqc/IPhreeqc.f.inc
|
|
||||||
## )
|
|
||||||
##endif ()
|
|
||||||
|
|
||||||
# Setup references for /CLR
|
# Setup references for /CLR
|
||||||
if (MSVC AND BUILD_SHARED_LIBS AND BUILD_CLR_LIBS)
|
if (MSVC AND BUILD_SHARED_LIBS AND BUILD_CLR_LIBS)
|
||||||
@ -305,11 +289,13 @@ if (WIN32)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# install
|
# install
|
||||||
|
if (STANDALONE_BUILD EQUAL 1)
|
||||||
install(TARGETS IPhreeqc DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
install(TARGETS IPhreeqc DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
install(FILES ${IPhreeqc_Headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
install(FILES ${IPhreeqc_Headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
if (BUILD_CLR_LIBS)
|
if (BUILD_CLR_LIBS)
|
||||||
install(FILES "${PROJECT_SOURCE_DIR}/src/phreeqcpp/ZedGraph.dll" DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
install(FILES "${PROJECT_SOURCE_DIR}/src/phreeqcpp/ZedGraph.dll" DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
##IF(MSVC)
|
##IF(MSVC)
|
||||||
## message("PROJECT_BINARY_DIR = ${PROJECT_BINARY_DIR}")
|
## message("PROJECT_BINARY_DIR = ${PROJECT_BINARY_DIR}")
|
||||||
@ -329,7 +315,10 @@ endif()
|
|||||||
## )
|
## )
|
||||||
##ENDIF(MSVC)
|
##ENDIF(MSVC)
|
||||||
|
|
||||||
|
|
||||||
|
if (STANDALONE_BUILD EQUAL 1)
|
||||||
# tests
|
# tests
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
add_subdirectory(tests)
|
add_subdirectory(tests)
|
||||||
|
endif()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user