# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR)
-PROJECT(Salome_SALOME_Profile C CXX)
+PROJECT(Salome_SALOME-7.6.0p2_Profile C CXX)
# Ensure a proper linker behavior:
CMAKE_POLICY(SET CMP0003 NEW)
# User options
# ============
OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ON)
-OPTION(SALOME_BUILD_DOC "Generate SALOME SALOME documentation" ON)
+OPTION(SALOME_BUILD_DOC "Generate SALOME SALOME-7.6.0p2 documentation" ON)
IF(SALOME_BUILD_TESTS)
ENABLE_TESTING()
IF(EXISTS ${GUI_ROOT_DIR})
LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files")
FIND_PACKAGE(SalomeGUI REQUIRED)
- SALOME_GUI_WITH_CORBA() #remove this line if you don't need GUI module builded with CORBA
- #remove unnecessary options from this list (see SALOME_GUI_MODE() macro description)
- SALOME_GUI_MODE(SALOME_USE_SALOMEOBJECT SALOME_USE_OCCVIEWER SALOME_USE_VTKVIEWER SALOME_USE_PYCONSOLE
- OPTIONAL SALOME_USE_PLOT2DVIEWER SALOME_USE_GLVIEWER SALOME_USE_GRAPHICSVIEW
- SALOME_USE_QXGRAPHVIEWER SALOME_USE_PVVIEWER SALOME_USE_PYVIEWER
- )
+ FULL_GUI(TRUE) # check whether GUI builded in full mode and with CORBA
ADD_DEFINITIONS(${GUI_DEFINITIONS})
INCLUDE_DIRECTORIES(${GUI_INCLUDE_DIRS})
ELSE(EXISTS ${GUI_ROOT_DIR})
# ===========
SET(SALOME_INSTALL_SCRIPT_PYTHON "${SALOME_INSTALL_SCRIPT_PYTHON}" CACHE PATH "Install path: SALOME Python scripts")
-# Specific to SALOME:
-SET(SALOME_SALOME_PROFILE_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/salome_profile" CACHE PATH "Install path: SALOME SALOME specific data")
-SET(SALOME_SALOME_PROFILE_INSTALL_DOC_GUI "${SALOME_INSTALL_DOC}/gui/${PROJECT_NAME_UC}" CACHE PATH "Install path: SALOME SALOME gui documentation")
-SET(SALOME_SALOME_PROFILE_HTML_STATIC_PATH "${SALOME_SALOME_PROFILE_INSTALL_DOC_GUI}/_static" CACHE PATH "Install path: SALOME SALOME html static data")
+# Specific to SALOME-7.6.0P2:
+SET(SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/salome-7.6.0p2_profile" CACHE PATH "Install path: SALOME SALOME-7.6.0P2 specific data")
+SET(SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_DOC_GUI "${SALOME_INSTALL_DOC}/gui/${PROJECT_NAME_UC}" CACHE PATH "Install path: SALOME SALOME-7.6.0P2 gui documentation")
+SET(SALOME_SALOME-7.6.0P2_PROFILE_HTML_STATIC_PATH "${SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_DOC_GUI}/_static" CACHE PATH "Install path: SALOME SALOME-7.6.0P2 html static data")
MARK_AS_ADVANCED(SALOME_INSTALL_SCRIPT_PYTHON)
SET(_salome_context_BASHRC
${KERNEL_ROOT_DIR}/bin/salome/appliskel/.bashrc
)
-SALOME_INSTALL_SCRIPTS("${_salome_context_BASHRC}" $ENV{SALOME_PROFILE_ROOT_DIR})
+SALOME_INSTALL_SCRIPTS("${_salome_context_BASHRC}" $ENV{SALOME-7.6.0P2_PROFILE_ROOT_DIR})
ADD_CUSTOM_TARGET(html_docs COMMAND ${_cmd})
INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target html_docs)")
-INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ DESTINATION ${SALOME_SALOME_PROFILE_INSTALL_DOC_GUI})
+INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ DESTINATION ${SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_DOC_GUI})
SET(make_clean_files html doctrees)
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${make_clean_files}")
-This directory contains the sources of SALOME's documentation
+This directory contains the sources of SALOME-7.6.0p2's documentation
master_doc = 'index'
# General information about the project.
-project = 'salome'
+project = 'salome-7.6.0p2'
copyright = '2010-2015 CEA/DEN, EDF R&D, OPEN CASCADE, ASTEK INDUSTRIE'
# The version info for the project you're documenting, acts as replacement for
# built documents.
#
# The short X.Y version.
-version = '@SALOMESALOME_MAJOR_VERSION@.@SALOMESALOME_MINOR_VERSION@'
+version = '@SALOMESALOME-7.6.0P2_MAJOR_VERSION@.@SALOMESALOME-7.6.0P2_MINOR_VERSION@'
# The full version, including alpha/beta/rc tags.
-release = '@SALOMESALOME_VERSION@'
+release = '@SALOMESALOME-7.6.0P2_VERSION@'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['@SALOME_SALOME_PROFILE_INSTALL_DOC_GUI@/_static']
+html_static_path = ['@SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_DOC_GUI@/_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_file_suffix = ''
# Output file base name for HTML help builder.
-htmlhelp_basename = 'salomedoc'
+htmlhelp_basename = 'salome-7.6.0p2doc'
# Options for LaTeX output
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, document class [howto/manual]).
latex_documents = [
- ('index', 'salome.tex', 'SALOME User Documentation', 'A. Ribes', 'manual')
+ ('index', 'salome-7.6.0p2.tex', 'SALOME-7.6.0p2 User Documentation', 'A. Ribes', 'manual')
]
# The name of an image file (relative to this directory) to place at the top of
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-SALOME's documentation
+SALOME-7.6.0p2's documentation
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Outline
Introduction
==========================================
-Welcome to SALOME's documentation!
+Welcome to SALOME-7.6.0p2's documentation!
#
# --- resources ---
-SET(SALOME_PROFILE_RESOURCES_FILES
+SET(SALOME-7.6.0P2_PROFILE_RESOURCES_FILES
app_icon.png
splash.png
about.png
)
# --- rules ---
-INSTALL(FILES ${SALOME_PROFILE_RESOURCES_FILES} DESTINATION ${SALOME_SALOME_PROFILE_INSTALL_RES_DATA})
+INSTALL(FILES ${SALOME-7.6.0P2_PROFILE_RESOURCES_FILES} DESTINATION ${SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_RES_DATA})
# --- config ---
-SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml INSTALL ${SALOME_SALOME_PROFILE_INSTALL_RES_DATA})
+SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml INSTALL ${SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_RES_DATA})
# --- sub-directories ---
ADD_SUBDIRECTORY( doc )
<parameter name="standalone" value=""/>
</section>
<section name="splash">
- <parameter name="image" value="%SALOME_PROFILE_ROOT_DIR%/share/salome/resources/salome_profile/splash.png"/>
+ <parameter name="image" value="%SALOME-7.6.0p2_PROFILE_ROOT_DIR%/share/salome/resources/salome-7.6.0p2_profile/splash.png"/>
<parameter name="text_colors" value="#ffffff|#000000"/>
<parameter name="show_percents" value="yes"/>
<parameter name="show_progress" value="yes"/>
<parameter name="font" value="Xirod,12,normal"/>
</section>
<section name="resources">
- <parameter name="LightApp" value="%SALOME_PROFILE_ROOT_DIR%/share/salome/resources/salome_profile"/>
+ <parameter name="LightApp" value="%SALOME-7.6.0p2_PROFILE_ROOT_DIR%/share/salome/resources/salome-7.6.0p2_profile"/>
</section>
</document>
sample.pdf
)
-INSTALL(FILES ${_bin_DOCUMENTS} DESTINATION ${SALOME_SALOME_PROFILE_INSTALL_DOC_GUI})
+INSTALL(FILES ${_bin_DOCUMENTS} DESTINATION ${SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_DOC_GUI})
-This directory contains binaries of SALOME's documentation
+This directory contains binaries of SALOME-7.6.0p2's documentation
# --- rules ---
-QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_SALOME_PROFILE_INSTALL_RES_DATA}")
+QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_SALOME-7.6.0P2_PROFILE_INSTALL_RES_DATA}")
</message>
<message>
<source>ABOUT_CAPTION</source>
- <translation>About SALOME</translation>
+ <translation>About SALOME-7.6.0p2</translation>
</message>
<message>
<source>APP_NAME</source>
- <translation>SALOME </translation>
+ <translation>SALOME-7.6.0p2 </translation>
</message>
<message>
<source>APP_VERSION</source>
- <translation>Vmaster</translation>
+ <translation>V7.6.0p2</translation>
</message>
<message>
<source>ABOUT_LICENSE</source>
</message>
<message>
<source>ABOUT_VERSION</source>
- <translation>Version master</translation>
+ <translation>Version 7.6.0p2</translation>
</message>
<message>
<source>ABOUT_TITLE</source>
- <translation>SALOME</translation>
+ <translation>SALOME-7.6.0p2</translation>
</message>
</context>
</TS>
</message>
<message>
<source>ABOUT_CAPTION</source>
- <translation>A propos de SALOME</translation>
+ <translation>A propos de SALOME-7.6.0p2</translation>
</message>
<message>
<source>APP_NAME</source>
- <translation>SALOME </translation>
+ <translation>SALOME-7.6.0p2 </translation>
</message>
<message>
<source>APP_VERSION</source>
- <translation>Vmaster</translation>
+ <translation>V7.6.0p2</translation>
</message>
<message>
<source>ABOUT_LICENSE</source>
</message>
<message>
<source>ABOUT_VERSION</source>
- <translation>Version master</translation>
+ <translation>Version 7.6.0p2</translation>
</message>
<message>
<source>ABOUT_TITLE</source>
- <translation>SALOME</translation>
+ <translation>SALOME-7.6.0p2</translation>
</message>
</context>
</TS>
</message>
<message>
<source>ABOUT_CAPTION</source>
- <translation>About SALOME</translation>
+ <translation>About SALOME-7.6.0p2</translation>
</message>
<message>
<source>APP_NAME</source>
- <translation>SALOME </translation>
+ <translation>SALOME-7.6.0p2 </translation>
</message>
<message>
<source>APP_VERSION</source>
- <translation>Vmaster</translation>
+ <translation>V7.6.0p2</translation>
</message>
<message>
<source>ABOUT_LICENSE</source>
</message>
<message>
<source>ABOUT_VERSION</source>
- <translation>Version master</translation>
+ <translation>Version 7.6.0p2</translation>
</message>
<message>
<source>ABOUT_TITLE</source>
- <translation>SALOME</translation>
+ <translation>SALOME-7.6.0p2</translation>
</message>
</context>
</TS>
from salomeContextUtils import SalomeContextException
def usage():
+ #exeName = os.path.splitext(os.path.basename(__file__))[0]
+
msg = '''\
Usage: salome [command] [options] [--config=<file,folder,...>]
test Run SALOME tests.
info Display some information about SALOME
help Show this message
+ coffee Yes! SALOME can also make coffee!!
If no command is given, default to start.
Command options:
================
Use salome <command> --help to show help on command ; available for commands:
- start, shell, connect, test, info.
+ start, shell, test.
--config=<file,folder,...>
==========================
See usage for details on commands.
"""
def _startSalome(self, args):
- import os
- import sys
try:
- from setenv import add_path
+ import os
absoluteAppliPath = os.getenv('ABSOLUTE_APPLI_PATH')
+ import sys
path = os.path.realpath(os.path.join(absoluteAppliPath, "bin", "salome"))
- add_path(path, "PYTHONPATH")
- path = os.path.realpath(os.path.join(absoluteAppliPath, "bin", "salome", "appliskel"))
- add_path(path, "PYTHONPATH")
-
+ if not path in sys.path:
+ sys.path[:0] = [path]
except:
pass
sys.path[:0] = pythonpath
#
- def _runAppli(self, args=None):
- if args is None:
- args = []
+ def _runAppli(self, args=[]):
# Initialize SALOME environment
sys.argv = ['runSalome'] + args
import setenv
return proc.communicate()
#
- def _runSession(self, args=None):
- if args is None:
- args = []
+ def _runSession(self, args=[]):
sys.argv = ['runSession'] + args
import runSession
params, args = runSession.configureSession(args, exe="salome shell")
return runSession.runSession(params, args)
#
- def _runConsole(self, args=None):
- if args is None:
- args = []
+ def _runConsole(self, args=[]):
# Initialize SALOME environment
- sys.argv = ['runConsole']
+ sys.argv = ['runConsole'] + args
import setenv
setenv.main(True)
- import runConsole
- return runConsole.connect(args)
+ cmd = ["python", "-c", "import runConsole\nrunConsole.connect()" ]
+ proc = subprocess.Popen(cmd, shell=False, close_fds=True)
+ return proc.communicate()
#
- def _kill(self, args=None):
- if args is None:
- args = []
+ def _kill(self, args=[]):
ports = args
if not ports:
print "Port number(s) not provided to command: salome kill <port(s)>"
pass
#
- def _runTests(self, args=None):
- if args is None:
- args = []
+ def _runTests(self, args=[]):
sys.argv = ['runTests']
import setenv
setenv.main(True)
return runTests.runTests(args, exe="salome test")
#
- def _showInfo(self, args=None):
- if args is None:
- args = []
-
- usage = "Usage: salome info [options]"
- epilog = """\n
-Display some information about SALOME.\n
-Available options are:
- -p,--ports Show list of busy ports (running SALOME instances).
- -v,--version Show running SALOME version.
- -h,--help Show this message.
-"""
- if not args:
- args = ["--version"]
-
- if "-h" in args or "--help" in args:
- print usage + epilog
- return
-
- if "-p" in args or "--ports" in args:
- import PortManager
- ports = PortManager.getBusyPorts()
- print "SALOME instances are running on ports:", ports
- if ports:
- print "Last started instance on port %s"%ports[-1]
-
- if "-v" in args or "--version" in args:
- print "Running with python", platform.python_version()
- self._runAppli(["--version"])
+ def _showInfo(self, unused=None):
+ print "Running with python", platform.python_version()
+ self._runAppli(["--version"])
#
def _usage(self, unused=None):
return __listDirectory(envdDir)
#
-def __getEnvironmentFileNames(args, optionPrefix, checkExistence):
- # special case: extra configuration/environment files are provided by user
- # Search for command-line argument(s) <optionPrefix>=file1,file2,..., filen
- # Search for command-line argument(s) <optionPrefix>=dir1,dir2,..., dirn
- configArgs = [ str(x) for x in args if str(x).startswith(optionPrefix) ]
+def getConfigFileNames(args, checkExistence=False):
+ # special case: configuration files are provided by user
+ # Search for command-line argument(s) --config=file1,file2,..., filen
+ # Search for command-line argument(s) --config=dir1,dir2,..., dirn
+ configOptionPrefix = "--config="
+ configArgs = [ str(x) for x in args if str(x).startswith(configOptionPrefix) ]
- args = [ x for x in args if not x.startswith(optionPrefix) ]
- allLists = [ x.replace(optionPrefix, '') for x in configArgs ]
+ if len(configArgs) == 0:
+ return __getConfigFileNamesDefault(), args, []
+
+ args = [ x for x in args if not x.startswith(configOptionPrefix) ]
+ allLists = [ x.replace(configOptionPrefix, '') for x in configArgs ]
configFileNames = []
unexisting = []
return configFileNames, args, unexisting
#
-def __validate_pair(ob):
- try:
- if not (len(ob) == 2):
- #print "Unexpected result:", ob
- raise ValueError
- except:
- return False
- return True
-#
-def __get_environment_from_batch_command(env_cmd, initial=None):
- """
- Take a command (either a single command or list of arguments)
- and return the environment created after running that command.
- Note that if the command must be a batch file or .cmd file, or the
- changes to the environment will not be captured.
-
- If initial is supplied, it is used as the initial environment passed
- to the child process.
- """
- #if not isinstance(env_cmd, (list, tuple)):
- # env_cmd = [env_cmd]
- # construct the command that will alter the environment
- #env_cmd = subprocess.list2cmdline(env_cmd)
- # create a tag so we can tell in the output when the proc is done
- tag = 'Done running command'
- # construct a command to do accomplish this
- cmd = '{env_cmd} && echo "{tag}"'.format(**vars())
-
- # launch the process
- proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, env=initial, shell=True)
- # parse the output sent to stdout
- lines = proc.stdout
- # consume whatever output occurs until the tag is reached
- #consume(itertools.takewhile(lambda l: tag not in l, lines))
- # define a way to handle each KEY=VALUE line
- handle_line = lambda l: l.rstrip().split('=',1)
- # parse key/values into pairs
- #pairs = map(handle_line, lines)
- pairs = []
- cpt = 0
- while True:
- line = lines.readline()
- cpt = cpt+1
- if tag in line or cpt > 1000:
- break
- if line:
- pairs.append(line.rstrip().split('=',1))
- # make sure the pairs are valid
- valid_pairs = filter(__validate_pair, pairs)
- # construct a dictionary of the pairs
- result = dict(valid_pairs)
- # let the process finish
- proc.communicate()
- return result
-#
-def __subtract(ref, dic):
- result = {}
- for key,val in ref.items():
- if not dic.has_key(key):
- result[key] = val
- else:
- # compare values types
- if (type(dic[key]) != type(val)):
- result[key] = val
- else:
- # compare values
- if isinstance(val, basestring):
- tolist1 = dic[key].split(os.pathsep)
- tolist2 = val.split(os.pathsep)
- diff = list(set(tolist2)-set(tolist1))
- if diff:
- result[key] = os.pathsep.join(diff)
- else:
- result[key] = val
-
- return result
-#
-
-def getConfigFileNames(args, checkExistence=False):
- configOptionPrefix = "--config="
- configArgs = [ str(x) for x in args if str(x).startswith(configOptionPrefix) ]
- if len(configArgs) == 0:
- configFileNames, unexist1 = __getConfigFileNamesDefault(), []
- else:
- # get configuration filenames
- configFileNames, args, unexist1 = __getEnvironmentFileNames(args, configOptionPrefix, checkExistence)
-
- # get extra environment
- extraEnvFileNames, args, unexist2 = __getEnvironmentFileNames(args, "--extra_env=", checkExistence)
- before = __get_environment_from_batch_command("env")
- after = {}
- for filename in extraEnvFileNames:
- after.update(__get_environment_from_batch_command(filename))
- pass
-
- extraEnv = __subtract(after,before)
- return configFileNames, extraEnv, args, unexist1+unexist2
-#
-
def __getScriptPath(scriptName, searchPathList):
scriptName = os.path.expanduser(scriptName)
if os.path.isabs(scriptName):
return json.JSONEncoder.default(self, obj)
#
-def getShortAndExtraArgs(args=None):
- if args is None:
- args = []
+def getShortAndExtraArgs(args=[]):
try:
pos = args.index("--") # raise a ValueError if not found
short_args = args[:pos]
#
# Return an array of ScriptAndArgs objects
-def getScriptsAndArgs(args=None, searchPathList=None):
- if args is None:
- args = []
+def getScriptsAndArgs(args=[], searchPathList=None):
short_args, extra_args = getShortAndExtraArgs(args)
args = short_args
-This directory contains the tests of SALOME
+This directory contains the tests of SALOME-7.6.0p2