fast_excel 0.5.0 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/test.yml +5 -1
- data/.gitignore +3 -0
- data/.octocov.yml +28 -0
- data/CHANGELOG.md +9 -0
- data/Gemfile +4 -2
- data/Rakefile +4 -1
- data/examples/comment_options.rb +39 -0
- data/fast_excel.gemspec +3 -2
- data/lib/fast_excel/binding/workbook.rb +53 -6
- data/lib/fast_excel/binding/worksheet.rb +28 -4
- data/lib/fast_excel/binding.rb +116 -13
- data/lib/fast_excel.rb +13 -12
- data/libxlsxwriter/.cirrus.yml +9 -0
- data/libxlsxwriter/.github/workflows/cmake_actions.yml +10 -6
- data/libxlsxwriter/.github/workflows/code_style.yml +2 -0
- data/libxlsxwriter/.github/workflows/make_32_actions.yml +43 -0
- data/libxlsxwriter/.github/workflows/windows_build.yml +7 -6
- data/libxlsxwriter/.github/workflows/zig_build.yml +1 -3
- data/libxlsxwriter/.gitignore +9 -7
- data/libxlsxwriter/.indent.pro +6 -0
- data/libxlsxwriter/CMakeLists.txt +377 -238
- data/libxlsxwriter/Changes.txt +189 -0
- data/libxlsxwriter/LICENSE.txt +1 -1
- data/libxlsxwriter/Makefile +36 -4
- data/libxlsxwriter/Readme.md +1 -1
- data/libxlsxwriter/build.zig +181 -92
- data/libxlsxwriter/build.zig.zon +15 -4
- data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +4 -0
- data/libxlsxwriter/include/xlsxwriter/app.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/chart.h +134 -1
- data/libxlsxwriter/include/xlsxwriter/chartsheet.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/comment.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/common.h +12 -8
- data/libxlsxwriter/include/xlsxwriter/content_types.h +3 -1
- data/libxlsxwriter/include/xlsxwriter/core.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/custom.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/drawing.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/format.h +34 -3
- data/libxlsxwriter/include/xlsxwriter/hash_table.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/metadata.h +5 -1
- data/libxlsxwriter/include/xlsxwriter/packager.h +6 -1
- data/libxlsxwriter/include/xlsxwriter/relationships.h +3 -1
- data/libxlsxwriter/include/xlsxwriter/rich_value.h +51 -0
- data/libxlsxwriter/include/xlsxwriter/rich_value_rel.h +50 -0
- data/libxlsxwriter/include/xlsxwriter/rich_value_structure.h +53 -0
- data/libxlsxwriter/include/xlsxwriter/rich_value_types.h +49 -0
- data/libxlsxwriter/include/xlsxwriter/shared_strings.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/styles.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/table.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/theme.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/third_party/ioapi.h +4 -4
- data/libxlsxwriter/include/xlsxwriter/third_party/zip.h +3 -3
- data/libxlsxwriter/include/xlsxwriter/utility.h +58 -7
- data/libxlsxwriter/include/xlsxwriter/vml.h +2 -1
- data/libxlsxwriter/include/xlsxwriter/workbook.h +59 -2
- data/libxlsxwriter/include/xlsxwriter/worksheet.h +159 -13
- data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +11 -10
- data/libxlsxwriter/include/xlsxwriter.h +5 -4
- data/libxlsxwriter/libxlsxwriter.podspec +6 -6
- data/libxlsxwriter/src/Makefile +2 -1
- data/libxlsxwriter/src/app.c +2 -1
- data/libxlsxwriter/src/chart.c +360 -63
- data/libxlsxwriter/src/chartsheet.c +2 -1
- data/libxlsxwriter/src/comment.c +2 -1
- data/libxlsxwriter/src/content_types.c +22 -1
- data/libxlsxwriter/src/core.c +2 -1
- data/libxlsxwriter/src/custom.c +2 -1
- data/libxlsxwriter/src/drawing.c +7 -3
- data/libxlsxwriter/src/format.c +21 -1
- data/libxlsxwriter/src/hash_table.c +2 -1
- data/libxlsxwriter/src/metadata.c +176 -20
- data/libxlsxwriter/src/packager.c +306 -6
- data/libxlsxwriter/src/relationships.c +25 -1
- data/libxlsxwriter/src/rich_value.c +191 -0
- data/libxlsxwriter/src/rich_value_rel.c +142 -0
- data/libxlsxwriter/src/rich_value_structure.c +162 -0
- data/libxlsxwriter/src/rich_value_types.c +199 -0
- data/libxlsxwriter/src/shared_strings.c +2 -1
- data/libxlsxwriter/src/styles.c +31 -7
- data/libxlsxwriter/src/table.c +2 -1
- data/libxlsxwriter/src/theme.c +2 -1
- data/libxlsxwriter/src/utility.c +136 -46
- data/libxlsxwriter/src/vml.c +2 -1
- data/libxlsxwriter/src/workbook.c +191 -10
- data/libxlsxwriter/src/worksheet.c +514 -34
- data/libxlsxwriter/src/xmlwriter.c +17 -22
- data/libxlsxwriter/third_party/minizip/Makefile.orig +1 -1
- data/libxlsxwriter/third_party/minizip/configure.ac +1 -1
- data/libxlsxwriter/third_party/minizip/ioapi.h +6 -6
- data/libxlsxwriter/third_party/minizip/miniunz.c +16 -2
- data/libxlsxwriter/third_party/minizip/unzip.c +4 -4
- data/libxlsxwriter/third_party/minizip/unzip.h +1 -1
- data/libxlsxwriter/third_party/minizip/zip.c +5 -5
- data/libxlsxwriter/third_party/minizip/zip.h +3 -3
- data/libxlsxwriter/version.txt +1 -1
- data/sonar-project.properties +4 -0
- data/test/color_to_hex_test.rb +15 -0
- data/test/comment_opt_test.rb +76 -0
- data/test/date_test.rb +14 -0
- data/test/format_test.rb +5 -1
- data/test/get_worksheet_test.rb +28 -0
- data/test/test_helper.rb +7 -4
- data/test/tmpdir_test.rb +32 -0
- data/test/validations_test.rb +25 -19
- data/test/worksheet_test.rb +10 -2
- metadata +42 -12
- data/libxlsxwriter/cmake/FindMINIZIP.cmake +0 -121
- data/libxlsxwriter/cmake/FindPackage.cmake +0 -183
- data/libxlsxwriter/cmake/i686-toolchain.cmake +0 -7
- data/test/reopen_test.rb +0 -22
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fast_excel
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pavel Evstigneev
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: ffi
|
|
@@ -16,7 +15,7 @@ dependencies:
|
|
|
16
15
|
requirements:
|
|
17
16
|
- - ">"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '1.
|
|
18
|
+
version: '1.17'
|
|
20
19
|
- - "<"
|
|
21
20
|
- !ruby/object:Gem::Version
|
|
22
21
|
version: '2'
|
|
@@ -26,7 +25,27 @@ dependencies:
|
|
|
26
25
|
requirements:
|
|
27
26
|
- - ">"
|
|
28
27
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '1.
|
|
28
|
+
version: '1.17'
|
|
29
|
+
- - "<"
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
version: '2'
|
|
32
|
+
- !ruby/object:Gem::Dependency
|
|
33
|
+
name: base64
|
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
|
35
|
+
requirements:
|
|
36
|
+
- - ">="
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: '0.2'
|
|
39
|
+
- - "<"
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
version: '2'
|
|
42
|
+
type: :runtime
|
|
43
|
+
prerelease: false
|
|
44
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
45
|
+
requirements:
|
|
46
|
+
- - ">="
|
|
47
|
+
- !ruby/object:Gem::Version
|
|
48
|
+
version: '0.2'
|
|
30
49
|
- - "<"
|
|
31
50
|
- !ruby/object:Gem::Version
|
|
32
51
|
version: '2'
|
|
@@ -41,6 +60,7 @@ files:
|
|
|
41
60
|
- ".dockerignore"
|
|
42
61
|
- ".github/workflows/test.yml"
|
|
43
62
|
- ".gitignore"
|
|
63
|
+
- ".octocov.yml"
|
|
44
64
|
- CHANGELOG.md
|
|
45
65
|
- Dockerfile.test
|
|
46
66
|
- Gemfile
|
|
@@ -55,6 +75,7 @@ files:
|
|
|
55
75
|
- benchmarks/memory.rb
|
|
56
76
|
- benchmarks/profiler.rb
|
|
57
77
|
- benchmarks/write_value.rb
|
|
78
|
+
- examples/comment_options.rb
|
|
58
79
|
- examples/example.rb
|
|
59
80
|
- examples/example_align.rb
|
|
60
81
|
- examples/example_auto_width.rb
|
|
@@ -78,12 +99,14 @@ files:
|
|
|
78
99
|
- lib/fast_excel/binding/format.rb
|
|
79
100
|
- lib/fast_excel/binding/workbook.rb
|
|
80
101
|
- lib/fast_excel/binding/worksheet.rb
|
|
102
|
+
- libxlsxwriter/.cirrus.yml
|
|
81
103
|
- libxlsxwriter/.github/FUNDING.yml
|
|
82
104
|
- libxlsxwriter/.github/ISSUE_TEMPLATE.md
|
|
83
105
|
- libxlsxwriter/.github/PULL_REQUEST_TEMPLATE.md
|
|
84
106
|
- libxlsxwriter/.github/workflows/cmake_actions.yml
|
|
85
107
|
- libxlsxwriter/.github/workflows/code_style.yml
|
|
86
108
|
- libxlsxwriter/.github/workflows/coverity.yml
|
|
109
|
+
- libxlsxwriter/.github/workflows/make_32_actions.yml
|
|
87
110
|
- libxlsxwriter/.github/workflows/make_actions.yml
|
|
88
111
|
- libxlsxwriter/.github/workflows/valgrind.yml
|
|
89
112
|
- libxlsxwriter/.github/workflows/windows_build.yml
|
|
@@ -99,9 +122,6 @@ files:
|
|
|
99
122
|
- libxlsxwriter/Readme.md
|
|
100
123
|
- libxlsxwriter/build.zig
|
|
101
124
|
- libxlsxwriter/build.zig.zon
|
|
102
|
-
- libxlsxwriter/cmake/FindMINIZIP.cmake
|
|
103
|
-
- libxlsxwriter/cmake/FindPackage.cmake
|
|
104
|
-
- libxlsxwriter/cmake/i686-toolchain.cmake
|
|
105
125
|
- libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h
|
|
106
126
|
- libxlsxwriter/cocoapods/libxlsxwriter.modulemap
|
|
107
127
|
- libxlsxwriter/include/xlsxwriter.h
|
|
@@ -119,6 +139,10 @@ files:
|
|
|
119
139
|
- libxlsxwriter/include/xlsxwriter/metadata.h
|
|
120
140
|
- libxlsxwriter/include/xlsxwriter/packager.h
|
|
121
141
|
- libxlsxwriter/include/xlsxwriter/relationships.h
|
|
142
|
+
- libxlsxwriter/include/xlsxwriter/rich_value.h
|
|
143
|
+
- libxlsxwriter/include/xlsxwriter/rich_value_rel.h
|
|
144
|
+
- libxlsxwriter/include/xlsxwriter/rich_value_structure.h
|
|
145
|
+
- libxlsxwriter/include/xlsxwriter/rich_value_types.h
|
|
122
146
|
- libxlsxwriter/include/xlsxwriter/shared_strings.h
|
|
123
147
|
- libxlsxwriter/include/xlsxwriter/styles.h
|
|
124
148
|
- libxlsxwriter/include/xlsxwriter/table.h
|
|
@@ -151,6 +175,10 @@ files:
|
|
|
151
175
|
- libxlsxwriter/src/metadata.c
|
|
152
176
|
- libxlsxwriter/src/packager.c
|
|
153
177
|
- libxlsxwriter/src/relationships.c
|
|
178
|
+
- libxlsxwriter/src/rich_value.c
|
|
179
|
+
- libxlsxwriter/src/rich_value_rel.c
|
|
180
|
+
- libxlsxwriter/src/rich_value_structure.c
|
|
181
|
+
- libxlsxwriter/src/rich_value_types.c
|
|
154
182
|
- libxlsxwriter/src/shared_strings.c
|
|
155
183
|
- libxlsxwriter/src/styles.c
|
|
156
184
|
- libxlsxwriter/src/table.c
|
|
@@ -194,12 +222,16 @@ files:
|
|
|
194
222
|
- libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c
|
|
195
223
|
- libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h
|
|
196
224
|
- libxlsxwriter/version.txt
|
|
225
|
+
- sonar-project.properties
|
|
197
226
|
- test/auto_width_test.rb
|
|
227
|
+
- test/color_to_hex_test.rb
|
|
228
|
+
- test/comment_opt_test.rb
|
|
198
229
|
- test/date_test.rb
|
|
199
230
|
- test/default_format_test.rb
|
|
200
231
|
- test/format_test.rb
|
|
201
|
-
- test/
|
|
232
|
+
- test/get_worksheet_test.rb
|
|
202
233
|
- test/test_helper.rb
|
|
234
|
+
- test/tmpdir_test.rb
|
|
203
235
|
- test/tmpfile_test.rb
|
|
204
236
|
- test/validations_test.rb
|
|
205
237
|
- test/worksheet_test.rb
|
|
@@ -207,7 +239,6 @@ homepage: https://github.com/paxa/fast_excel
|
|
|
207
239
|
licenses:
|
|
208
240
|
- MIT
|
|
209
241
|
metadata: {}
|
|
210
|
-
post_install_message:
|
|
211
242
|
rdoc_options: []
|
|
212
243
|
require_paths:
|
|
213
244
|
- lib
|
|
@@ -222,8 +253,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
222
253
|
- !ruby/object:Gem::Version
|
|
223
254
|
version: '0'
|
|
224
255
|
requirements: []
|
|
225
|
-
rubygems_version:
|
|
226
|
-
signing_key:
|
|
256
|
+
rubygems_version: 4.0.16
|
|
227
257
|
specification_version: 4
|
|
228
258
|
summary: Ultra Fast Excel Writer
|
|
229
259
|
test_files: []
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
# :copyright: (c) 2017 Alex Huszagh.
|
|
2
|
-
# :license: FreeBSD, see LICENSE.txt for more details.
|
|
3
|
-
|
|
4
|
-
# FindMINIZIP
|
|
5
|
-
# -----------
|
|
6
|
-
#
|
|
7
|
-
# Find MINIZIP include dirs and libraries
|
|
8
|
-
#
|
|
9
|
-
# Use this module by invoking find_package with the form::
|
|
10
|
-
#
|
|
11
|
-
# find_package(MINIZIP
|
|
12
|
-
# [version] [EXACT] # Minimum or EXACT version e.g. 1.0.6
|
|
13
|
-
# [REQUIRED] # Fail with error if MINIZIP is not found
|
|
14
|
-
# )
|
|
15
|
-
#
|
|
16
|
-
# You may also set `MINIZIP_USE_STATIC_LIBS` to prefer static libraries
|
|
17
|
-
# to shared ones.
|
|
18
|
-
#
|
|
19
|
-
# If found, `MINIZIP_FOUND` will be set to true, and `MINIZIP_LIBRARIES`
|
|
20
|
-
# and `MINIZIP_INCLUDE_DIRS` will both be set.
|
|
21
|
-
#
|
|
22
|
-
# You may optionally set `MINIZIP_ROOT` to specify a custom root directory
|
|
23
|
-
# for the MINIZIP installation.
|
|
24
|
-
#
|
|
25
|
-
|
|
26
|
-
include(CheckCXXSourceCompiles)
|
|
27
|
-
include(FindPackage)
|
|
28
|
-
|
|
29
|
-
# PATHS
|
|
30
|
-
# -----
|
|
31
|
-
|
|
32
|
-
set(MINIZIP_SEARCH_PATHS)
|
|
33
|
-
|
|
34
|
-
if(MINIZIP_ROOT)
|
|
35
|
-
list(APPEND MINIZIP_SEARCH_PATHS ${MINIZIP_ROOT})
|
|
36
|
-
endif()
|
|
37
|
-
|
|
38
|
-
if(WIN32)
|
|
39
|
-
list(APPEND ZLIB_SEARCH_PATHS
|
|
40
|
-
"$ENV{PROGRAMFILES}/minizip"
|
|
41
|
-
)
|
|
42
|
-
endif()
|
|
43
|
-
|
|
44
|
-
unset(MINIZIP_SYSTEM_ROOT)
|
|
45
|
-
unset(MINIZIP_CUSTOM_ROOT)
|
|
46
|
-
unset(MINIZIP_SEARCH_HKEY)
|
|
47
|
-
|
|
48
|
-
# FIND
|
|
49
|
-
# ----
|
|
50
|
-
|
|
51
|
-
# INCLUDE DIRECTORY
|
|
52
|
-
SetSuffixes(MINIZIP)
|
|
53
|
-
foreach(search ${MINIZIP_SEARCH_PATHS})
|
|
54
|
-
FIND_PATH(MINIZIP_INCLUDE_DIR
|
|
55
|
-
NAMES minizip/zip.h
|
|
56
|
-
PATHS ${search}
|
|
57
|
-
PATH_SUFFIXES include
|
|
58
|
-
)
|
|
59
|
-
endforeach(search)
|
|
60
|
-
|
|
61
|
-
if(NOT MINIZIP_INCLUDE_DIR)
|
|
62
|
-
FIND_PATH(MINIZIP_INCLUDE_DIR minizip/zip.h PATH_SUFFIXES include)
|
|
63
|
-
endif()
|
|
64
|
-
|
|
65
|
-
# LIBRARY PATHS
|
|
66
|
-
set(MINIZIP_LIBRARY_NAMES minizip)
|
|
67
|
-
if(CMAKE_BUILD_TYPE MATCHES Debug)
|
|
68
|
-
list(APPEND MINIZIP_LIBRARY_NAMES minizipd)
|
|
69
|
-
endif()
|
|
70
|
-
|
|
71
|
-
foreach(search ${MINIZIP_SEARCH_PATHS})
|
|
72
|
-
FIND_LIBRARY(MINIZIP_LIBRARY
|
|
73
|
-
NAMES ${MINIZIP_LIBRARY_NAMES}
|
|
74
|
-
PATHS ${search}
|
|
75
|
-
PATH_SUFFIXES lib
|
|
76
|
-
)
|
|
77
|
-
endforeach(search)
|
|
78
|
-
|
|
79
|
-
if(NOT MINIZIP_LIBRARY)
|
|
80
|
-
FIND_LIBRARY(MINIZIP_LIBRARY NAMES ${MINIZIP_LIBRARY_NAMES} PATH_SUFFIXES lib)
|
|
81
|
-
endif()
|
|
82
|
-
|
|
83
|
-
set(MINIZIP_INCLUDE_DIRS ${MINIZIP_INCLUDE_DIR})
|
|
84
|
-
set(MINIZIP_LIBRARIES ${MINIZIP_LIBRARY})
|
|
85
|
-
|
|
86
|
-
CheckFound(MINIZIP)
|
|
87
|
-
FindStaticLibs(MINIZIP)
|
|
88
|
-
|
|
89
|
-
# VERSION
|
|
90
|
-
# -------
|
|
91
|
-
|
|
92
|
-
if(MINIZIP_FOUND)
|
|
93
|
-
file(STRINGS "${MINIZIP_INCLUDE_DIRS}/zlib.h" MINIZIP_VERSION_CONTENTS REGEX "version [0-9]+\\.[0-9]+(\\.[0-9]+)?")
|
|
94
|
-
string(REGEX REPLACE ".*version ([0-9]+)\\.[0-9]+" "\\1" MINIZIP_VERSION_MAJOR "${MINIZIP_VERSION_CONTENTS}")
|
|
95
|
-
string(REGEX REPLACE ".*version [0-9]+\\.([0-9]+)" "\\1" MINIZIP_VERSION_MINOR "${MINIZIP_VERSION_CONTENTS}")
|
|
96
|
-
set(MINIZIP_VERSION_PATCH 0)
|
|
97
|
-
|
|
98
|
-
set(MINIZIP_VERSION_STRING "${MINIZIP_VERSION_MAJOR}.${MINIZIP_VERSION_MINOR}.${MINIZIP_VERSION_PATCH}")
|
|
99
|
-
set(MINIZIP_VERSION ${MINIZIP_VERSION_STRING})
|
|
100
|
-
|
|
101
|
-
MatchVersion(MINIZIP)
|
|
102
|
-
endif()
|
|
103
|
-
|
|
104
|
-
# COMPILATION
|
|
105
|
-
# -----------
|
|
106
|
-
|
|
107
|
-
set(MINIZIP_CODE "
|
|
108
|
-
#include <minizip/zip.h>
|
|
109
|
-
int main(void)
|
|
110
|
-
{
|
|
111
|
-
zip_fileinfo zipfile_info;
|
|
112
|
-
|
|
113
|
-
return 0;
|
|
114
|
-
}
|
|
115
|
-
"
|
|
116
|
-
)
|
|
117
|
-
|
|
118
|
-
if(MINIZIP_FOUND)
|
|
119
|
-
CheckCompiles(MINIZIP)
|
|
120
|
-
endif()
|
|
121
|
-
RequiredPackageFound(MINIZIP)
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
# :copyright: (c) 2017 Alex Huszagh.
|
|
2
|
-
# :license: FreeBSD, see LICENSE.txt for more details.
|
|
3
|
-
|
|
4
|
-
# FindPackage
|
|
5
|
-
# -----------
|
|
6
|
-
#
|
|
7
|
-
# Macros and functions to help find packages. Do not invoke this module
|
|
8
|
-
# directly, it merely provides library definitions to be invoked
|
|
9
|
-
# by other find utilities.
|
|
10
|
-
|
|
11
|
-
include(CheckCXXSourceCompiles)
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
# Return if the package name has previously been found
|
|
15
|
-
#
|
|
16
|
-
# Args:
|
|
17
|
-
# packageName Name of the package
|
|
18
|
-
#
|
|
19
|
-
# Example:
|
|
20
|
-
# ReturnFound(Iconv)
|
|
21
|
-
#
|
|
22
|
-
macro(ReturnFound packageName)
|
|
23
|
-
if(${packageName}_FOUND)
|
|
24
|
-
return()
|
|
25
|
-
endif()
|
|
26
|
-
endmacro(ReturnFound)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
# Set the library extensions for a given package dependent on whether
|
|
30
|
-
# to search for static or dynamic libraries.
|
|
31
|
-
#
|
|
32
|
-
# Args:
|
|
33
|
-
# packageName Name of the package
|
|
34
|
-
#
|
|
35
|
-
# Example:
|
|
36
|
-
# SetSuffixes(IConv)
|
|
37
|
-
#
|
|
38
|
-
macro(SetSuffixes packageName)
|
|
39
|
-
if(${packageName}_USE_STATIC_LIBS)
|
|
40
|
-
if(MSVC)
|
|
41
|
-
set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
|
|
42
|
-
else()
|
|
43
|
-
set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
|
|
44
|
-
endif()
|
|
45
|
-
else()
|
|
46
|
-
if(WIN32)
|
|
47
|
-
set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll.a" ".dll" ".lib" ".a")
|
|
48
|
-
else()
|
|
49
|
-
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
|
|
50
|
-
endif()
|
|
51
|
-
endif()
|
|
52
|
-
endmacro(SetSuffixes)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
# Check if the package was found.
|
|
56
|
-
#
|
|
57
|
-
# Args:
|
|
58
|
-
# packageName Name of the package
|
|
59
|
-
#
|
|
60
|
-
# Example:
|
|
61
|
-
# CheckFound(IConv)
|
|
62
|
-
#
|
|
63
|
-
macro(CheckFound packageName)
|
|
64
|
-
if(${packageName}_INCLUDE_DIRS AND ${packageName}_LIBRARIES)
|
|
65
|
-
set(${packageName}_FOUND TRUE)
|
|
66
|
-
endif()
|
|
67
|
-
endmacro(CheckFound)
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
# Replace a dynamic library with a `.dll.a` extension with the corresponding
|
|
71
|
-
# library removing the `.dll`.
|
|
72
|
-
#
|
|
73
|
-
# Args:
|
|
74
|
-
# libraryName Variable name for path to found library
|
|
75
|
-
#
|
|
76
|
-
# Example:
|
|
77
|
-
# ReplaceDynamic(/mingw64/lib/libiconv.dll.a)
|
|
78
|
-
#
|
|
79
|
-
macro(ReplaceDynamic libraryName)
|
|
80
|
-
if(${libraryName} MATCHES ".dll.a")
|
|
81
|
-
string(REPLACE ".dll.a" ".a" static ${${libraryName}})
|
|
82
|
-
if(EXISTS ${static})
|
|
83
|
-
set(${libraryName} ${static})
|
|
84
|
-
endif()
|
|
85
|
-
endif()
|
|
86
|
-
endmacro(ReplaceDynamic)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
# Replace a dynamic libraries with the static variants, with integrity
|
|
90
|
-
# checks for the package.
|
|
91
|
-
#
|
|
92
|
-
# Args:
|
|
93
|
-
# packageName Name of the package
|
|
94
|
-
#
|
|
95
|
-
# Example:
|
|
96
|
-
# FindStaticLibs(IConv)
|
|
97
|
-
#
|
|
98
|
-
macro(FindStaticLibs packageName)
|
|
99
|
-
if(${packageName}_USE_STATIC_LIBS AND MSYS)
|
|
100
|
-
# convert `.dll.a` to `.a`
|
|
101
|
-
set(${packageName}_LIBRARY_SOURCE ${${packageName}_LIBRARIES})
|
|
102
|
-
set(${packageName}_LIBRARIES "")
|
|
103
|
-
foreach(library ${${packageName}_LIBRARY_SOURCE})
|
|
104
|
-
# replace each dynamic library with a single one
|
|
105
|
-
set(static_library ${library})
|
|
106
|
-
ReplaceDynamic(static_library)
|
|
107
|
-
list(APPEND ${packageName}_LIBRARIES ${static_library})
|
|
108
|
-
endforeach(library)
|
|
109
|
-
endif()
|
|
110
|
-
endmacro(FindStaticLibs)
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
# Checks if a suitable version for the found library was identified,
|
|
114
|
-
# if provided. The library can either force exact or inexact matching.
|
|
115
|
-
#
|
|
116
|
-
# Args:
|
|
117
|
-
# packageName Name of the package
|
|
118
|
-
#
|
|
119
|
-
# Example:
|
|
120
|
-
# MatchVersion(ICU)
|
|
121
|
-
#
|
|
122
|
-
macro(MatchVersion packageName)
|
|
123
|
-
if(${packageName}_FOUND AND ${packageName}_FIND_VERSION)
|
|
124
|
-
# MATCH VERSION
|
|
125
|
-
if(${packageName}_FIND_VERSION_EXACT)
|
|
126
|
-
# EXACT VERSION
|
|
127
|
-
if(${packageName}_FIND_VERSION VERSION_EQUAL ${packageName}_VERSION)
|
|
128
|
-
else()
|
|
129
|
-
set(${packageName}_FOUND FALSE)
|
|
130
|
-
endif()
|
|
131
|
-
else()
|
|
132
|
-
# GREATER THAN VERSION
|
|
133
|
-
if(${packageName}_VERSION VERSION_LESS ${packageName}_FIND_VERSION)
|
|
134
|
-
set(${packageName}_FOUND FALSE)
|
|
135
|
-
endif()
|
|
136
|
-
endif()
|
|
137
|
-
endif()
|
|
138
|
-
endmacro(MatchVersion)
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
# Check if a sample program compiles, if not, set the library to not found.
|
|
142
|
-
#
|
|
143
|
-
# Args:
|
|
144
|
-
# packageName Name of the package
|
|
145
|
-
# code String of simple program depending on the library
|
|
146
|
-
#
|
|
147
|
-
# Example:
|
|
148
|
-
# set(IConv_CODE "int main(int argc, char **argv){ return 0; }")
|
|
149
|
-
# CheckCompiles(IConv)
|
|
150
|
-
#
|
|
151
|
-
macro(CheckCompiles packageName)
|
|
152
|
-
# FLAGS
|
|
153
|
-
set(CMAKE_REQUIRED_INCLUDES ${${packageName}_INCLUDE_DIRS})
|
|
154
|
-
set(CMAKE_REQUIRED_LIBRARIES ${${packageName}_LIBRARIES})
|
|
155
|
-
|
|
156
|
-
# COMPILATION
|
|
157
|
-
check_cxx_source_compiles("${${packageName}_CODE}" ${packageName}_COMPILES)
|
|
158
|
-
if(NOT ${${packageName}_COMPILES})
|
|
159
|
-
set(${packageName}_FOUND FALSE)
|
|
160
|
-
message(SEND_ERROR "Cannot compile a simple ${packageName} program.")
|
|
161
|
-
endif()
|
|
162
|
-
|
|
163
|
-
endmacro(CheckCompiles)
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
# Send an error if a required package was not found. Otherwise, if the
|
|
167
|
-
# package is found, report to the user it was identified.
|
|
168
|
-
#
|
|
169
|
-
# Args:
|
|
170
|
-
# packageName Name of the package
|
|
171
|
-
#
|
|
172
|
-
# Example:
|
|
173
|
-
# RequiredPackageFound(ICU)
|
|
174
|
-
#
|
|
175
|
-
macro(RequiredPackageFound packageName)
|
|
176
|
-
if(${packageName}_FOUND)
|
|
177
|
-
message("Found ${packageName}.")
|
|
178
|
-
else()
|
|
179
|
-
if(${packageName}_FIND_REQUIRED)
|
|
180
|
-
message(SEND_ERROR "Unable to find requested ${packageName} libraries.")
|
|
181
|
-
endif()
|
|
182
|
-
endif()
|
|
183
|
-
endmacro(RequiredPackageFound)
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
set(CMAKE_SYSTEM_NAME Linux)
|
|
2
|
-
set(CMAKE_SYSTEM_VERSION 1)
|
|
3
|
-
set(CMAKE_SYSTEM_PROCESSOR "i686")
|
|
4
|
-
|
|
5
|
-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "c++ flags")
|
|
6
|
-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "c flags")
|
|
7
|
-
set(CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} -m32" CACHE STRING "asm flags")
|
data/test/reopen_test.rb
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
require_relative 'test_helper'
|
|
2
|
-
|
|
3
|
-
describe "FastExcel::Worksheet" do
|
|
4
|
-
|
|
5
|
-
it "should get_worksheet_by_name" do
|
|
6
|
-
workbook = FastExcel.open(constant_memory: false)
|
|
7
|
-
workbook.add_worksheet("Page1")
|
|
8
|
-
|
|
9
|
-
ws = workbook.get_worksheet_by_name("Page1")
|
|
10
|
-
ws.write_row(0, ['1'])
|
|
11
|
-
|
|
12
|
-
workbook.close
|
|
13
|
-
|
|
14
|
-
error = assert_raises do
|
|
15
|
-
FastExcel.open(workbook.filename, constant_memory: false)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
assert_equal(error.class, ArgumentError)
|
|
19
|
-
assert_equal(error.message, "File '#{workbook.filename}' already exists. FastExcel can not open existing files, only create new files")
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
end
|