Salome HOME
Copyright update 2022
[modules/homard.git] / src / tool / CMakeLists.txt
1 # Copyright (C) 2016-2022  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 cmake_minimum_required (VERSION 2.8)
21 PROJECT (Homard C Fortran)
22
23 SET(${PROJECT_NAME_UC}_VERSION_MAJOR 11)
24 SET(${PROJECT_NAME_UC}_VERSION_MINOR 99)
25 SET(${PROJECT_NAME_UC}_VERSION_PATCH 0)
26 SET(${PROJECT_NAME_UC}_VERSION ${${PROJECT_NAME_UC}_VERSION_MAJOR}.${${PROJECT_NAME_UC}_VERSION_MINOR}.${${PROJECT_NAME_UC}_VERSION_PATCH})
27
28 # Fortran options
29 SET(CMAKE_Fortran_FLAGS "-ffixed-line-length-0 -fdefault-double-8 -fdefault-real-8 -fdefault-integer-8 -fimplicit-none -O2")
30
31 # static libraries to build
32 SET(_HT_libs
33   HOMARD_00
34   Suivi_Frontiere
35   Information
36   Modification
37   AV_Conversion
38   Decision
39   Creation_Maillage
40   AP_Conversion
41   ES_Xfig
42   ES_HOMARD
43   ES_MED
44   Utilitaire
45   Gestion_MTU
46   Dependance_Machine
47  )
48
49 FUNCTION(HT_BUILD_LIBRARY dir)
50   FILE(GLOB _f_sources LIST_DIRECTORIES false ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/*.F)
51   FILE(GLOB _c_sources LIST_DIRECTORIES false ${CMAKE_CURRENT_SOURCE_DIR}/${dir}/*.c)
52   INCLUDE_DIRECTORIES(Includes_Generaux ${CMAKE_CURRENT_SOURCE_DIR})
53   ADD_LIBRARY (${dir} STATIC ${_f_sources} ${_c_sources})
54 ENDFUNCTION()
55
56 FOREACH(_HT_lib ${_HT_libs})
57   HT_BUILD_LIBRARY(${_HT_lib})
58 ENDFOREACH()
59
60 # additional libraries to link with
61 SET(_link_LIBRARIES
62   ${HDF5_LIBRARIES}
63   ${MEDFILE_LIBRARIES}
64 )
65
66 # Main executable
67 ADD_EXECUTABLE(homard homard.f)
68 TARGET_LINK_LIBRARIES(homard ${_HT_libs} ${_link_LIBRARIES})
69 INSTALL(TARGETS homard EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_BINS})