Salome HOME
Cancel computation for ghs3d
[modules/kernel.git] / salome_adm / cmake_files / FindPLATFORM.cmake
1 #  Copyright (C) 2007-2010  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.
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 MARK_AS_ADVANCED(ISSUE)
21 FIND_FILE(ISSUE issue /etc)
22 IF(ISSUE)
23   SET(WINDOWS 0)
24 ELSE()
25   SET(WINDOWS 1)
26 ENDIF(ISSUE)
27
28 IF(WINDOWS)
29   SET(MACHINE WINDOWS)
30 ELSE(WINDOWS)
31   SET(MACHINE PCLINUX)
32 ENDIF(WINDOWS)
33
34 SET(CMAKE_INSTALL_PREFIX_ENV $ENV{CMAKE_INSTALL_PREFIX})
35 IF(CMAKE_INSTALL_PREFIX_ENV)
36   SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX_ENV} CACHE PATH "installation prefix" FORCE)
37 ENDIF(CMAKE_INSTALL_PREFIX_ENV)
38
39 IF(NOT CMAKE_BUILD_TYPE)
40   SET(CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE})
41 ENDIF(NOT CMAKE_BUILD_TYPE)
42
43 IF(WINDOWS)
44 ELSE(WINDOWS)
45   SET(ADD_WERROR ON)
46   SET(NAMES ACCEPT_SALOME_WARNINGS ACCEPT_${MODULE}_WARNINGS I_AM_A_TROLL_I_DO_NOT_FIX_${MODULE}_WARNINGS)
47   FOREACH(name ${NAMES})
48     SET(VAL $ENV{${name}})
49     IF(X${VAL} STREQUAL X0)
50       SET(ADD_WERROR ON)
51     ENDIF(X${VAL} STREQUAL X0)
52     IF(X${VAL} STREQUAL X1)
53       SET(ADD_WERROR OFF)
54     ENDIF(X${VAL} STREQUAL X1)
55   ENDFOREACH(name ${NAMES})
56   IF(ADD_WERROR)
57     SET(CMAKE_C_FLAGS "-Werror")
58     SET(CMAKE_CXX_FLAGS "-Werror")
59   ENDIF(ADD_WERROR)
60 ENDIF(WINDOWS)
61
62 IF(CMAKE_BUILD_TYPE)
63   IF(WINDOWS)
64     MARK_AS_ADVANCED(CLEAR CMAKE_CONFIGURATION_TYPES)
65     SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "compilation types" FORCE)
66   ELSE(WINDOWS)
67     IF(CMAKE_BUILD_TYPE STREQUAL Debug)
68       SET(CMAKE_C_FLAGS_DEBUG "-g")
69       SET(CMAKE_CXX_FLAGS_DEBUG "-g")
70     ENDIF(CMAKE_BUILD_TYPE STREQUAL Debug)
71     IF(CMAKE_BUILD_TYPE STREQUAL Release)
72       SET(CMAKE_C_FLAGS_RELEASE "-O1 -DNDEBUG")
73       SET(CMAKE_CXX_FLAGS_RELEASE "-O1 -DNDEBUG")
74     ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
75   ENDIF(WINDOWS)
76 ENDIF(CMAKE_BUILD_TYPE)
77
78 SET(PLATFORM_CPPFLAGS)
79 SET(PLATFORM_LDFLAGS)
80 SET(PLATFORM_LIBADD)
81 IF(WINDOWS)
82   SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} /W0)
83   SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_CRT_SECURE_NO_WARNINGS)  # To disable windows warnings for strcpy, fopen, ...
84   SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_SCL_SECURE_NO_WARNINGS)  # To disable windows warnings std::copy, std::transform, ...
85   SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DWNT)
86   SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DPPRO_NT) # For medfile
87   SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_USE_MATH_DEFINES) # At least for MEDMEM
88   SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_WIN32_WINNT=0x0500) # Windows 2000 or later API is required
89   SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} Ws2_32.lib)
90   SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} Userenv.lib) # At least for GEOM suit
91 ELSE(WINDOWS)
92   # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wparentheses)
93   # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wreturn-type)
94   # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wmissing-declarations)
95   # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wunused)
96   # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wall)
97   SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} -ldl)
98 ENDIF(WINDOWS)
99
100 SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DSIZEOF_FORTRAN_INTEGER=4 -DSIZEOF_LONG=${CMAKE_SIZEOF_VOID_P} -DSIZEOF_INT=4)
101
102 #  SET(PLATFORM_CPPFLAGS)
103 #  #  #  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DWNT -D_CRT_SECURE_NO_WARNINGS)
104 #  #  SET(RM del)
105 #ELSE(WINDOWS)
106 #  #  SET(RM /bin/rm)
107 #ENDIF(WINDOWS)
108
109 ### SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_DEBUG_)
110
111 ##SET(RCP rcp)
112 ##SET(RSH rsh)
113 ##SET(RCP rcp)
114
115 ## MESSAGE(FATAL_ERROR "ZZZZZZZ")