X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=salome_adm%2Fcmake_files%2FFindPLATFORM.cmake;h=61f3d274d33ad9a329c04d9b6460e461ba068a5b;hb=2e5bd7596d33118439c4841a7bac69a1e2a45136;hp=b6a36caca27d8c313f214e38f108eaa3a41165c3;hpb=288dc1c84630e521220d796b7c88c518f34856d5;p=modules%2Fkernel.git diff --git a/salome_adm/cmake_files/FindPLATFORM.cmake b/salome_adm/cmake_files/FindPLATFORM.cmake index b6a36caca..61f3d274d 100644 --- a/salome_adm/cmake_files/FindPLATFORM.cmake +++ b/salome_adm/cmake_files/FindPLATFORM.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2007-2013 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 @@ -17,25 +17,14 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -MARK_AS_ADVANCED(ISSUE) -FIND_FILE(ISSUE issue /etc) -IF(ISSUE) - SET(WINDOWS 0) -ELSE() - SET(WINDOWS 1) -ENDIF(ISSUE) - IF(WINDOWS) SET(MACHINE WINDOWS) +ELSEIF(CMAKE_SIZEOF_VOID_P EQUAL 8) + SET(MACHINE PCLINUX64) ELSE(WINDOWS) SET(MACHINE PCLINUX) ENDIF(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}) ENDIF(NOT CMAKE_BUILD_TYPE) @@ -44,8 +33,8 @@ IF(NOT CMAKE_BUILD_TYPE) SET(CMAKE_BUILD_TYPE Release) ENDIF(NOT CMAKE_BUILD_TYPE) -IF(WINDOWS) -ELSE(WINDOWS) +IF(WINDOWS OR APPLE) +ELSE(WINDOWS OR APPLE) SET(ADD_WERROR ON) SET(NAMES ACCEPT_SALOME_WARNINGS ACCEPT_${MODULE}_WARNINGS I_AM_A_TROLL_I_DO_NOT_FIX_${MODULE}_WARNINGS) FOREACH(name ${NAMES}) @@ -58,10 +47,10 @@ ELSE(WINDOWS) ENDIF(X${VAL} STREQUAL X1) ENDFOREACH(name ${NAMES}) IF(ADD_WERROR) - SET(CMAKE_C_FLAGS "-Werror") - SET(CMAKE_CXX_FLAGS "-Werror") +# SET(CMAKE_C_FLAGS "-Werror") +# SET(CMAKE_CXX_FLAGS "-Werror") ENDIF(ADD_WERROR) -ENDIF(WINDOWS) +ENDIF(WINDOWS OR APPLE) IF(CMAKE_BUILD_TYPE) IF(WINDOWS) @@ -79,43 +68,33 @@ IF(CMAKE_BUILD_TYPE) ENDIF(WINDOWS) ENDIF(CMAKE_BUILD_TYPE) -SET(PLATFORM_CPPFLAGS) -SET(PLATFORM_LDFLAGS) -SET(PLATFORM_LIBADD) +SET(PLATFORM_LIBS) +SET(PLATFORM_DEFINITIONS) + IF(WINDOWS) - 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 + SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} /W0") + SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} -D_CRT_SECURE_NO_WARNINGS") # To disable windows warnings for strcpy, fopen, ... + SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} -D_SCL_SECURE_NO_WARNINGS") # To disable windows warnings std::copy, std::transform, ... + SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} -DWNT") + SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} -DPPRO_NT") # For medfile + SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} -D_USE_MATH_DEFINES") # At least for MEDMEM + SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} -D_WIN32_WINNT=0x0500") # Windows 2000 or later API is required + SET(PLATFORM_LIBS ${PLATFORM_LIBS} Ws2_32.lib) + SET(PLATFORM_LIBS ${PLATFORM_LIBS} Userenv.lib) # At least for GEOM suit + + IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") # if platform is Windows 64 bit + SET(PLATFORM_CPPFLAGS "${PLATFORM_CPPFLAGS} -D_SECURE_SCL=0 -D_SECURE_SCL_THROWS=0 -D_HAS_ITERATOR_DEBUGGING=0") # To avoid runtime error during checking iterators # to be removed + SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} -D_SECURE_SCL=0 -D_SECURE_SCL_THROWS=0 -D_HAS_ITERATOR_DEBUGGING=0") # To avoid runtime error during checking iterators + ENDIF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") ELSE(WINDOWS) - # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wparentheses) - # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wreturn-type) - # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wmissing-declarations) - # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wunused) - # SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -Wall) - SET(PLATFORM_LIBADD ${PLATFORM_LIBADD} -ldl) + SET(PLATFORM_LIBS ${PLATFORM_LIBS} -ldl) ENDIF(WINDOWS) -SET(PLATFORM_CPPFLAGS ${PLATFORM_CPPFLAGS} -DSIZEOF_FORTRAN_INTEGER=4 -DSIZEOF_LONG=${CMAKE_SIZEOF_VOID_P} -DSIZEOF_INT=4) +SET(SIZE_OF_LONG ${CMAKE_SIZEOF_VOID_P}) # set sizeof(long) the same as size of pointers, because on all memory models (EXCLUDING WINDOWS 64 bit) it is equivalent values +IF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8" AND WINDOWS) # if it platform Windows 64 bit + SET(SIZE_OF_LONG "4") # set sizeof(long) to 4 byte +ENDIF("${CMAKE_SIZEOF_VOID_P}" EQUAL "8" AND WINDOWS) +SET(PLATFORM_DEFINITIONS "${PLATFORM_DEFINITIONS} -DSIZEOF_FORTRAN_INTEGER=4 -DSIZEOF_LONG=${SIZE_OF_LONG} -DSIZEOF_INT=4") +ADD_DEFINITIONS(${PLATFORM_DEFINITIONS}) SET(COMPILATION_WITH_CMAKE ON) - -# 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) - -## MESSAGE(FATAL_ERROR "ZZZZZZZ")