Salome HOME
181eca976053d9c9db0c19b7b106a9c80438a772
[modules/hydrosolver.git] / src / salome_hydro / telemac2d / CMakeLists.txt
1 #  Copyright (C) 2012-2013 EDF
2 #
3 #  This file is part of SALOME HYDRO module.
4 #
5 #  SALOME HYDRO module is free software: you can redistribute it and/or modify
6 #  it under the terms of the GNU General Public License as published by
7 #  the Free Software Foundation, either version 3 of the License, or
8 #  (at your option) any later version.
9 #
10 #  SALOME HYDRO module is distributed in the hope that it will be useful,
11 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #  GNU General Public License for more details.
14 #
15 #  You should have received a copy of the GNU General Public License
16 #  along with SALOME HYDRO module.  If not, see <http://www.gnu.org/licenses/>.
17
18 ADD_SUBDIRECTORY(eficas)
19
20 # --- Python files ---
21
22 SET(PYFILES
23   __init__.py
24   polygon.py
25 )
26
27 SET(INSTALL_DIR ${SALOME_INSTALL_PYTHON}/salome/hydro/telemac2d)
28
29 # --- rules ---
30
31 SALOME_INSTALL_SCRIPTS("${PYFILES}" ${INSTALL_DIR})
32
33 # # This macro is used to transform the list of libraries against which the
34 # # module is linked into a list of linker flags (-L and -l). If we just use the
35 # # list of libraries in the linker command, the full path of the libraries is
36 # # registered in the module dependencies, so it doesn't work when the installation
37 # # is moved.
38 # MACRO(LIB_LIST_TO_LINKER_FLAGS LINKER_FLAGS_VAR LIB_LIST)
39 #   SET(${LINKER_FLAGS_VAR})
40 #   FOREACH(LIB ${LIB_LIST})
41 #     GET_FILENAME_COMPONENT(DIRNAME ${LIB} PATH)
42 #     # Get the library filename without the shortest extension. We can't use
43 #     # command GET_FILENAME_COMPONENT with option NAME_WE because it returns
44 #     # the filename without the longest extension. For example, we need to get
45 #     # "libpython2.7" from "libpython2.7.so" and not "libpython2".
46 #     GET_FILENAME_COMPONENT(LIBFILENAME ${LIB} NAME)
47 #     STRING(FIND ${LIBFILENAME} "." DOTPOS REVERSE)
48 #     STRING(SUBSTRING ${LIBFILENAME} 0 ${DOTPOS} FILENAME_WO_EXT)
49 #     STRING(SUBSTRING ${FILENAME_WO_EXT} 3 -1 LIBNAME)
50 #     LIST(APPEND ${LINKER_FLAGS_VAR} "-L${DIRNAME}" "-l${LIBNAME}")
51 #   ENDFOREACH(LIB ${LIB_LIST})
52 # ENDMACRO(LIB_LIST_TO_LINKER_FLAGS)
53 #
54 # SET (MEDFILE_LIBRARIES ${MED3HOME}/lib/libmedC.so)
55 # LIB_LIST_TO_LINKER_FLAGS(LINKER_FLAGS "${TELEMAC_LIBRARIES};${HDF5_hdf5_LIBRARY};${MEDFILE_LIBRARIES};${PYTHON_LIBRARY}")
56 #
57 # # Python wrapping for Telemac2D created with f2py
58 # SET(T2D_WRAP_API_LIB _apit2d.so)
59 # SET(T2D_WRAP_API_PYF_FILE apit2d.pyf)
60 # SET(T2D_WRAP_API_SRC_FILES ${TELEMAC_API_SRC_DIR}/api_handle_var_t2d.f90
61 #                            ${TELEMAC_API_SRC_DIR}/api_interface_t2d.f90
62 #                            ${TELEMAC_API_SRC_DIR}/api_handle_error_t2d.f90)
63 #
64 # # This sed string is used to add necessary definitions to the pyf file
65 # SET(SEDSTRING "s:python module _apit2d ! in:python module _apit2d ! in\\nusercode '''const int nb_var_t2d=100\\;\\n''':")
66 #
67 # ADD_CUSTOM_COMMAND(OUTPUT ${T2D_WRAP_API_LIB}
68 #                    COMMAND f2py -c ${T2D_WRAP_API_PYF_FILE} -I${TELEMAC_INCLUDE_DIR} ${LINKER_FLAGS}
69 #                    MAIN_DEPENDENCY ${T2D_WRAP_API_PYF_FILE}
70 #                   )
71 #
72 # ADD_CUSTOM_COMMAND(OUTPUT ${T2D_WRAP_API_PYF_FILE}
73 #                    COMMAND f2py -h ${T2D_WRAP_API_PYF_FILE} -m _apit2d ${T2D_WRAP_API_SRC_FILES}
74 #                            skip: get_boolean_t2d_d get_double_t2d_d get_integer_t2d_d get_string_t2d_d get_var_size_t2d_d
75 #                                  set_boolean_t2d_d set_double_t2d_d set_integer_t2d_d set_string_t2d_d :
76 #                    COMMAND sed -i -e \"${SEDSTRING}\" ${T2D_WRAP_API_PYF_FILE}
77 #                    MAIN_DEPENDENCY ${T2D_WRAP_API_SRC_FILES}
78 #                   )
79 #
80 # ADD_CUSTOM_TARGET(BUILD_T2D_WRAP_API_LIB ALL DEPENDS ${T2D_WRAP_API_LIB})
81 # INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${T2D_WRAP_API_LIB} DESTINATION ${INSTALL_DIR})
82 #