Salome HOME
Merge branch 'V8_4_BR'
[modules/smesh.git] / src / MEFISTO2 / CMakeLists.txt
1 # Copyright (C) 2012-2016  CEA/DEN, EDF R&D, OPEN CASCADE
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 # --- options ---
21 # additional include directories
22 INCLUDE_DIRECTORIES(
23   ${KERNEL_INCLUDE_DIRS}
24   ${OpenCASCADE_INCLUDE_DIR}
25   ${HDF5_INCLUDE_DIRS}
26   ${PLATFORM_INCLUDES}
27 )
28
29 # additional preprocessor / compiler flags
30 ADD_DEFINITIONS(
31   ${OpenCASCADE_DEFINITIONS}
32 )
33
34 # libraries to link to
35 SET(_link_LIBRARIES
36   ${OpenCASCADE_FoundationClasses_LIBRARIES}
37   ${KERNEL_SALOMELocalTrace}
38 )
39
40 # --- headers ---
41
42 # header files / no moc processing
43 SET(MEFISTO2D_HEADERS
44   aptrte.h 
45   Rn.h
46 )
47
48 # --- sources ---
49
50 IF(${F2C_FOUND})
51 ADD_DEFINITIONS()
52   SET(F2C_INPUT ${CMAKE_CURRENT_SOURCE_DIR}/trte.f)
53   SET(F2C_OUTPUT trte.c)
54
55   # additional include directories
56   INCLUDE_DIRECTORIES(${f2c_INCLUDE_DIRS})
57
58   # additional preprocessor / compiler flags
59   ADD_DEFINITIONS(-DF2C_BUILD)
60
61
62   # libraries to link to
63   SET(_link_LIBRARIES ${_link_LIBRARIES} ${f2c_LIBRARIES})
64
65   # generate C sources from Fortran
66   ADD_CUSTOM_COMMAND(
67     OUTPUT ${F2C_OUTPUT}
68     COMMAND ${f2c_GENERATOR} ${F2C_INPUT}
69     MAIN_DEPENDENCY ${F2C_INPUT}
70     WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
71   )  
72   # sources / static
73   SET(MEFISTO2D_SOURCES
74       aptrte.cxx
75       ${F2C_OUTPUT}
76   )
77 ELSE(${F2C_FOUND})
78   # sources / static
79   SET(MEFISTO2D_SOURCES
80     aptrte.cxx
81     trte.f
82   )
83 ENDIF(${F2C_FOUND})
84
85 # --- rules ---
86
87 ADD_LIBRARY(MEFISTO2D ${MEFISTO2D_SOURCES})
88 TARGET_LINK_LIBRARIES(MEFISTO2D ${_link_LIBRARIES} )
89
90 #Ignore MSVCRT.lib on WINDOWS in case using f2c code generator
91 IF(WIN32)
92   IF(CMAKE_BUILD_TYPE STREQUAL Debug)
93     IF(${F2C_FOUND})
94       SET_TARGET_PROPERTIES(MEFISTO2D PROPERTIES LINK_FLAGS "/NODEFAULTLIB:MSVCRT")
95     ENDIF(${F2C_FOUND})
96   ENDIF()
97 ENDIF(WIN32)
98
99 INSTALL(TARGETS MEFISTO2D EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS})
100 INSTALL(FILES ${MEFISTO2D_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS})