diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a21d3fe..0ef92c0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -132,6 +132,7 @@ endif() add_custom_target(generate_headers COMMAND ${PYTHON_EXECUTABLE} "${CMAKE_SOURCE_DIR}/dev/generate_headers.py") + ### COOLPROP LIB or DLL ### if (COOLPROP_STATIC_LIBRARY) add_library(${app_name} STATIC ${APP_SOURCES}) @@ -431,6 +432,21 @@ if (COOLPROP_MATLAB_MODULE) install (TARGETS PropsSI HAPropsSI DESTINATION ${CMAKE_INSTALL_PREFIX}/MATLAB/${CMAKE_SYSTEM_NAME}_${BITNESS}bit) endif() +if (COOLPROP_PYTHON_BINARIES) + add_custom_target(CoolProp + COMMAND ${PYTHON_EXECUTABLE} setup.py bdist_wheel bdist_wininst --dist-dir=${CMAKE_INSTALL_PREFIX}/Python + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/wrappers/Python + ) +endif() + +if (COOLPROP_PYTHON_PYPI) + + add_custom_target(CoolProp + COMMAND ${PYTHON_EXECUTABLE} prepare_pypi.py --dist-dir=${CMAKE_INSTALL_PREFIX}/Python + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/wrappers/Python/pypi + ) +endif() + if (COOLPROP_PYTHON_LOCAL_INSTALL) set(SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/wrappers/Python/setup.py.in") set(SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py") diff --git a/dev/buildbot/master/master.cfg b/dev/buildbot/master/master.cfg index 1428198f..731fec25 100644 --- a/dev/buildbot/master/master.cfg +++ b/dev/buildbot/master/master.cfg @@ -49,7 +49,7 @@ from buildbot.steps.shell import ShellCommand from buildbot.steps.slave import MakeDirectory, RemoveDirectory from buildbot.steps.transfer import DirectoryUpload -def sphinx_slave(generator = "Unix Makefiles", git_mode = 'incremental'): +def sphinx_slave(git_mode = 'incremental'): factory = BuildFactory() # Check out sources factory.addStep(Git(repourl='git://github.com/CoolProp/CoolProp', mode=git_mode, submodules = True, progress=True, haltOnFailure = True)) @@ -61,6 +61,23 @@ def sphinx_slave(generator = "Unix Makefiles", git_mode = 'incremental'): factory.addStep(DirectoryUpload(slavesrc="Web/_build/html",masterdest="public_html/sphinx",url="sphinx",compress="bz2")) return factory +def python_slave(key, generator = "Unix Makefiles", cmake_args = {}, cmake_env = {}, git_mode = 'incremental'): + factory = BuildFactory() + working_folder = "build/Python_" + key + + # Check out sources + factory.addStep(Git(repourl='git://github.com/CoolProp/CoolProp', mode=git_mode, submodules = True, progress=True, haltOnFailure = True)) + # Remove the temporary folder for installs + factory.addStep(RemoveDirectory(dir="build/install_root", haltOnFailure = True)) + + factory.addStep(ShellCommand(command=["cmake", "../..", "-DCOOLPROP_PYTHON_"+key+"=ON"]+cmake_args, + env = cmake_env, + workdir= working_folder, + haltOnFailure = True)) + factory.addStep(ShellCommand(command=["cmake", "--build", ".", "--target", "CoolProp"]+build_args, workdir = working_folder, haltOnFailure = True)) + + return factory + def cmake_slave(mod_name, git_mode = 'incremental', install = True, cmake_args = [], build_args = [], ctest_args = [], cmake_env={}, test = True): """ Parameters diff --git a/wrappers/Python/pypi/prepare_pypi.py b/wrappers/Python/pypi/prepare_pypi.py index ace6079a..aec05e74 100644 --- a/wrappers/Python/pypi/prepare_pypi.py +++ b/wrappers/Python/pypi/prepare_pypi.py @@ -32,14 +32,14 @@ if __name__=='__main__': try: collect(tmp) - - # Try to make the source distro - subprocess.check_call(['python','setup.py','sdist'], shell = True, cwd = tmp, stdout = sys.stdout, stderr = sys.stderr) + + # Make the source distro in this folder + subprocess.check_call(['python','setup.py','sdist'] + sys.argv[1::], shell = True, cwd = tmp, stdout = sys.stdout, stderr = sys.stderr) except BaseException as B: - #shutil.rmtree(tmp) + shutil.rmtree(tmp) raise else: pass - #shutil.rmtree(tmp) \ No newline at end of file + shutil.rmtree(tmp) \ No newline at end of file