Skip to content

Commit 58fd615

Browse files
committed
Improved build scripts for Windows.
1 parent 360a7fa commit 58fd615

File tree

6 files changed

+117
-11
lines changed

6 files changed

+117
-11
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
1+
.vs
12
build
3+
dist
4+
*.egg-info
25
mercuryapi-*

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
APIVER ?= 1.29.2.10
1+
APIVER ?= 1.29.4.34
22
PYTHON ?= $(shell { command -v python3 || command -v python; } 2>/dev/null)
33

44
.PHONY: all mercuryapi install

mercuryapi.pyproj

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
3+
<PropertyGroup>
4+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5+
<SchemaVersion>2.0</SchemaVersion>
6+
<ProjectGuid>{87a35692-66bf-448d-a61e-9591147d56fc}</ProjectGuid>
7+
<ProjectHome />
8+
<StartupFile>setup-win.py</StartupFile>
9+
<SearchPath />
10+
<WorkingDirectory>.</WorkingDirectory>
11+
<OutputPath>.</OutputPath>
12+
<ProjectTypeGuids>{888888a0-9f3d-457c-b088-3a5042f75d52}</ProjectTypeGuids>
13+
<LaunchProvider>Standard Python launcher</LaunchProvider>
14+
<InterpreterId>Global|PythonCore|3.6-32</InterpreterId>
15+
<Name>mercuryapi</Name>
16+
<CommandLineArguments>bdist_wininst -p win32</CommandLineArguments>
17+
<EnableNativeCodeDebugging>False</EnableNativeCodeDebugging>
18+
<IsWindowsApplication>False</IsWindowsApplication>
19+
</PropertyGroup>
20+
<PropertyGroup Condition="'$(Configuration)' == 'Debug'" />
21+
<PropertyGroup Condition="'$(Configuration)' == 'Release'" />
22+
<PropertyGroup>
23+
<VisualStudioVersion Condition=" '$(VisualStudioVersion)' == '' ">10.0</VisualStudioVersion>
24+
</PropertyGroup>
25+
<ItemGroup>
26+
<Compile Include="setup-win.py" />
27+
<Compile Include="test.py" />
28+
</ItemGroup>
29+
<ItemGroup>
30+
<InterpreterReference Include="Global|PythonCore|3.6-32" />
31+
</ItemGroup>
32+
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets" />
33+
</Project>

mercuryapi.sln

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio 15
4+
VisualStudioVersion = 15.0.27130.2026
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "python-mercuryapi", "python-mercuryapi.pyproj", "{87A35692-66BF-448D-A61E-9591147D56FC}"
7+
EndProject
8+
Global
9+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|Any CPU = Debug|Any CPU
11+
Debug|x64 = Debug|x64
12+
Debug|x86 = Debug|x86
13+
Release|Any CPU = Release|Any CPU
14+
Release|x64 = Release|x64
15+
Release|x86 = Release|x86
16+
EndGlobalSection
17+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
18+
{87A35692-66BF-448D-A61E-9591147D56FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
19+
{87A35692-66BF-448D-A61E-9591147D56FC}.Debug|x64.ActiveCfg = Debug|Any CPU
20+
{87A35692-66BF-448D-A61E-9591147D56FC}.Debug|x86.ActiveCfg = Debug|Any CPU
21+
{87A35692-66BF-448D-A61E-9591147D56FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
22+
{87A35692-66BF-448D-A61E-9591147D56FC}.Release|x64.ActiveCfg = Release|Any CPU
23+
{87A35692-66BF-448D-A61E-9591147D56FC}.Release|x86.ActiveCfg = Release|Any CPU
24+
EndGlobalSection
25+
GlobalSection(SolutionProperties) = preSolution
26+
HideSolutionNode = FALSE
27+
EndGlobalSection
28+
GlobalSection(ExtensibilityGlobals) = postSolution
29+
SolutionGuid = {8F032F6E-180D-4CCC-9AE3-68A1A55827FC}
30+
EndGlobalSection
31+
EndGlobal

setup-win.py

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,50 @@
1-
# python setup-win.py bdist --format=wininst
1+
# python setup-win.py bdist_wininst -p win32
22

3-
from distutils.core import setup, Extension
4-
setup(name="mercuryapi", version="0.2",
3+
from glob import glob;
4+
from setuptools import setup, find_packages
5+
from setuptools.extension import Extension
6+
7+
# you need to download http://www.thingmagic.com/mercuryapi
8+
# http://www.thingmagic.com/images/Downloads/software/mercuryapi-1.29.4.34.zip
9+
mercuryapi = "mercuryapi-1.29.4.34/c/src/"
10+
11+
setup(name="mercuryapi", version="0.3",
512
ext_modules=[Extension("mercury",
6-
sources=["mercury.c"],
7-
libraries=["mercuryapi"],
8-
include_dirs=['mercuryapi-1.27.3.16/c/src/api',
9-
'mercuryapi-1.27.3.16/c/src/arch/win32/include'],
10-
library_dirs=['mercuryapi-1.27.3.16/c/proj/MercuryAPI/Release'])],
11-
data_files = [('', ["mercuryapi-1.27.3.16/c/src/arch/win32/lib/pthreadVC2.dll"])])
13+
[mercuryapi + "api/hex_bytes.c",
14+
mercuryapi + "api/llrp_reader.c",
15+
mercuryapi + "api/llrp_reader_l3.c",
16+
mercuryapi + "api/ltkc_win32/src/ltkc_array.c",
17+
mercuryapi + "api/ltkc_win32/src/ltkc_connection.c",
18+
mercuryapi + "api/ltkc_win32/src/ltkc_element.c",
19+
mercuryapi + "api/ltkc_win32/src/ltkc_encdec.c",
20+
mercuryapi + "api/ltkc_win32/src/ltkc_error.c",
21+
mercuryapi + "api/ltkc_win32/src/ltkc_framedecode.c",
22+
mercuryapi + "api/ltkc_win32/src/ltkc_frameencode.c",
23+
mercuryapi + "api/ltkc_win32/src/ltkc_frameextract.c",
24+
mercuryapi + "api/ltkc_win32/src/ltkc_genout.c",
25+
mercuryapi + "api/ltkc_win32/src/ltkc_hdrfd.c",
26+
mercuryapi + "api/ltkc_win32/src/ltkc_typeregistry.c",
27+
mercuryapi + "api/ltkc_win32/src/ltkc_xmltextencode.c",
28+
mercuryapi + "api/ltkc_win32/src/tm_ltkc_genout.c",
29+
mercuryapi + "api/osdep_win32.c",
30+
mercuryapi + "api/serial_reader.c",
31+
mercuryapi + "api/serial_reader_l3.c",
32+
mercuryapi + "api/serial_transport_tcp_win32.c",
33+
mercuryapi + "api/serial_transport_win32.c",
34+
mercuryapi + "api/tmr_loadsave_configuration.c",
35+
mercuryapi + "api/tmr_param.c",
36+
mercuryapi + "api/tmr_strerror.c",
37+
mercuryapi + "api/tmr_utils.c",
38+
mercuryapi + "api/tm_reader.c",
39+
mercuryapi + "api/tm_reader_async.c",
40+
"mercury.c"],
41+
define_macros=[('WIN32', '1'),
42+
('HAVE_STRUCT_TIMESPEC', None),
43+
('_CRT_SECURE_NO_WARNINGS', None)],
44+
include_dirs=[mercuryapi + 'api',
45+
mercuryapi + 'api/ltkc_win32/inc',
46+
mercuryapi + 'pthreads-win32/pthreads.2'],
47+
libraries=["pthreadVC2"],
48+
library_dirs=[mercuryapi + 'pthreads-win32/x86']
49+
)],
50+
data_files = [('', [mercuryapi + 'pthreads-win32/x86/pthreadVC2.dll'])])

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# python3 setup.py build
22

3-
from distutils.core import setup, Extension
3+
from setuptools import setup, Extension
44
setup(name="mercuryapi", version="0.2",
55
ext_modules=[Extension("mercury",
66
sources=["mercury.c"],

0 commit comments

Comments
 (0)