Compare commits

...

30 Commits

Author SHA1 Message Date
Robert Taylor 5e0cfeee90 half written macro for statically linking libpython to binaries in manylinux 2022-12-22 08:54:15 +00:00
Robert Taylor d7ed120bd8 WIP: python ABI fun.. 2022-12-15 00:37:06 +00:00
Robert Taylor af38ba8f09 fix to build on manylinux 2022-12-14 03:24:07 +00:00
Robert Taylor 3c006c9a94 Split out python versions in CI 2022-12-11 02:22:27 +00:00
Robert Taylor 9784020cc3 Pass in python library path to cmake 2022-12-11 01:15:58 +00:00
Robert Taylor 3ba8b5040c Use target_link_libraries correctly everywhere to avoid runtime link issues 2022-12-10 17:12:38 +00:00
Robert Taylor 474fe928ec fix rpaths - really didn't need quoting 2022-12-10 17:10:30 +00:00
Robert Taylor 6ed871be55 Update poetry lock 2022-12-10 00:00:52 +00:00
Robert Taylor 4d761f0038 Fix runtime linking error 2022-12-10 00:00:20 +00:00
Robert Taylor 0f458aa4f6 RPATH for libraries to find other coriolis libs 2022-12-09 17:03:02 +00:00
Robert Taylor 8bffe71091 Fixes for cibuildwheel building 2022-12-09 15:51:19 +00:00
Robert Taylor 528db3aafe Support older qwt 2022-12-09 15:50:24 +00:00
Robert Taylor d1da08e6d3 update poetry lock 2022-12-08 17:02:21 +00:00
Robert Taylor b73e38611c Use the running python for cmake 2022-12-08 15:07:03 +00:00
Robert Taylor 0465856f6b try dropping python dependancy and see what breaks 2022-12-07 03:51:32 +00:00
Robert Taylor 29fa12781d Add gitlab CI using cibuildwheel 2022-12-06 14:38:59 +00:00
Robert Taylor 635b5d1625 Fix tutorial for python 3 2022-12-06 14:02:45 +00:00
Robert Taylor c790d892f7 Fix up rpath of binaries 2022-12-06 14:02:45 +00:00
Robert Taylor 285e4a6ee1 Move into Corilois namespace 2022-12-06 14:02:45 +00:00
Robert Taylor 7825ae9eb3 Add version and author to pyproject.toml 2022-12-06 13:58:49 +00:00
Robert Taylor 08fe3a10fd Fix errors when building clean 2022-12-06 13:53:40 +00:00
Robert Taylor e55484b101 install helpers at top level 2022-12-06 13:53:40 +00:00
Robert Taylor 24aeffd8f0 Add bin files as scripts 2022-12-06 13:53:40 +00:00
Robert Taylor a2236debb9 Fix Python linking issues 2022-12-06 13:53:40 +00:00
Robert Taylor aa60c8c9af Give same import semantics for now, fix rpath issue 2022-12-06 13:53:40 +00:00
Robert Taylor d60a2603dd Add Coriolis dir that poetry needs, along with base __init__.py 2022-12-06 13:53:40 +00:00
Robert Taylor f511097298 Poetry package build working for most of coriolis 2022-12-06 13:53:40 +00:00
Robert Taylor d93d76d5e7 Move to packaging requiring no changes to CMake 2022-12-06 13:53:40 +00:00
Robert Taylor bc69b3f013 Initial Poetry infrastructure 2022-12-06 13:53:40 +00:00
Robert Taylor fe0057149a Move decprecated components out of the way, to avoice confusion 2022-12-06 13:53:40 +00:00
2395 changed files with 636 additions and 271 deletions

45
.gitlab-ci.yml Normal file
View File

@ -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

33
Coriolis/__init__.py Normal file
View File

@ -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:]))

View File

@ -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)

View File

@ -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}"

View File

@ -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)

View File

@ -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}"

View File

@ -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()

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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}"

View File

@ -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>

View File

@ -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>

143
builder.py Normal file
View File

@ -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,
}
)

View File

@ -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)

View File

@ -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)

View File

@ -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 )

View File

@ -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 )

View File

@ -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 )

View File

@ -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}

View File

@ -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
)

View File

@ -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 )

View File

@ -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)

View File

@ -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)

View File

Before

Width:  |  Height:  |  Size: 125 B

After

Width:  |  Height:  |  Size: 125 B

View File

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

View File

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

Before

Width:  |  Height:  |  Size: 676 B

After

Width:  |  Height:  |  Size: 676 B

View File

Before

Width:  |  Height:  |  Size: 147 B

After

Width:  |  Height:  |  Size: 147 B

View File

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Some files were not shown because too many files have changed in this diff Show More