Compare commits
30 Commits
devel
...
wip/static
Author | SHA1 | Date |
---|---|---|
|
5e0cfeee90 | |
|
d7ed120bd8 | |
|
af38ba8f09 | |
|
3c006c9a94 | |
|
9784020cc3 | |
|
3ba8b5040c | |
|
474fe928ec | |
|
6ed871be55 | |
|
4d761f0038 | |
|
0f458aa4f6 | |
|
8bffe71091 | |
|
528db3aafe | |
|
d1da08e6d3 | |
|
b73e38611c | |
|
0465856f6b | |
|
29fa12781d | |
|
635b5d1625 | |
|
c790d892f7 | |
|
285e4a6ee1 | |
|
7825ae9eb3 | |
|
08fe3a10fd | |
|
e55484b101 | |
|
24aeffd8f0 | |
|
a2236debb9 | |
|
aa60c8c9af | |
|
d60a2603dd | |
|
f511097298 | |
|
d93d76d5e7 | |
|
bc69b3f013 | |
|
fe0057149a |
|
@ -0,0 +1,45 @@
|
|||
linux:
|
||||
image: python:3.8
|
||||
# make a docker daemon available for cibuildwheel to use
|
||||
services:
|
||||
- name: docker:dind
|
||||
entrypoint: ["env", "-u", "DOCKER_HOST"]
|
||||
command: ["dockerd-entrypoint.sh"]
|
||||
variables:
|
||||
DOCKER_HOST: tcp://docker:2375/
|
||||
DOCKER_DRIVER: overlay2
|
||||
# See https://github.com/docker-library/docker/pull/166
|
||||
DOCKER_TLS_CERTDIR: ""
|
||||
script:
|
||||
- curl -sSL https://get.docker.com/ | sh
|
||||
- python -m pip install cibuildwheel==2.11.3
|
||||
- cibuildwheel --output-dir wheelhouse
|
||||
parallel:
|
||||
matrix:
|
||||
- CIBW_BUILD:
|
||||
- cp36-manylinux*
|
||||
- cp37-manylinux*
|
||||
- cp38-manylinux*
|
||||
- cp39-manylinux*
|
||||
- cp310-manylinux*
|
||||
- cp311-manylinux*
|
||||
- pp37-manylinux*
|
||||
- pp38-manylinux*
|
||||
- pp39-manylinux*
|
||||
artifacts:
|
||||
paths:
|
||||
- wheelhouse/
|
||||
|
||||
#windows:
|
||||
# image: mcr.microsoft.com/windows/servercore:1809
|
||||
# before_script:
|
||||
# - choco install python -y --version 3.8.6
|
||||
# - choco install git.install -y
|
||||
# - py -m pip install cibuildwheel==2.11.3
|
||||
# script:
|
||||
# - py -m cibuildwheel --output-dir wheelhouse --platform windows
|
||||
# artifacts:
|
||||
# paths:
|
||||
# - wheelhouse/
|
||||
# tags:
|
||||
# - windows
|
|
@ -0,0 +1,33 @@
|
|||
#This is needed for poetry to recognise the top level module
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
#TODO not PEP302 complient -probably a big porting job
|
||||
coriolis_package_dir = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
os.environ["CORIOLIS_TOP"] = coriolis_package_dir
|
||||
CORIOLIS_DATA = os.path.join(os.path.dirname(__file__), 'data')
|
||||
CORIOLIS_BIN = os.path.join(CORIOLIS_DATA,"bin")
|
||||
|
||||
def _program(name, args):
|
||||
return subprocess.call([os.path.join(CORIOLIS_BIN, name)] + args, close_fds=False)
|
||||
|
||||
def blif2vst():
|
||||
raise SystemExit(_program("blif2vst.py", sys.argv[1:]))
|
||||
|
||||
def cx2y():
|
||||
raise SystemExit(_program("cx2y", sys.argv[1:]))
|
||||
|
||||
def cyclop():
|
||||
raise SystemExit(_program("cyclop", sys.argv[1:]))
|
||||
|
||||
def tutorial():
|
||||
raise SystemExit(_program("tutorial", sys.argv[1:]))
|
||||
|
||||
def unittests():
|
||||
raise SystemExit(_program("unittests", sys.argv[1:]))
|
||||
|
||||
def yosys_coriolis():
|
||||
raise SystemExit(_program("yosys.py", sys.argv[1:]))
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
option(CHECK_DATABASE "Run database in full check mode (very slow)" OFF)
|
||||
option(USE_LIBBFD "Link with BFD libraries to print stack traces" OFF)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
set(ignoreVariables "${BUILD_DOC} ${CMAKE_INSTALL_DIR}")
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
|||
setup_qt()
|
||||
|
||||
find_package(Libexecinfo REQUIRED)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development.Module)
|
||||
find_package(PythonSitePackages REQUIRED)
|
||||
find_package(LEFDEF REQUIRED)
|
||||
find_package(FLUTE REQUIRED)
|
||||
|
|
|
@ -50,13 +50,13 @@
|
|||
${QtX_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${LIBXML2_LIBRARIES}
|
||||
${Python_LIBRARIES} -lutil
|
||||
-lutil
|
||||
${LIBEXECINFO_LIBRARIES}
|
||||
)
|
||||
|
||||
add_library( Seabreeze ${cpps} ${mocCpps} ${pyCpps} )
|
||||
set_target_properties( Seabreeze PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
#target_link_libraries( Seabreeze ${depLibs} )
|
||||
target_link_libraries( Seabreeze ${depLibs} )
|
||||
|
||||
add_python_module( "${pyCpps}"
|
||||
"${pyIncludes}"
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
option(CHECK_DATABASE "Run database in full check mode (very slow)" OFF)
|
||||
option(USE_LIBBFD "Link with BFD libraries to print stack traces" OFF)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
|
||||
find_package(Bootstrap REQUIRED)
|
||||
|
@ -19,7 +19,7 @@
|
|||
setup_boost()
|
||||
setup_qt()
|
||||
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development.Module)
|
||||
find_package(PythonSitePackages REQUIRED)
|
||||
find_package(FLUTE REQUIRED)
|
||||
find_package(HURRICANE REQUIRED)
|
||||
|
|
|
@ -90,12 +90,12 @@ endif ( CHECK_DETERMINISM )
|
|||
${QtX_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${LIBXML2_LIBRARIES}
|
||||
${Python_LIBRARIES} -lutil
|
||||
-lutil
|
||||
)
|
||||
|
||||
add_library( anabatic ${cpps} )
|
||||
set_target_properties( anabatic PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
#target_link_libraries( anabatic ${depLibs} )
|
||||
target_link_libraries( anabatic ${depLibs} )
|
||||
|
||||
add_python_module( "${pyCpps}"
|
||||
"${pyIncludes}"
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
|
||||
project(Bootstrap)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.0)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
set(ignoreVariables USE_LIBBFD "${BUILD_DOC} ${CMAKE_INSTALL_DIR}")
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
|||
|
||||
list(INSERT CMAKE_MODULE_PATH 0 "${Bootstrap_SOURCE_DIR}/cmake_modules/")
|
||||
find_package(Bootstrap REQUIRED)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development )
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development.Module )
|
||||
find_package(PythonSitePackages REQUIRED)
|
||||
print_cmake_module_path()
|
||||
|
||||
|
|
|
@ -7,6 +7,10 @@
|
|||
if(COMMAND CMAKE_POLICY)
|
||||
cmake_policy(SET CMP0003 NEW)
|
||||
cmake_policy(SET CMP0005 NEW)
|
||||
cmake_policy(SET CMP0079 NEW)
|
||||
cmake_policy(SET CMP0022 NEW)
|
||||
cmake_policy(SET CMP0060 NEW)
|
||||
cmake_policy(SET CMP0095 NEW)
|
||||
#if(NOT (CMAKE_VERSION VERSION_LESS 2.8.0))
|
||||
# cmake_policy(SET CMP0014 OLD)
|
||||
#endif()
|
||||
|
@ -131,7 +135,7 @@
|
|||
# Build <PROJECT>_INCLUDE_DIR & <PROJECT>_LIBRARIES and sets up <PROJECT>_FOUND
|
||||
# Usage: set_library_path(<PROJECT> <library>)
|
||||
#
|
||||
# May be used any number of time on the same <PROJECT> to create a list of
|
||||
#PYTHON_NEW May be used any number of time on the same <PROJECT> to create a list of
|
||||
# <library>.
|
||||
#
|
||||
macro(set_libraries_path configname library)
|
||||
|
@ -148,7 +152,14 @@
|
|||
set(${configname}_FOUND "NOTFOUND")
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# sets that a library is expected to have unresolved symbols
|
||||
# Usage: set_library_unresolved_symbols(<PROJECT>)
|
||||
#
|
||||
# Should be used before set_libraries_path.
|
||||
macro(set_has_unresolved_symbols configname)
|
||||
set(${configname}_LIBRARIES "-Wl,--unresolved-symbols=ignore-in-shared-libs" ${${configname}_LIBRARIES})
|
||||
endmacro()
|
||||
|
||||
#
|
||||
# Checks if a set of libraries has been found, could be blocking or not.
|
||||
|
@ -396,9 +407,11 @@
|
|||
set( pyDeplibs ${clib} ${deplibs} )
|
||||
|
||||
add_library( ${clib} ${pyCpps} )
|
||||
set_target_properties( ${clib} PROPERTIES VERSION ${version} SOVERSION ${soversion} )
|
||||
set_target_properties( ${clib} PROPERTIES VERSION ${version} SOVERSION ${soversion})
|
||||
target_compile_definitions( ${clib} PUBLIC Py_LIMITED_API=1)
|
||||
target_link_libraries( ${clib} ${deplibs} )
|
||||
install( TARGETS ${clib} DESTINATION lib${LIB_SUFFIX} )
|
||||
target_link_options( ${clib} PRIVATE "LINKER:--unresolved-symbols=ignore-in-object-files")
|
||||
endif()
|
||||
|
||||
set( pytarget "${pymodule}_target" )
|
||||
|
@ -409,6 +422,7 @@
|
|||
PREFIX ""
|
||||
OUTPUT_NAME ${pymodule}
|
||||
)
|
||||
target_compile_definitions( ${pytarget} PUBLIC Py_LIMITED_API=1)
|
||||
target_link_libraries( ${pytarget} ${pyDeplibs} )
|
||||
|
||||
install( TARGETS ${pytarget} DESTINATION ${Python_CORIOLISARCH} )
|
||||
|
@ -432,9 +446,25 @@
|
|||
add_library( ${pymodule} MODULE ${pyCpps} )
|
||||
set_target_properties( ${pymodule} PROPERTIES PREFIX "" )
|
||||
target_link_libraries( ${pymodule} ${deplibs} )
|
||||
target_compile_definitions( ${pymodule} PUBLIC Py_LIMITED_API=1)
|
||||
|
||||
install( TARGETS ${pymodule} DESTINATION ${Python_CORIOLISARCH} )
|
||||
if( NOT ("${pyIncludes}" STREQUAL "None") )
|
||||
install( FILES ${pyIncludes} DESTINATION ${inc_install_dir} )
|
||||
endif()
|
||||
endmacro( add_python_module3 )
|
||||
|
||||
|
||||
macro(target_python_executable target)
|
||||
get_target_property(target_type ${target} TYPE)
|
||||
if (target_type STREQUAL "EXECUTABLE")
|
||||
find_package(Python3 COMPONENTS Developer.Embed)
|
||||
if (Python_Development.Embed_FOUND)
|
||||
target_link_libraries(${target} Python::Python)
|
||||
elseif (EXISTS /opt/_internal/static-libs-for-embedding-only.tar.xz
|
||||
AND NOT DEFINED Python3_PyPy_VERSION)
|
||||
# We're in manylinux environment, extract the embedding static library ans use it
|
||||
# Note, linking an executable that needs to embed python is the *ONLY* valid use for this!
|
||||
set(_PYTHON_MANYLINUX_NAME "cpython-${Python3_VERSION}")
|
||||
set(_PYTHON_MANYLINUX_STATIC_LIB "${_PYTHON_MANYLINUX_NAME}/lib/libpython-${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}"
|
||||
file (ARCHIVE_EXTRACT INPUT /opt/_internal/static-libs-for-embedding-only.tar.xz
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
|
||||
if(UNIX)
|
||||
if(UNIX AND NOT POETRY)
|
||||
if(NOT Python_FOUND)
|
||||
message(FATAL_ERROR "Python has not been found, maybe forgot to call find_package(Python). ")
|
||||
endif()
|
||||
|
@ -46,4 +45,4 @@ if(UNIX)
|
|||
else(FindPythonSitePackages_FOUND)
|
||||
message ( FATAL_ERROR "Python site packages directory was not found (pythonV.R/site-packages/)." )
|
||||
endif(FindPythonSitePackages_FOUND)
|
||||
endif(UNIX)
|
||||
endif(UNIX AND NOT POETRY)
|
||||
|
|
|
@ -119,7 +119,7 @@ Development files for the Coriolis 2 package.
|
|||
%dir %{coriolisTop}/%{_lib}
|
||||
%dir %{coriolisTop}/%{python_sitedir}
|
||||
%dir %{coriolisTop}/%{python_sitedir}/crlcore
|
||||
%dir %{coriolisTop}/%{python_sitedir}/crlcore/helpers
|
||||
%dir %{coriolisTop}/%{python_sitedir}/helpers
|
||||
%dir %{coriolisTop}/%{python_sitedir}/cumulus
|
||||
%dir %{coriolisTop}/%{python_sitedir}/stratus
|
||||
%{coriolisTop}/bin/*
|
||||
|
@ -130,7 +130,7 @@ Development files for the Coriolis 2 package.
|
|||
%{coriolisTop}/%{python_sitedir}/cumulus/plugins/*/*.py*
|
||||
%{coriolisTop}/%{python_sitedir}/stratus/*.py*
|
||||
%{coriolisTop}/%{python_sitedir}/crlcore/*.py*
|
||||
%{coriolisTop}/%{python_sitedir}/crlcore/helpers/*.py*
|
||||
%{coriolisTop}/%{python_sitedir}/helpers/*.py*
|
||||
%{coriolisTop}/%{python_sitedir}/kite/*.py*
|
||||
%{coriolisTop}/%{python_sitedir}/unicorn/*.py*
|
||||
%{_sysconfdir}/coriolis2/*.py
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
option(BUILD_DOC "Build the documentation (doxygen)" OFF)
|
||||
option(USE_LIBBFD "Link with BFD libraries to print stack traces" OFF)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
set(ignoreVariables "${BUILD_DOC} ${CMAKE_INSTALL_DIR}")
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
|||
setup_qwt()
|
||||
|
||||
find_package(Libexecinfo REQUIRED)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development.Module)
|
||||
find_package(PythonSitePackages REQUIRED)
|
||||
find_package(LEFDEF REQUIRED)
|
||||
find_package(FLUTE REQUIRED)
|
||||
|
|
|
@ -101,12 +101,12 @@
|
|||
${QWT_LIBRARY}
|
||||
${QtX_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${Python_LIBRARIES} -lutil
|
||||
-lutil
|
||||
)
|
||||
|
||||
add_library( bora ${cpps} ${mocCpps} ${pyCpps} )
|
||||
set_target_properties( bora PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
#target_link_libraries( bora ${depLibs} )
|
||||
target_link_libraries( bora ${depLibs} )
|
||||
|
||||
add_python_module( "${pyCpps}"
|
||||
"${pyIncludes}"
|
||||
|
|
|
@ -21,6 +21,13 @@
|
|||
#include <QFrame>
|
||||
#include <QHBoxLayout>
|
||||
#include <QVBoxLayout>
|
||||
//Work sround for older qwt releases
|
||||
#include <QtGlobal>
|
||||
#if QT_VERSION >= 0x050400
|
||||
#define QT_STATIC_CONST static const
|
||||
#endif
|
||||
|
||||
|
||||
#include <qwt_scale_draw.h>
|
||||
#include <qwt_scale_map.h>
|
||||
#include <qwt_scale_widget.h>
|
||||
|
|
|
@ -17,6 +17,12 @@
|
|||
#ifndef BORA_SLICING_PLOT_WIDGET_H
|
||||
#define BORA_SLICING_PLOT_WIDGET_H
|
||||
|
||||
//Work sround for older qwt releases
|
||||
#include <QtGlobal>
|
||||
#if QT_VERSION >= 0x050400
|
||||
#define QT_STATIC_CONST static const
|
||||
#endif
|
||||
|
||||
#include <vector>
|
||||
#include <qwt_plot.h>
|
||||
#include <qwt_picker.h>
|
||||
|
|
|
@ -0,0 +1,143 @@
|
|||
import io
|
||||
import glob
|
||||
import os
|
||||
import platform
|
||||
import re
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from distutils.version import LooseVersion
|
||||
from distutils.dir_util import copy_tree, remove_tree
|
||||
from distutils.sysconfig import get_python_inc
|
||||
from distutils import sysconfig
|
||||
from find_libpython import find_libpython
|
||||
from typing import Any, Dict
|
||||
|
||||
from setuptools.command.build_ext import build_ext
|
||||
from setuptools.extension import Extension
|
||||
|
||||
|
||||
class CMakeExtension(Extension):
|
||||
name: str # exists, even though IDE doesn't find it
|
||||
|
||||
def __init__(self, name: str, sourcedir: str="") -> None:
|
||||
super().__init__(name, sources=[])
|
||||
self.sourcedir = os.path.abspath(sourcedir)
|
||||
self.sourcedir_rel = sourcedir
|
||||
|
||||
|
||||
class ExtensionBuilder(build_ext):
|
||||
def run(self) -> None:
|
||||
self.validate_cmake()
|
||||
super().run()
|
||||
|
||||
def build_extension(self, ext: Extension) -> None:
|
||||
if isinstance(ext, CMakeExtension):
|
||||
self.build_cmake_extension(ext)
|
||||
else:
|
||||
super().build_extension(ext)
|
||||
|
||||
def validate_cmake(self) -> None:
|
||||
cmake_extensions = [x for x in self.extensions if isinstance(x, CMakeExtension)]
|
||||
if len(cmake_extensions) > 0:
|
||||
try:
|
||||
out = subprocess.check_output(["cmake", "--version"])
|
||||
except OSError:
|
||||
raise RuntimeError(
|
||||
"CMake must be installed to build the following extensions: "
|
||||
+ ", ".join(e.name for e in cmake_extensions)
|
||||
)
|
||||
if platform.system() == "Windows":
|
||||
cmake_version = LooseVersion(re.search(r"version\s*([\d.]+)", out.decode()).group(1)) # type: ignore
|
||||
if cmake_version < "3.1.0":
|
||||
raise RuntimeError("CMake >= 3.1.0 is required on Windows")
|
||||
|
||||
def build_cmake_extension(self, ext: CMakeExtension) -> None:
|
||||
extdir = os.path.abspath(os.path.dirname(self.get_ext_fullpath(ext.name)))
|
||||
cmake_args = []
|
||||
|
||||
cfg = "Debug" if self.debug else "Release"
|
||||
# cfg = 'Debug'
|
||||
build_args = ["--config", cfg]
|
||||
install_args = ["--config", cfg]
|
||||
|
||||
if platform.system() == "Windows":
|
||||
if sys.maxsize > 2 ** 32:
|
||||
cmake_args += ["-A", "x64"]
|
||||
build_args += ["--", "/m"]
|
||||
else:
|
||||
cmake_args += ["-DCMAKE_BUILD_TYPE=" + cfg]
|
||||
build_args += ["--", "-j4", "VERBOSE=1"]
|
||||
|
||||
env = os.environ.copy()
|
||||
env["CXXFLAGS"] = '{} -DVERSION_INFO=\\"{}\\"'.format(env.get("CXXFLAGS", ""), self.distribution.get_version())
|
||||
|
||||
build_dir = os.path.join(self.build_temp, ext.sourcedir_rel)
|
||||
install_dir = os.path.join(extdir, 'Coriolis')
|
||||
os.makedirs(build_dir,exist_ok=True)
|
||||
|
||||
cmake_args += [f"-DCMAKE_MODULE_PATH={os.path.abspath('bootstrap/cmake_modules')};"
|
||||
f"{os.path.join(install_dir, 'share/cmake/Modules')}"]
|
||||
cmake_args += [f"-DCMAKE_INSTALL_PREFIX={install_dir}"]
|
||||
cmake_args += [f"-DPython_CORIOLISLIB={install_dir}"]
|
||||
cmake_args += [f"-DPython_CORIOLISARCH={install_dir}"]
|
||||
cmake_args += [f"-DSYS_CONF_DIR={install_dir}"]
|
||||
cmake_args += [f"-DCORIOLIS_TOP={install_dir}"]
|
||||
cmake_args += [f"-DCORIOLIS_USER_TOP={install_dir}"]
|
||||
|
||||
cmake_args += [f"-DPython_EXECUTABLE={sys.executable}"]
|
||||
|
||||
cmake_args += ["-DPOETRY=1"]
|
||||
cmake_args += ["-DWITH_QT5=1"]
|
||||
cmake_args += ["-DCMAKE_BUILD_RPATH_USE_ORIGIN=1"]
|
||||
cmake_args += ["-DCMAKE_SKIP_BUILD_RPATH=FALSE"]
|
||||
cmake_args += ["-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"]
|
||||
cmake_args += ["-DCMAKE_INSTALL_RPATH='$ORIGIN/lib:$ORIGIN'"]
|
||||
cmake_args += ["-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE"]
|
||||
|
||||
|
||||
print(f"Using cmake args: {cmake_args}")
|
||||
subprocess.check_call(["cmake", "--debug-find", "--trace-redirect=build.cmake.trace", "--trace-expand", ext.sourcedir] + cmake_args, cwd=build_dir, env=env)
|
||||
subprocess.check_call(["cmake", "--build", "."] + build_args, cwd=build_dir)
|
||||
subprocess.check_call(["cmake", "--install", ".", "--prefix", install_dir] + install_args, cwd=build_dir)
|
||||
if os.path.exists(os.path.join(install_dir, "bin")):
|
||||
copy_tree(os.path.join(install_dir, "bin"), os.path.join(install_dir,"data/bin"))
|
||||
remove_tree(os.path.join(install_dir, "bin"))
|
||||
proc = subprocess.Popen(['file'] + glob.glob(os.path.join(install_dir,"data/bin/*")), stdout=subprocess.PIPE)
|
||||
for line in io.TextIOWrapper(proc.stdout, encoding="utf-8"):
|
||||
if 'ELF' in line: #TODO support other OSs
|
||||
f = line.split(':')[0]
|
||||
print(f"fixing up {f}")
|
||||
subprocess.check_call(["patchelf", "--set-rpath", '$ORIGIN/../../lib', f])
|
||||
|
||||
def build(setup_kwargs: Dict[str, Any]) -> None:
|
||||
cmake_modules = [
|
||||
CMakeExtension("coloquinte", sourcedir="coloquinte"),
|
||||
CMakeExtension("Hurricane", sourcedir="hurricane"),
|
||||
CMakeExtension("crlcore", sourcedir="crlcore"),
|
||||
CMakeExtension("flute", sourcedir="flute"),
|
||||
CMakeExtension("etesian", sourcedir="etesian"),
|
||||
CMakeExtension("anabatic", sourcedir="anabatic"),
|
||||
CMakeExtension("katana", sourcedir="katana"),
|
||||
CMakeExtension("equinox", sourcedir="equinox"),
|
||||
CMakeExtension("solstice", sourcedir="solstice"),
|
||||
CMakeExtension("oroshi", sourcedir="oroshi"),
|
||||
CMakeExtension("bora", sourcedir="bora"),
|
||||
CMakeExtension("karakaze", sourcedir="karakaze"),
|
||||
#CMakeExtension("knik", sourcedir="knik"),
|
||||
#CMakeExtension("unicorn", sourcedir="unicorn"),
|
||||
CMakeExtension("tutorial", sourcedir="tutorial"),
|
||||
CMakeExtension("cumulus", sourcedir="cumulus"),
|
||||
CMakeExtension("stratus1", sourcedir="stratus1"),
|
||||
CMakeExtension("documentation", sourcedir="documentation"),
|
||||
CMakeExtension("unittests", sourcedir="unittests")
|
||||
]
|
||||
|
||||
ext_modules = cmake_modules
|
||||
setup_kwargs.update(
|
||||
{
|
||||
"ext_modules": ext_modules,
|
||||
"cmdclass": dict(build_ext=ExtensionBuilder),
|
||||
"zip_safe": False,
|
||||
}
|
||||
)
|
|
@ -8,7 +8,7 @@
|
|||
#option(BUILD_DOC "Build the documentation (doxygen)" OFF)
|
||||
option(USE_LIBBFD "Link with BFD libraries to print stack traces" OFF)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
list(INSERT CMAKE_MODULE_PATH 0 "${DESTDIR}$ENV{CORIOLIS_TOP}/share/cmake/Modules/")
|
||||
find_package(Bootstrap REQUIRED)
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
set(ignoreVariables "${CMAKE_INSTALL_DIR}")
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
OPTION(BUILD_DOC "Build the documentation (latex+doxygen)" OFF)
|
||||
option(USE_LIBBFD "Link with BFD libraries to print stack traces" OFF)
|
||||
|
@ -28,7 +28,7 @@
|
|||
find_package(Libbfd)
|
||||
endif()
|
||||
find_package(BZip2 REQUIRED)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development.Module)
|
||||
find_package(PythonSitePackages REQUIRED)
|
||||
find_package(BISON REQUIRED)
|
||||
find_package(FLEX REQUIRED)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
install( FILES helpers/__init__.py DESTINATION ${Python_CORIOLISLIB}/crlcore/helpers )
|
||||
install( FILES helpers/io.py DESTINATION ${Python_CORIOLISLIB}/crlcore/helpers )
|
||||
install( FILES helpers/utils.py DESTINATION ${Python_CORIOLISLIB}/crlcore/helpers )
|
||||
install( FILES helpers/overlay.py DESTINATION ${Python_CORIOLISLIB}/crlcore/helpers )
|
||||
install( FILES helpers/analogtechno.py DESTINATION ${Python_CORIOLISLIB}/crlcore/helpers )
|
||||
install( FILES helpers/technology.py DESTINATION ${Python_CORIOLISLIB}/crlcore/helpers )
|
||||
install( FILES helpers/__init__.py DESTINATION ${Python_CORIOLISLIB}/helpers )
|
||||
install( FILES helpers/io.py DESTINATION ${Python_CORIOLISLIB}/helpers )
|
||||
install( FILES helpers/utils.py DESTINATION ${Python_CORIOLISLIB}/helpers )
|
||||
install( FILES helpers/overlay.py DESTINATION ${Python_CORIOLISLIB}/helpers )
|
||||
install( FILES helpers/analogtechno.py DESTINATION ${Python_CORIOLISLIB}/helpers )
|
||||
install( FILES helpers/technology.py DESTINATION ${Python_CORIOLISLIB}/helpers )
|
||||
|
|
|
@ -35,22 +35,22 @@
|
|||
|
||||
add_library( libmanager ${cpps} ${moccpps} )
|
||||
set_target_properties( libmanager PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
#target_link_libraries( libmanager crlcore
|
||||
# ${HURRICANE_PYTHON_LIBRARIES}
|
||||
# ${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||
# ${HURRICANE_LIBRARIES}
|
||||
# ${BOOKSHELF_LIBRARY}
|
||||
# ${CONFIGURATION_LIBRARY}
|
||||
# ${CIF_LIBRARY}
|
||||
# ${AGDS_LIBRARY}
|
||||
# ${UTILITIES_LIBRARY}
|
||||
# ${LEFDEF_LIBRARIES}
|
||||
# ${OA_LIBRARIES}
|
||||
# ${QtX_LIBRARIES}
|
||||
# ${Boost_LIBRARIES}
|
||||
# ${LIBXML2_LIBRARIES}
|
||||
# ${PYTHON_LIBRARIES} -lutil
|
||||
# )
|
||||
target_link_libraries( libmanager crlcore
|
||||
${HURRICANE_PYTHON_LIBRARIES}
|
||||
${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||
${HURRICANE_LIBRARIES}
|
||||
${BOOKSHELF_LIBRARY}
|
||||
${CONFIGURATION_LIBRARY}
|
||||
${CIF_LIBRARY}
|
||||
${AGDS_LIBRARY}
|
||||
${UTILITIES_LIBRARY}
|
||||
${LEFDEF_LIBRARIES}
|
||||
${OA_LIBRARIES}
|
||||
${QtX_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${LIBXML2_LIBRARIES}
|
||||
-lutil
|
||||
)
|
||||
|
||||
install( TARGETS libmanager DESTINATION lib${LIB_SUFFIX} )
|
||||
install( FILES ${includes} ${mocincludes} DESTINATION include/coriolis2/crlcore )
|
||||
|
|
|
@ -303,18 +303,18 @@
|
|||
${openaccess_cpps}
|
||||
)
|
||||
set_target_properties ( crlcore PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
# target_link_libraries ( crlcore ${HURRICANE_PYTHON_NEW_LIBRARIES}
|
||||
# ${HURRICANE_PYTHON_LIBRARIES}
|
||||
# ${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||
# ${HURRICANE_LIBRARIES}
|
||||
# ${BOOKSHELF_LIBRARY}
|
||||
# ${LEFDEF_LIBRARIES}
|
||||
# ${OA_LIBRARIES}
|
||||
# ${QtX_LIBRARIES}
|
||||
# ${Boost_LIBRARIES}
|
||||
# ${LIBXML2_LIBRARIES}
|
||||
# ${PYTHON_LIBRARIES} -lutil
|
||||
# )
|
||||
target_link_libraries ( crlcore ${HURRICANE_PYTHON_NEW_LIBRARIES}
|
||||
${HURRICANE_PYTHON_LIBRARIES}
|
||||
${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||
${HURRICANE_LIBRARIES}
|
||||
${BOOKSHELF_LIBRARY}
|
||||
${LEFDEF_LIBRARIES}
|
||||
${OA_LIBRARIES}
|
||||
${QtX_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${LIBXML2_LIBRARIES}
|
||||
-lutil
|
||||
)
|
||||
|
||||
install ( TARGETS crlcore DESTINATION lib${LIB_SUFFIX} )
|
||||
install ( FILES ${includes} ${mocincludes} DESTINATION include/coriolis2/crlcore )
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# -*- explicit-buffer-name: "CMakeLists.txt<crlcore/src/ccore/cyclop>" -*-
|
||||
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development)
|
||||
include_directories ( ${CRLCORE_SOURCE_DIR}/src/ccore
|
||||
${HURRICANE_INCLUDE_DIR}
|
||||
${UTILITIES_INCLUDE_DIR}
|
||||
|
@ -31,7 +32,7 @@
|
|||
${OA_LIBRARIES}
|
||||
${QtX_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${Python_LIBRARIES}
|
||||
${Python_LIBRARIES}
|
||||
-lutil
|
||||
${LIBXML2_LIBRARIES}
|
||||
${BZIP2_LIBRARIES}
|
||||
|
|
|
@ -21,6 +21,17 @@
|
|||
${Boost_INCLUDE_DIR}
|
||||
${QtX_INCLUDE_DIRS}
|
||||
)
|
||||
set (LINK_LIBS ${HURRICANE_PYTHON_NEW_LIBRARIES}
|
||||
${HURRICANE_PYTHON_LIBRARIES}
|
||||
${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||
${HURRICANE_LIBRARIES}
|
||||
${BOOKSHELF_LIBRARY}
|
||||
${OA_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${LIBXML2_LIBRARIES}
|
||||
-lutil
|
||||
)
|
||||
|
||||
|
||||
add_definitions( -DCORIOLIS_TOP="${CORIOLIS_TOP}"
|
||||
-DSYS_CONF_DIR="${SYS_CONF_DIR}"
|
||||
|
@ -77,16 +88,7 @@
|
|||
crlcore/PyLefExport.h
|
||||
crlcore/PyDefExport.h
|
||||
)
|
||||
# target_link_libraries ( crlcore ${HURRICANE_PYTHON_NEW_LIBRARIES}
|
||||
# ${HURRICANE_PYTHON_LIBRARIES}
|
||||
# ${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||
# ${HURRICANE_LIBRARIES}
|
||||
# ${BOOKSHELF_LIBRARY}
|
||||
# ${OA_LIBRARIES}
|
||||
# ${Boost_LIBRARIES}
|
||||
# ${LIBXML2_LIBRARIES}
|
||||
# ${PYTHON_LIBRARIES} -lutil
|
||||
# )
|
||||
target_link_libraries ( crlcore ${LINK_LIBS} )
|
||||
|
||||
set( depLibs crlcore
|
||||
${HURRICANE_GRAPHICAL_LIBRARIES}
|
||||
|
@ -94,7 +96,6 @@
|
|||
${HURRICANE_PYTHON_LIBRARIES}
|
||||
${HURRICANE_LIBRARIES}
|
||||
${LEFDEF_LIBRARIES}
|
||||
${PYTHON_LIBRARIES}
|
||||
${QtX_LIBRARIES}
|
||||
-lutil
|
||||
)
|
||||
|
@ -106,6 +107,7 @@
|
|||
"${depLibs}"
|
||||
include/coriolis2/crlcore
|
||||
)
|
||||
|
||||
add_python_module( "${pyConstCpps}"
|
||||
"crlcore/PyRoutingLayerGauge.h"
|
||||
"pycrlconst;1.0;1"
|
||||
|
@ -113,3 +115,4 @@
|
|||
"${depLibs}"
|
||||
include/coriolis2/crlcore
|
||||
)
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# -*- explicit-buffer-name: "CMakeLists.txt<crlcore/src/x2y> -*-
|
||||
|
||||
|
||||
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development)
|
||||
include_directories ( ${CRLCORE_SOURCE_DIR}/src/ccore
|
||||
${HURRICANE_INCLUDE_DIR}
|
||||
${UTILITIES_INCLUDE_DIR}
|
||||
|
@ -20,12 +22,11 @@
|
|||
${OA_LIBRARIES}
|
||||
${QtX_LIBRARIES}
|
||||
${Boost_LIBRARIES}
|
||||
${Python_LIBRARIES}
|
||||
${Python_LIBRARIES}
|
||||
-lutil
|
||||
${LIBXML2_LIBRARIES}
|
||||
${BZIP2_LIBRARIES}
|
||||
${LIBEXECINFO_LIBRARIES}
|
||||
${LIBBFD_LIBRARIES}
|
||||
z
|
||||
)
|
||||
install ( TARGETS cx2y DESTINATION bin )
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
set(CMAKE_LEGACY_CYGWIN_WIN32 0)
|
||||
project(CUMULUS)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.0)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
set(ignoreVariables "${BUILD_DOC}" "${CMAKE_INSTALL_DIR}")
|
||||
option(USE_LIBBFD "Link with BFD libraries to print stack traces" OFF)
|
||||
|
@ -15,7 +15,7 @@
|
|||
set_cmake_policies()
|
||||
setup_sysconfdir("${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development.Module)
|
||||
find_package(PythonSitePackages REQUIRED)
|
||||
find_package(HURRICANE REQUIRED)
|
||||
find_package(CORIOLIS REQUIRED)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
option(CHECK_DATABASE "Run database in full check mode (very slow)" OFF)
|
||||
option(USE_LIBBFD "Link with BFD libraries to print stack traces" OFF)
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.9)
|
||||
cmake_minimum_required(VERSION 3.18)
|
||||
|
||||
set(ignoreVariables "${CMAKE_INSTALL_DIR}")
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
|||
setup_boost(program_options)
|
||||
setup_qt()
|
||||
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development)
|
||||
find_package(Python 3 REQUIRED COMPONENTS Interpreter Development.Module)
|
||||
find_package(PythonSitePackages REQUIRED)
|
||||
find_package(FLUTE REQUIRED)
|
||||
find_package(HURRICANE REQUIRED)
|
Before Width: | Height: | Size: 125 B After Width: | Height: | Size: 125 B |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 676 B After Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 147 B After Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |