Salome HOME
*** empty log message ***
[modules/kernel.git] / salome_adm / cmake_files / FindPLATFORM.cmake
index 28fd28803bea33df1d5b15a7d82f7833fcb4e8f3..5feb823ad2a910e162ade89451a57295e5f06bc0 100644 (file)
@@ -1,7 +1,4 @@
-#  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
-#
-#  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-#  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+#  Copyright (C) 2007-2010  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 #  This library is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU Lesser General Public
@@ -19,6 +16,7 @@
 #
 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+
 MARK_AS_ADVANCED(ISSUE)
 FIND_FILE(ISSUE issue /etc)
 IF(ISSUE)
@@ -29,36 +27,62 @@ ENDIF(ISSUE)
 
 IF(WINDOWS)
   SET(MACHINE WINDOWS)
-  SET(PLATFORM_CPPFLAGS)
-  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DWNT)
-  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DPPRO_NT)
-  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} /W0)
-  #  #  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DWNT -D_CRT_SECURE_NO_WARNINGS)
-  #  #  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_WIN32_WINNT=0x0500)
-  #  SET(RM del)
 ELSE(WINDOWS)
   SET(MACHINE PCLINUX)
-  SET(PLATFORM_CPPFLAGS)
-  #  SET(RM /bin/rm)
 ENDIF(WINDOWS)
 
-IF(WINDOWS)
+SET(CMAKE_INSTALL_PREFIX_ENV $ENV{CMAKE_INSTALL_PREFIX})
+IF(CMAKE_INSTALL_PREFIX_ENV)
+  SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX_ENV} CACHE PATH "installation prefix" FORCE)
+ENDIF(CMAKE_INSTALL_PREFIX_ENV)
+
+IF(NOT CMAKE_BUILD_TYPE)
   SET(CMAKE_BUILD_TYPE $ENV{CMAKE_BUILD_TYPE})
-  IF(CMAKE_BUILD_TYPE STREQUAL Release)
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
+IF(CMAKE_BUILD_TYPE)
+  IF(WINDOWS)
     MARK_AS_ADVANCED(CLEAR CMAKE_CONFIGURATION_TYPES)
-    SET(CMAKE_CONFIGURATION_TYPES Release CACHE STRING "compilation types" FORCE)
-  ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
-ENDIF(WINDOWS)
+    SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "compilation types" FORCE)
+  ELSE(WINDOWS)
+    IF(CMAKE_BUILD_TYPE STREQUAL Release)
+      SET(CMAKE_C_FLAGS_RELEASE "-O1 -DNDEBUG")
+      SET(CMAKE_CXX_FLAGS_RELEASE "-O1 -DNDEBUG")
+    ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
+  ENDIF(WINDOWS)
+ENDIF(CMAKE_BUILD_TYPE)
 
+SET(PLATFORM_CPPFLAGS)
+SET(PLATFORM_LDFLAGS)
+SET(PLATFORM_LIBADD)
 IF(WINDOWS)
-  SET(CMAKE_INSTALL_PREFIX_ENV $ENV{CMAKE_INSTALL_PREFIX})
-  IF(CMAKE_INSTALL_PREFIX_ENV)
-    SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX_ENV} CACHE PATH "installation prefix" FORCE)
-  ENDIF(CMAKE_INSTALL_PREFIX_ENV)
+  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} /W0)
+  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_CRT_SECURE_NO_WARNINGS)  # To disable windows warnings for strcpy, fopen, ...
+  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_SCL_SECURE_NO_WARNINGS)  # To disable windows warnings std::copy, std::transform, ...
+  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DWNT)
+  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DPPRO_NT) # For medfile
+  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_USE_MATH_DEFINES) # At least for MEDMEM
+  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_WIN32_WINNT=0x0500) # Windows 2000 or later API is required
+  SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} Ws2_32.lib)
+  SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} Userenv.lib) # At least for GEOM suit
+ELSE(WINDOWS)
+  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wall)
+  SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} -ldl)
 ENDIF(WINDOWS)
 
-## SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_DEBUG_)
+SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DSIZEOF_FORTRAN_INTEGER=4 -DSIZEOF_LONG=${CMAKE_SIZEOF_VOID_P} -DSIZEOF_INT=4)
+
+#  SET(PLATFORM_CPPFLAGS)
+#  #  #  SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DWNT -D_CRT_SECURE_NO_WARNINGS)
+#  #  SET(RM del)
+#ELSE(WINDOWS)
+#  #  SET(RM /bin/rm)
+#ENDIF(WINDOWS)
+
+### SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -D_DEBUG_)
+
+##SET(RCP rcp)
+##SET(RSH rsh)
+##SET(RCP rcp)
 
-#SET(RCP rcp)
-#SET(RSH rsh)
-#SET(RCP rcp)
+## MESSAGE(FATAL_ERROR "ZZZZZZZ")