]> SALOME platform Git repositories - modules/yacs.git/blobdiff - adm/cmake/SalomeMacros.cmake
Salome HOME
Synchronize adm files
[modules/yacs.git] / adm / cmake / SalomeMacros.cmake
index 8c85651f31fd1ada802d8544d171b3ad5eb9f237..205f7893a679c5f3bd0cde6707873a5f5cd1f8d4 100755 (executable)
@@ -120,10 +120,25 @@ MACRO(SALOME_INSTALL_SCRIPTS file_list path)
     INSTALL(FILES ${PREFIX}${file} DESTINATION ${path} PERMISSIONS ${PERMS})
     GET_FILENAME_COMPONENT(ext ${file} EXT)
     IF(ext STREQUAL .py)
-      INSTALL(CODE "MESSAGE(STATUS \"py compiling ${CMAKE_INSTALL_PREFIX}/${path}/${file_name}\")")
-      INSTALL(CODE "SET(CMD \"import py_compile ; py_compile.compile('${CMAKE_INSTALL_PREFIX}/${path}/${file_name}')\")")
-      INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"\${CMD}\")")
-      INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -O -c \"\${CMD}\")")
+      # FILE TIMESTAMP command appears in cmake-2.8.11
+      IF(${CMAKE_VERSION} VERSION_LESS "2.8.11")
+        INSTALL(CODE "MESSAGE(STATUS \"py compiling ${CMAKE_INSTALL_PREFIX}/${path}/${file_name}\")")
+        INSTALL(CODE "SET(CMD \"import py_compile ; py_compile.compile('${CMAKE_INSTALL_PREFIX}/${path}/${file_name}')\")")
+        INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"\${CMD}\")")
+        INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -O -c \"\${CMD}\")")
+      ELSE(${CMAKE_VERSION} VERSION_LESS "2.8.11")
+        GET_FILENAME_COMPONENT(file_we ${file_name} NAME_WE)
+        INSTALL(CODE "SET(CMD \"import py_compile ; py_compile.compile('${CMAKE_INSTALL_PREFIX}/${path}/${file_name}')\")")
+        INSTALL(CODE "FILE(TIMESTAMP \"${CMAKE_INSTALL_PREFIX}/${path}/${file_name}\"            py_time)")
+        INSTALL(CODE "IF(EXISTS \"${CMAKE_INSTALL_PREFIX}/${path}/${file_we}.pyc\") \n  FILE(TIMESTAMP \"${CMAKE_INSTALL_PREFIX}/${path}/${file_we}.pyc\" pyc_time) \n ELSE()\n  SET(pyc_time 0) \n ENDIF() ")
+        INSTALL(CODE "IF(EXISTS \"${CMAKE_INSTALL_PREFIX}/${path}/${file_we}.pyo\") \n  FILE(TIMESTAMP \"${CMAKE_INSTALL_PREFIX}/${path}/${file_we}.pyo\" pyo_time) \n ELSE()\n  SET(pyo_time 0) \n ENDIF() ")
+        #INSTALL(CODE "MESSAGE(STATUS \"\${py_time} \${pyc_time} \")")
+        INSTALL(CODE "STRING(COMPARE LESS \${pyc_time} \${py_time} to_install_pyc)")
+        INSTALL(CODE "STRING(COMPARE LESS \${pyo_time} \${py_time} to_install_pyo)")
+        INSTALL(CODE "IF (\${to_install_pyc} OR \${to_install_pyo}) \n MESSAGE(STATUS \"py compiling ${CMAKE_INSTALL_PREFIX}/${path}/${file_name}\") \n ENDIF()")
+        INSTALL(CODE "IF (\${to_install_pyc}) \n EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c \"\${CMD}\") \n ENDIF()")
+        INSTALL(CODE "IF (\${to_install_pyo}) \n EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -O -c \"\${CMD}\") \n ENDIF()")
+      ENDIF(${CMAKE_VERSION} VERSION_LESS "2.8.11")
     ENDIF(ext STREQUAL .py)
   ENDFOREACH(file ${file_list})
 ENDMACRO(SALOME_INSTALL_SCRIPTS)
@@ -832,12 +847,18 @@ MACRO(SALOME_GENERATE_TESTS_ENVIRONMENT output)
        SET(_env "${_item}=$ENV{${_item}};${_env_${_item}}${sep}${_env}")
      ENDIF()
    ELSE()
-     SET(_env "${_item}=$ENV{${_item}}:${_env_${_item}}${sep}${_env}")
+     STRING(REPLACE ";" ":" _iii "$ENV{${_item}}")
+     SET(_env "${_item}=${_iii}:${_env_${_item}}${sep}${_env}")
    ENDIF()
  ENDFOREACH()
 
  # Get module name as substring of "Salome<ModuleName>"
- STRING(SUBSTRING "${PROJECT_NAME}" 6 -1 PRNAME) 
+ STRING(REGEX MATCH "^Salome" _is_salome_project ${PROJECT_NAME})
+ IF(_is_salome_project)
+   STRING(SUBSTRING "${PROJECT_NAME}" 6 -1 PRNAME) 
+ ELSE()
+   SET(PRNAME ${PROJECT_NAME})
+ ENDIF()
  SET(_env "${PRNAME}_ROOT_DIR=${CMAKE_INSTALL_PREFIX}${sep}${_env}")
   
  # Creating follow string for Windows environement: