...
 
Commits (244)
......@@ -23,4 +23,9 @@ install
/.cproject
/.pydevproject
/.settings
CMakeCache.txt
CMakeFiles/
cmake_install.cmake
scripts/config.txt
build/
scripts/output_config
# image : docker-registry.esrf.fr/bcu/lima-ci-debian8:latest
#before_script :
stages:
- build
- test
build :
stage: build
script:
- ./install.sh --git tests python
- ls -l
artifacts:
paths:
- build/
only:
- cmake
test :
stage: test
dependencies:
- build
script:
- cd build/
- ctest --timeout 10
only:
- cmake
sudo: required
language: cpp
git:
submodules: false
services:
- docker
before_install:
- docker pull esrfbliss/lima-ci-debian8
- docker run --name lima-ci-docker -v $(pwd):/root/Lima -dit esrfbliss/lima-ci-debian8
script:
- echo "Lima code in Lima/, cloning only processlib sbmodule"
- docker exec lima-ci-docker /bin/sh -c 'unset https_proxy && unset http_proxy && cd /root && ./install_lima_submodule'
- echo "Compilation of limacore with python and tests as options."
- docker exec lima-ci-docker /bin/sh -c 'cd /root/Lima/ && ./install.sh python tests'
- echo "Executing tests in cmake-build repository"
- docker exec lima-ci-docker /bin/sh -c 'cd /root/Lima/build/ && ctest --timeout 10'
after-script:
- docker stop lima-ci-docker
- docker rm lima-ci-docker
branches:
only:
- cmake
The LIMA team (lima@esrf.fr)
The LIMA team, ESRF, Grenoble, France
---------------------------------------
Alejandro Homs Puron
Sebastien Petitdemange
Laurent Claustre
Roberto Homs-Regojo
Emmanuel Papillon
Tiago Coutinho
Aitor Henry
Cyril Guilloud
Yves Watier
Assen Kirov
Contributors
-------------
Florent Langlois, SOLEIL Synchrotron, Paris, France
Arafat Noureddine, SOLEIL Synchrotron, Paris, France
Serge Cohen, SOLEIL Synchrotron, Paris, France
Maria-Teresa Nunez Pardo de Vera, DESY laboratory, Hambourg, Germany
Geoff Mant, STFC Daresbury Laboratory, Warrington, UK
Jordi Andreu, ALBA Synchrotron, Barcelona, Spain
Andrea Parenti, European XFEL, Hamburg, Germany
Alexander Lenz, MLZ, Germany
Andreas Persson, MAXLAB Laboratory, Lund, Sweden
Sebastien Gara, Nexeya, France
Justin Anderson, Rayonix L.L.C, Evanston, Illinois, USA
Julien Cristau, Logilab, France
Philippe Pepiot, Logilab, France
Yann Voté, Cristau, Logilab, France
Sebastien Petitdemange (ESRF)
Alejandro Homs Puron (ESRF)
Emmanuel Papillon (ESRF)
Laurent Claustre (ESRF)
Assen Kirov (ESRF)
Florent Langlois (SOLEIL)
Arafat Noureddine (SOLEIL)
This diff is collapsed.
Description:
This script will build and install lima project, with arguments pass as explained.
the install directory can be change by adding as argument --prefix=path_you_want.
Same for the python install directory, add --python-packages=path_you_want.
USING scripts/config.txt FILE :
once you have executed a first ./install.sh a config.txt file is created in scripts/ directory.
If you plan to compile with the same parameters a lot of time you can edit this file and select your options.
Then you just have to run ./install.sh and lima will compile with what you asked in config.txt.
By default camera simulator is always compile. You can change that with editing config.txt file : "LIMACAMERA_SIMULATOR=0" instead of "LIMACAMERA_SIMULATOR=1"
execution :
"install.[bat | sh] [--prefix=path] [--python-packages=path] [options]"
[options] : can be any camera name or saving format.
saving format available : cbf, tiff, lz4, gz, hdf5, fits.
other otions are : _ python : Build python wrapping.
_ pytango-server: install the PyTango server python code
_ tests : compile unitest in build directory.
(execute "ctest" in build/ to run them)
_ config, sps, gldisplay : for the fun !
examples :
./install.[bat | sh] basler python cbf
-> compile and install lima with camera basler with python wrapping and cbf saving format.
-> install directory for C library and python library will be in default directory.
this is equivalent to change config.txt with this options :
_ LIMACAMERA_BASLER=1
_ LIMA_ENABLE_CBF=1
_ LIMA_ENABLE_PYTHON=1
./install.[bat | sh] --prefix=${HOME} tests
-> compile and install lima only with camera simulator, also compiling simulators tests.
-> the install directory is set in the home directory (${HOME})
install directory can't be put in the config.txt file for the moment.
ONLY ON LINUX :
./install.sh --git [options]
-> clone and checkout on cmake branch every submodule in [options]
-> BE CAREFUL : if you have others submodules already init, it will try to checkout on branch cmake on them.
//###########################################################################
// This file is part of LImA, a Library for Image Acquisition
//
// Copyright (C) : 2009-2015
// Copyright (C) : 2009-2017
// European Synchrotron Radiation Facility
// BP 220, Grenoble 38043
// CS40220 38043 Grenoble Cedex 9
// FRANCE
//
// Contact: lima@esrf.fr
//
// This is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
......
###########################################################################
This file is part of LImA, a Library for Image Acquisition
Copyright (C) : 2009-2015
Copyright (C) : 2009-2017
European Synchrotron Radiation Facility
BP 220, Grenoble 38043
CS40220 38043 Grenoble Cedex 9
FRANCE
Contact: lima@esrf.fr
This is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
......
##############################################################################
#
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2011
# European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# FRANCE
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
.NOTPARALLEL:
sub-dirs = third-party common hardware control camera build
all: src test
include config.inc
include global.inc
config.inc:
@echo "*** Creating default \"config.inc\" with LImA core"
@echo "*** Please edit it to activate compilation of hardware modules"
cp config.inc_default config.inc
@false
config:
$(MAKE) -C third-party prelima.config
$(MAKE) -C sip config
$(MAKE) -C third-party postlima.config
include install.inc
###########################################################################
This file is part of LImA, a Library for Image Acquisition
Copyright (C) : 2009-2014
European Synchrotron Radiation Facility
BP 220, Grenoble 38043
FRANCE
This is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This software is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
###########################################################################
For compilation, installation and other instructions please refer to the
online documentation at:
http://lima.blissgarden.org
Or download the pdf documentation at:
http://lima.blissgarden.org/latex/Lima.pdf
---------------------
Lima Team
mailto: lima@esrf.fr
---------------------
.. image:: http://lima.blissgarden.org/_static/lima-logo-2-40perc.png
=============================
Library for Image Acquisition
=============================
|Linux Status|
|Windows Status|
Description
-----------
Lima ( **L** ibrary for **Im** age **A** cquisition) is a project for the unified control of 2D detectors. The aim is to clearly separate hardware specific code from common software configuration and features, like setting standard acquisition parameters (exposure time, external trigger), file saving and image processing.
Lima is a C++ library which can be used for many different cameras. The library is also available for Python_ and it provides a PyTango_ server for remote control.
Documentation: http://lima.blissgarden.org
Requirements
------------
documentation/source/requirements.rst
How to build and install
------------------------
documentation/source/build_install.rst
Lima Team contact: lima@esrf.fr
.. |Linux Status| image:: https://travis-ci.org/esrf-bliss/Lima.svg?branch=cmake
:target: https://travis-ci.org/esrf-bliss/Lima
:alt:
.. |Windows Status| image:: https://ci.appveyor.com/api/projects/status/rk0yqwem1jqxwubu?svg=true
:target: https://ci.appveyor.com/api/projects/status/rk0yqwem1jqxwubu/branch/cmake?svg=true
.. _Python: http://python.org
.. _PyTango: http://github.com/tango-cs/pytango
version: 1.0.{build}
os: Visual Studio 2015
platform: x64
configuration: Release
branches:
only:
- cmake
matrix:
fast_finish: false # set this flag to immediately finish build once one of the jobs fails.
environment:
matrix:
# for further test with nmake
# - PLATFORM: x64
# BUILDER: "CMake"
# CONFIGURATION: "Release"
# GENERATOR: "NMake Makefiles"
# PYTHON: "C:\\Python27-x64"
- PLATFORM: x64
BUILDER: "CMake"
CONFIGURATION: "Release"
GENERATOR: "Visual Studio 12 2013 Win64"
PYTHON: "C:\\Python27-x64"
- PLATFORM: x86
BUILDER: "CMake"
CONFIGURATION: "Release"
GENERATOR: "Visual Studio 12 2013"
PYTHON: "C:\\Python27"
init:
- ps: 'Write-Host "Building LIMA branch: $env:APPVEYOR_REPO_BRANCH" -ForegroundColor Magenta'
- if [%PLATFORM%]==[x64] "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
- if [%PLATFORM%]==[x64] call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" x86_amd64
- if [%PlATFORM%]==[x86] call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"
- set PATH=%PYTHON%;%PATH%
install:
- ps: 'Write-Host "Installing submodule third-party/Processlib :" -ForegroundColor Magenta'
- git submodule init third-party/Processlib
- git submodule update
- git submodule foreach "git checkout cmake"
- ps: 'Write-Host "Installing GSL :" -ForegroundColor Magenta'
- if [%PLATFORM%]==[x64] (
appveyor.exe DownloadFile http://ftp.esrf.fr/pub/bliss/lima/gsl-1.15-dev-win64.zip &&
7z.exe x gsl-1.15-dev-win64.zip -o"c:\Program Files\gsl-1.15-win64"
)
- if [%PLATFORM%]==[x86] (
appveyor.exe DownloadFile http://ftp.esrf.fr/pub/bliss/lima/gsl-1.8-lib.zip &&
7z.exe x gsl-1.8-lib.zip -o"c:\Program Files\gsl-1.8-win32"
)
- ps: 'Write-Host "Installing NUMPY :" -ForegroundColor Magenta'
- "%PYTHON%/Scripts/pip.exe install numpy"
- ps: 'Write-Host "Installing SIP" -ForegroundColor Magenta'
- appveyor.exe DownloadFile https://sourceforge.net/projects/pyqt/files/sip/sip-4.18/sip-4.18.zip
- 7z.exe x sip-4.18.zip
- cd sip-4.18
- python.exe configure.py
- nmake
- nmake install
- cd ..
before_build:
- ps: 'Write-Host "Running $env:BUILDER with $env:GENERATOR :" -ForegroundColor Magenta'
- mkdir build
- cd build
- cmake -G "%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION% -DLIMACAMERA_SIMULATOR=1 -DLIMA_ENABLE_PYTHON=1 -DLIMA_ENABLE_TESTS=1 ..
build_script:
- ps: 'Write-Host "Running $env:BUILDER :" -ForegroundColor Magenta'
- cmake --build . --config %CONFIGURATION%
test_script:
- ps: 'Write-Host "Running tests :" -ForegroundColor Magenta'
# - ctest -VV --debug --output-on-failure -C %CONFIGURATION%
This diff is collapsed.
Debug
Release
*.vcproj.*
*.ncb
*.suo

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibLimaCore", "LimaCore.vcproj", "{A4B703A6-C50F-442F-8952-54FB8EA51FF3}"
ProjectSection(ProjectDependencies) = postProject
{F6556656-D091-43AF-B46F-355F4ABA5DB6} = {F6556656-D091-43AF-B46F-355F4ABA5DB6}
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE} = {A0C36CE7-D908-4573-8B69-249EEEB7D2BE}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprocesslib", "..\..\..\..\third-party\Processlib\build\msvc\9.0\libprocesslib\libprocesslib.vcproj", "{F6556656-D091-43AF-B46F-355F4ABA5DB6}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libconfig++", "..\..\..\..\third-party\libconfig\lib\libconfig++.vcproj", "{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Debug|Win32.ActiveCfg = Debug|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Debug|Win32.Build.0 = Debug|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Debug|x64.ActiveCfg = Debug|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Debug|x64.Build.0 = Debug|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Release|Win32.ActiveCfg = Release|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Release|Win32.Build.0 = Release|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Release|x64.ActiveCfg = Release|x64
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Release|x64.Build.0 = Release|x64
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Debug|Win32.ActiveCfg = Debug|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Debug|Win32.Build.0 = Debug|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Debug|x64.ActiveCfg = Debug|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Debug|x64.Build.0 = Debug|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Release|Win32.ActiveCfg = Release|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Release|Win32.Build.0 = Release|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Release|x64.ActiveCfg = Release|x64
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Release|x64.Build.0 = Release|x64
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Debug|Win32.ActiveCfg = Debug|Win32
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Debug|Win32.Build.0 = Debug|Win32
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Debug|x64.ActiveCfg = Debug|Win32
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Debug|x64.Build.0 = Debug|Win32
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Release|Win32.ActiveCfg = Release|Win32
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Release|Win32.Build.0 = Release|Win32
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Release|x64.ActiveCfg = Release|x64
{A0C36CE7-D908-4573-8B69-249EEEB7D2BE}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
This diff is collapsed.
========================================================================
DYNAMIC LINK LIBRARY : LimaCore Project Overview
========================================================================
AppWizard has created this LimaCore DLL for you.
This file contains a summary of what you will find in each of the files that
make up your LimaCore application.
LimaCore.vcproj
This is the main project file for VC++ projects generated using an Application Wizard.
It contains information about the version of Visual C++ that generated the file, and
information about the platforms, configurations, and project features selected with the
Application Wizard.
LimaCore.cpp
This is the main DLL source file.
/////////////////////////////////////////////////////////////////////////////
Other standard files:
StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file
named LimaCore.pch and a precompiled types file named StdAfx.obj.
/////////////////////////////////////////////////////////////////////////////
Other notes:
AppWizard uses "TODO:" comments to indicate parts of the source code you
should add to or customize.
/////////////////////////////////////////////////////////////////////////////
========================================================================
CONSOLE APPLICATION : Simulator Project Overview
========================================================================
AppWizard has created this Simulator application for you.
This file contains a summary of what you will find in each of the files that
make up your Simulator application.
Simulator.vcproj
This is the main project file for VC++ projects generated using an Application Wizard.
It contains information about the version of Visual C++ that generated the file, and
information about the platforms, configurations, and project features selected with the
Application Wizard.
Simulator.cpp
This is the main application source file.
/////////////////////////////////////////////////////////////////////////////
Other standard files:
StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file
named Simulator.pch and a precompiled types file named StdAfx.obj.
/////////////////////////////////////////////////////////////////////////////
Other notes:
AppWizard uses "TODO:" comments to indicate parts of the source code you
should add to or customize.
/////////////////////////////////////////////////////////////////////////////

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Simulator", "Simulator.vcproj", "{AF18B006-7B23-4550-A9B6-530E9813A58E}"
ProjectSection(ProjectDependencies) = postProject
{F6556656-D091-43AF-B46F-355F4ABA5DB6} = {F6556656-D091-43AF-B46F-355F4ABA5DB6}
{A4B703A6-C50F-442F-8952-54FB8EA51FF3} = {A4B703A6-C50F-442F-8952-54FB8EA51FF3}
{3E1490E7-66C0-4E77-9746-0632466FF270} = {3E1490E7-66C0-4E77-9746-0632466FF270}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibSimulator", "..\LibSimulator\LibSimulator.vcproj", "{3E1490E7-66C0-4E77-9746-0632466FF270}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibLimaCore", "..\LimaCore\LimaCore.vcproj", "{A4B703A6-C50F-442F-8952-54FB8EA51FF3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprocesslib", "..\..\..\..\third-party\Processlib\build\msvc\9.0\libprocesslib\libprocesslib.vcproj", "{F6556656-D091-43AF-B46F-355F4ABA5DB6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AF18B006-7B23-4550-A9B6-530E9813A58E}.Debug|Win32.ActiveCfg = Debug|Win32
{AF18B006-7B23-4550-A9B6-530E9813A58E}.Debug|Win32.Build.0 = Debug|Win32
{AF18B006-7B23-4550-A9B6-530E9813A58E}.Release|Win32.ActiveCfg = Release|Win32
{AF18B006-7B23-4550-A9B6-530E9813A58E}.Release|Win32.Build.0 = Release|Win32
{3E1490E7-66C0-4E77-9746-0632466FF270}.Debug|Win32.ActiveCfg = Debug|Win32
{3E1490E7-66C0-4E77-9746-0632466FF270}.Debug|Win32.Build.0 = Debug|Win32
{3E1490E7-66C0-4E77-9746-0632466FF270}.Release|Win32.ActiveCfg = Release|Win32
{3E1490E7-66C0-4E77-9746-0632466FF270}.Release|Win32.Build.0 = Release|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Debug|Win32.ActiveCfg = Debug|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Debug|Win32.Build.0 = Debug|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Release|Win32.ActiveCfg = Release|Win32
{A4B703A6-C50F-442F-8952-54FB8EA51FF3}.Release|Win32.Build.0 = Release|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Debug|Win32.ActiveCfg = Debug|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Debug|Win32.Build.0 = Debug|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Release|Win32.ActiveCfg = Release|Win32
{F6556656-D091-43AF-B46F-355F4ABA5DB6}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="Simulator"
ProjectGUID="{AF18B006-7B23-4550-A9B6-530E9813A58E}"
RootNamespace="Simulator"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;..\..\..\..\third-party\Processlib\core\include&quot;;&quot;..\..\..\..\third-party\Processlib\core\include\WindowSpecific&quot;;&quot;..\..\..\..\common\include&quot;;&quot;..\..\..\..\hardware\include&quot;;&quot;..\..\..\..\camera\simulator\include&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0502"
MinimalRebuild="true"
BasicRuntimeChecks="0"
RuntimeLibrary="3"
DefaultCharIsUnsigned="false"
TreatWChar_tAsBuiltInType="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="2"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
LinkIncremental="1"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\..\..\camera\simulator\test\testsimulator.cpp"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
<File
RelativePath=".\ReadMe.txt"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>
############################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2011
# European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# FRANCE
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
.NOTPARALLEL:
sub-dirs = common
include ../config.inc
ifndef COMPILE_SIMULATOR
COMPILE_SIMULATOR = 0
endif
ifneq ($(COMPILE_SIMULATOR),0)
sub-dirs += simulator
endif
ifndef COMPILE_FRELON
COMPILE_FRELON = 0
endif
ifneq ($(COMPILE_FRELON),0)
sub-dirs += frelon
endif
ifndef COMPILE_MAXIPIX
COMPILE_MAXIPIX = 0
endif
ifneq ($(COMPILE_MAXIPIX),0)
sub-dirs += maxipix
endif
ifndef COMPILE_BASLER
COMPILE_BASLER = 0
endif
ifneq ($(COMPILE_BASLER),0)
sub-dirs += basler
export CXXFLAGS
endif
ifndef COMPILE_PROSILICA
COMPILE_PROSILICA = 0
endif
ifneq ($(COMPILE_PROSILICA),0)
sub-dirs += prosilica
endif
ifndef COMPILE_ROPERSCIENTIFIC
COMPILE_ROPERSCIENTIFIC = 0
endif
ifneq ($(COMPILE_ROPERSCIENTIFIC),0)
sub-dirs += roperscientific
endif
ifndef COMPILE_ADSC
COMPILE_ADSC = 0
endif
ifneq ($(COMPILE_ADSC),0)
sub-dirs += adsc
endif
ifndef COMPILE_MYTHEN
COMPILE_MYTHEN = 0
endif
ifneq ($(COMPILE_MYTHEN),0)
sub-dirs += mythen
endif
ifndef COMPILE_MYTHEN3
COMPILE_MYTHEN3 = 0
endif
ifneq ($(COMPILE_MYTHEN3),0)
sub-dirs += mythen3
endif
ifndef COMPILE_UEYE
COMPILE_UEYE = 0
endif
ifneq ($(COMPILE_UEYE),0)
sub-dirs += ueye
endif
ifndef COMPILE_ANDOR
COMPILE_ANDOR = 0
endif
ifneq ($(COMPILE_ANDOR),0)
sub-dirs += andor
endif
ifndef COMPILE_ANDOR3
COMPILE_ANDOR3 = 0
endif
ifneq ($(COMPILE_ANDOR3),0)
sub-dirs += andor3
endif
ifndef COMPILE_XH
COMPILE_XH = 0
endif
ifneq ($(COMPILE_XH),0)
sub-dirs += xh
endif
ifndef COMPILE_XSPRESS3
COMPILE_XSPRESS3 = 0
endif
ifneq ($(COMPILE_XSPRESS3),0)
sub-dirs += xspress3
endif
ifndef COMPILE_ULTRA
COMPILE_ULTRA = 0
endif
ifneq ($(COMPILE_ULTRA),0)
sub-dirs += ultra
endif
ifndef COMPILE_MERLIN
COMPILE_MERLIN = 0
endif
ifneq ($(COMPILE_MERLIN),0)
sub-dirs += merlin
endif
ifndef COMPILE_XPAD
COMPILE_XPAD = 0
endif
ifneq ($(COMPILE_XPAD),0)
sub-dirs += xpad
endif
ifndef COMPILE_MARCCD
COMPILE_MARCCD = 0
endif
ifneq ($(COMPILE_MARCCD),0)
sub-dirs += marccd
endif
ifndef COMPILE_PILATUS
COMPILE_PILATUS = 0
endif
ifneq ($(COMPILE_PILATUS),0)
sub-dirs += pilatus
endif
ifndef COMPILE_POINTGREY
COMPILE_POINTGREY = 0
endif
ifneq ($(COMPILE_POINTGREY),0)
sub-dirs += pointgrey
endif
ifndef COMPILE_IMXPAD
COMPILE_IMXPAD = 0
endif
ifneq ($(COMPILE_IMXPAD),0)
sub-dirs += imxpad
endif
ifndef COMPILE_RAYONIXHS
COMPILE_RAYONIXHS = 0
endif
ifneq ($(COMPILE_RAYONIXHS),0)
sub-dirs += rayonixhs
endif
ifndef COMPILE_AVIEX
COMPILE_AVIEX = 0
endif
ifneq ($(COMPILE_AVIEX),0)
sub-dirs += aviex
endif
ifndef COMPILE_V4l2
COMPILE_V4l2 = 0
endif
ifneq ($(COMPILE_V4l2),0)
sub-dirs += v4l2
endif
ifndef COMPILE_EIGER
COMPILE_EIGER = 0
endif
ifneq ($(COMPILE_EIGER),0)
sub-dirs += eiger
endif
ifndef COMPILE_DEXELA
COMPILE_DEXELA = 0
endif
ifneq ($(COMPILE_DEXELA),0)
sub-dirs += dexela
endif
ifndef COMPILE_PIXIRAD
COMPILE_PIXIRAD = 0
endif
ifneq ($(COMPILE_PIXIRAD),0)
sub-dirs += pixirad
endif
ifndef COMPILE_HEXITEC
COMPILE_HEXITEC = 0
endif
ifneq ($(COMPILE_HEXITEC),0)
sub-dirs += hexitec
endif
include ../global.inc
Subproject commit 5aa7b283d0dac0bb9c690354180cbc7dff0f58d9
Subproject commit 3cdb8d44c550c712a073eba4a8f7200c34648ccd
###########################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2017
# European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# FRANCE
#
# Contact: lima@esrf.fr
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
set(NAME "simulator")
set(simu_srcs src/SimulatorFrameBuilder.cpp src/SimulatorCamera.cpp src/SimulatorInterface.cpp
src/SimulatorSyncCtrlObj.cpp src/SimulatorDetInfoCtrlObj.cpp src/SimulatorShutterCtrlObj.cpp)
add_library(lima${NAME} SHARED ${simu_srcs})
limatools_set_library_soversion(lima${NAME} "VERSION")
target_include_directories(lima${NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
target_link_libraries(lima${NAME} limacore)
if(WIN32)
target_compile_definitions(lima${NAME} PRIVATE LIBSIMULATOR_EXPORTS)
endif()
if(WIN32)
set_target_properties(lima${NAME} PROPERTIES PREFIX "lib")
endif()
if(WIN32)
install(TARGETS lima${NAME}
DESTINATION lib)
else()
install(TARGETS lima${NAME}
LIBRARY DESTINATION lib)
endif()
if (LIMA_ENABLE_PYTHON)
limatools_run_sip_for_camera(${NAME})
install(FILES python/__init__.py DESTINATION "${PYTHON_SITE_PACKAGES_DIR}/Lima/Simulator")
endif()
if(LIMA_ENABLE_TESTS)
add_subdirectory(test)
endif()
############################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2011
# European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# FRANCE
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
src-dirs = src
test-dirs = test
include ../../global.inc
......@@ -2,6 +2,7 @@
#define SIMUCOMPATIBILITY_H
#ifdef WIN32
#pragma warning (disable:4290)
#ifdef LIBSIMULATOR_EXPORTS
#define LIBSIMULATOR_API __declspec(dllexport)
#else
......
......@@ -19,23 +19,7 @@
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
from Lima import module_helper
mod_path = __path__
depends_on = 'Core'
has_dependent = False
cleanup_data = module_helper.load_prepare(mod_path, depends_on, has_dependent)
from Lima import Core
cleanup_data = module_helper.load_dep_cleanup(cleanup_data)
from Lima.Simulator.limasimulator import Simulator as _S
from limasimulator import Simulator as _S
globals().update(_S.__dict__)
module_helper.load_cleanup(cleanup_data)
del mod_path, depends_on, has_dependent, cleanup_data
del module_helper
......@@ -63,12 +63,9 @@ class Camera
void reset();
const char* __repr__();
SIP_PYOBJECT __repr__() const;
%MethodCode
std::ostringstream str;
str << *sipCpp;
const std::string& tmpString = str.str();
sipRes = tmpString.c_str();
LIMA_REPR_CODE
%End
};
};
......
......@@ -35,7 +35,7 @@ typedef std::vector<PeakType> PeakListType;
bool ok = PyList_Check(sipPy);
for (int i = 0; ok && (i < PyList_Size(sipPy)); ++i) {
PyObject *p = PyList_GET_ITEM(sipPy, i);
ok = sipCanConvertToType(p,
ok = !!sipCanConvertToType(p,
sipType_Simulator_GaussPeak,
SIP_NOT_NONE);
}
......
############################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2011
# European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# FRANCE
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
LIMA_DIR := $(shell pwd)/../../..
include $(LIMA_DIR)/config.inc
include $(LIMA_DIR)/control/control.inc
simu-objs = SimulatorFrameBuilder.o SimulatorCamera.o SimulatorInterface.o \
SimulatorSyncCtrlObj.o SimulatorDetInfoCtrlObj.o SimulatorShutterCtrlObj.o
SRCS = $(simu-objs:.o=.cpp)
CXX = g++
CPPFLAGS = -I../include $(CT_CPPFLAGS)
CXXFLAGS = $(CT_CXXFLAGS)
all: Simu.o
Simu.o: $(simu-objs)
$(LD) -o $@ -r $+
clean:
rm -f Simu.o *.P $(simu-objs)
%.o : %.cpp
$(COMPILE.cpp) $(CPPFLAGS) -MD $(CXXFLAGS) -o $@ $<
@cp $*.d $*.P; \
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
rm -f $*.d
-include $(SRCS:.cpp=.P)
.PHONY: check-syntax
check-syntax:
$(CXX) $(CPPFLAGS) -Wextra -fsyntax-only $(CXXFLAGS) $(CHK_SOURCES)
############################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2011
# Copyright (C) : 2009-2017
# European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# FRANCE
......@@ -20,12 +20,8 @@
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
.NOTPARALLEL:
src-dirs = software_operation src
test-dirs = test
include ../global.inc
run:
cd test ; simutest
set(test_src test_simulator)
if (NOT WIN32)
set(test_src ${test_src} test_simulator_hwbuffersave test_simulator_framebuilder)
endif()
limatools_run_camera_tests("${test_src}" ${NAME})
############################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2011
# European Synchrotron Radiation Facility
# BP 220, Grenoble 38043
# FRANCE
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
LIMA_DIR := $(shell pwd)/../../..
include $(LIMA_DIR)/config.inc
include $(LIMA_DIR)/control/control.inc
test-objs = test.o
testsimulator-objs = testsimulator.o
testsimuhwinterface-objs = testsimuhwinterface.o
SRCS = $(test-objs:.o=.cpp) $(testsimulator-objs:.o=.cpp) \
$(testsimuhwinterface-objs:.o=.cpp)
CPPFLAGS = -I../include $(CT_CPPFLAGS)
CXXFLAGS = $(CT_CXXFLAGS)
DEPLIBS = $(CT_DEPLIBS) \
$(LIMA_DIR)/build,limacore \
$(LIMA_DIR)/build,limasimulator
LDFLAGS = $(CT_LDFLAGS) $(call lib-depflags,$(DEPLIBS))
LDLIBS = $(CT_LDLIBS) $(call lib-deplibs,$(DEPLIBS))
all: test testsimulator testsimuhwinterface
test: $(test-objs)
$(CXX) $(LDFLAGS) -o $@ $+ $(LDLIBS)
testsimulator: $(testsimulator-objs)
$(CXX) $(LDFLAGS) -o $@ $+ $(LDLIBS)
testsimuhwinterface: $(testsimuhwinterface-objs)
$(CXX) $(LDFLAGS) -o $@ $+ $(LDLIBS)
clean:
rm -f $(test-objs) test *.edf
rm -f $(testsimulator-objs) testsimulator
rm -f $(testsimuhwinterface-objs) testsimuhwinterface
rm -f *.P
%.o : %.cpp
$(COMPILE.cpp) $(CPPFLAGS) -MD $(CXXFLAGS) -o $@ $<
@cp $*.d $*.P; \
sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
rm -f $*.d
-include $(SRCS:.cpp=.P)
......@@ -99,7 +99,7 @@ int main(int argc, char *argv[])
try {
simulator_test(expo, nframe);
} catch (Exception e) {
cerr << "LIMA Exception:" << e << endl;
cerr << "LIMA Exception:" << e.getErrMsg() << endl;
}
return 0;
......
This diff is collapsed.
# Find SIP
# ~~~~~~~~
#
# SIP website: http://www.riverbankcomputing.co.uk/sip/index.php
#
# Find the installed version of SIP. FindSIP should be called after Python
# has been found.
#
# This file defines the following variables:
#
# SIP_VERSION - The version of SIP found expressed as a 6 digit hex number
# suitable for comparision as a string.
#
# SIP_VERSION_STR - The version of SIP found as a human readable string.
#
# SIP_EXECUTABLE - Path and filename of the SIP command line executable.
#
# SIP_INCLUDE_DIR - Directory holding the SIP C++ header file.
#
# SIP_DEFAULT_SIP_DIR - Default directory where .sip files should be installed
# into.
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
if(SIP_VERSION)
# Already in cache, be silent
set(SIP_FOUND TRUE)
else(SIP_VERSION)
set(find_sip_py ${CMAKE_SOURCE_DIR}/cmake/FindSIP.py)
execute_process(COMMAND ${PYTHON_EXECUTABLE} ${find_sip_py} OUTPUT_VARIABLE sip_config)
if(sip_config)
string(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config})
string(REGEX REPLACE ".*\nsip_version_str:([^\n]+).*$" "\\1" SIP_VERSION_STR ${sip_config})
string(REGEX REPLACE ".*\nsip_bin:([^\n]+).*$" "\\1" SIP_EXECUTABLE ${sip_config})
string(REGEX REPLACE ".*\ndefault_sip_dir:([^\n]+).*$" "\\1" SIP_DEFAULT_SIP_DIR ${sip_config})
string(REGEX REPLACE ".*\nsip_inc_dir:([^\n]+).*$" "\\1" SIP_INCLUDE_DIR ${sip_config})
set(SIP_FOUND TRUE)
endif(sip_config)
if(SIP_FOUND)
if(NOT SIP_FIND_QUIETLY)
message(STATUS "Found SIP version: ${SIP_VERSION_STR}")
endif(NOT SIP_FIND_QUIETLY)
else(SIP_FOUND)
if(SIP_FIND_REQUIRED)
message(FATAL_ERROR "Could not find SIP")
endif(SIP_FIND_REQUIRED)
endif(SIP_FOUND)
endif(SIP_VERSION)
# FindSIP.py
#
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
import sys
import sipconfig
sipcfg = sipconfig.Configuration()
print("sip_version:%06.0x" % sipcfg.sip_version)
print("sip_version_str:%s" % sipcfg.sip_version_str)
print("sip_bin:%s" % sipcfg.sip_bin)
print("default_sip_dir:%s" % sipcfg.default_sip_dir)
print("sip_inc_dir:%s" % sipcfg.sip_inc_dir)
###########################################################################
# This file is part of LImA, a Library for Image Acquisition
#
# Copyright (C) : 2009-2017
# European Synchrotron Radiation Facility
# CS40220 38043 Grenoble Cedex 9
# FRANCE
#
# Contact: lima@esrf.fr
#
# This is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see <http://www.gnu.org/licenses/>.
############################################################################
function(limatools_set_library_soversion lib_name version_file)
file(STRINGS ${version_file} version)
# for lib version as 1.2.3 soverion is fixed to 1.2
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)" soversion "${version}")
set_target_properties(${lib_name} PROPERTIES VERSION "${version}" SOVERSION "${soversion}")
endfunction()
function(limatools_run_camera_tests test_src cam_name)
foreach(file ${test_src})
add_executable(${file} "${file}.cpp")
target_link_libraries(${file} limacore lima${cam_name})
add_test(NAME ${file} COMMAND ${file})
endforeach(file)
endfunction()
function(limatools_run_sip_for_camera cam_name)
set(INCLUDES)
file(GLOB sipfiles RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}/sip" "${CMAKE_CURRENT_SOURCE_DIR}/sip/*.sip")
foreach(sipfile ${sipfiles})
set(INCLUDES
"${INCLUDES}
%Include ${sipfile}")
endforeach()
set(IMPORTS
"${IMPORTS}
%Import limacore.sip")
if(SIP_VERSION_STR VERSION_LESS "4.12")
configure_file(${CMAKE_SOURCE_DIR}/sip/limamodules_before_4_12.sip.in sip/lima${cam_name}.sip)
else()
configure_file(${CMAKE_SOURCE_DIR}/sip/limamodules.sip.in sip/lima${cam_name}.sip)
endif()
set(SIP_CONCAT_PARTS 1)
set(SIP_INCLUDES ${SIP_INCLUDES}
"${CMAKE_SOURCE_DIR}/third-party/Processlib/sip"
"${CMAKE_BINARY_DIR}/sip/core"
"${CMAKE_SOURCE_DIR}/third-party/Processlib/tasks/sip"
"${CMAKE_SOURCE_DIR}/common/sip"
"${CMAKE_SOURCE_DIR}/hardware/sip"
"${CMAKE_SOURCE_DIR}/control/sip"
"${CMAKE_SOURCE_DIR}/control/software_operation/sip"
"${CMAKE_CURRENT_SOURCE_DIR}/sip")
add_sip_python_module(lima${cam_name} ${CMAKE_CURRENT_BINARY_DIR}/sip/lima${cam_name}.sip)
target_include_directories(python_module_lima${cam_name} PRIVATE
${PYTHON_INCLUDE_DIRS}
"${CMAKE_SOURCE_DIR}/sip"
"${CMAKE_SOURCE_DIR}/sip/core"
"${CMAKE_SOURCE_DIR}/third-party/Processlib/sip")
target_link_libraries(python_module_lima${cam_name} lima${cam_name})
endfunction()