在代码块中排除 Cmake 依赖
Exclude Cmake dependecies in biicode block
我想将我的库项目移植到 biicode,但是我的示例使用的二进制文件对于 biicode 块来说太大了(有 12MB 的限制),所以我将示例文件夹添加到 ignore.bii 文件.
问题是它现在寻找 example/CMakeLists.txt 因为我使用的是包裹在
中的旧 CMakeLists.txt
IF(BIICODE)
INIT_BIICODE_BLOCK()
ADD_BIICODE_TARGETS()
ELSE()
#MY OLD CMAKELIST HERE
ENDIF()
它实际上构建良好,但 bii deps
仍然试图解决依赖关系
我该怎么办?我真的不想删除或更改太多东西来支持 biicode,因为该项目已经在 github.
编辑:
这是项目的 link:https://github.com/Lectem/libmpo
我在 biicode.conf 中按照
尝试了一些东西
[dependencies]
CMakeLists.txt - example/CMakeLists.txt
include/libmpo/mpo.h - jpeglib.h
但我明白了:
WARN: Lectem/libmpo/biicode.conf, [dependencies] CMakeLists.txt - example/CMakeLists.txt
There are no files matching pattern example/CMakeLists.txt
WARN: Lectem/libmpo/biicode.conf, [dependencies] include/libmpo/mpo.h - jpeglib.h
There are no files matching pattern jpeglib.h
Lectem/libmpo depends on:
Lectem/libmpo (self)
include/libmpo/cmpo.h
src/cmpo.c (E)
include/libmpo/mpo.h
src/cmpo.c (E)
src/dmpo.c (E)
src/mpo.c (E)
src/cmpo.c
include/libmpo/cmpo.h (I)
src/dmpo.c
include/libmpo/mpo.h (I)
src/mpo.c
include/libmpo/mpo.h (I)
jpeg/jpeg: 0
jpeglib.h
include/libmpo/mpo.h (E)
system:
assert.h
src/cmpo.c
src/mpo.c
stdint.h
include/libmpo/mpo.h
stdio.h
include/libmpo/mpo.h
stdlib.h
include/libmpo/mpo.h
unresolved:
example/CMakeLists.txt
CMakeLists.txt
jpeglib.h
include/libmpo/mpo.h
我也在尝试删除 jpeglib.h 依赖项,因为我放置了以下宏:
#ifdef BII
#include <jpeg/jpeg/jpeglib.h>
#else
#include <jpeglib.h>
#endif
没有必要修改您的源代码,如果您想进行这样的检查,可以使用#ifdef BIICODE。
所以保持代码不变,并使用 biicode.conf 中的 [includes] 部分:
[requirements]
jpeg/jpeg: 1
[paths]
include
[includes]
jpeglib.h: jpeg/jpeg
现在确实有 12 MB 的限制,但您可以使用当前大小添加一个 ignore.bii 文件来解决它:
example/*.mpo
*.pdf
然后将 ADD_BIICODE_TARGETS 宏添加到您的 cmake 中应该就足够了,它将管理所有内容,因此只需在 CMakeLists.txt
的开头添加
IF(BIICODE)
ADD_BIICODE_TARGETS()
return()
ENDIF()
的确是biicode中的jpeg lib版本好像有问题,但是在biicode版本jpeg/jpeg:1中修复并升级为jpeg9,也就是[=27=中的那个].
将此添加到您的存储库中,您应该能够 "bii build" 和 运行 bin 文件夹中生成的示例。我已经使用 MinGW 4.8 对其进行了测试并且有效。
我想将我的库项目移植到 biicode,但是我的示例使用的二进制文件对于 biicode 块来说太大了(有 12MB 的限制),所以我将示例文件夹添加到 ignore.bii 文件. 问题是它现在寻找 example/CMakeLists.txt 因为我使用的是包裹在
中的旧 CMakeLists.txtIF(BIICODE)
INIT_BIICODE_BLOCK()
ADD_BIICODE_TARGETS()
ELSE()
#MY OLD CMAKELIST HERE
ENDIF()
它实际上构建良好,但 bii deps
仍然试图解决依赖关系
我该怎么办?我真的不想删除或更改太多东西来支持 biicode,因为该项目已经在 github.
编辑: 这是项目的 link:https://github.com/Lectem/libmpo 我在 biicode.conf 中按照
尝试了一些东西[dependencies]
CMakeLists.txt - example/CMakeLists.txt
include/libmpo/mpo.h - jpeglib.h
但我明白了:
WARN: Lectem/libmpo/biicode.conf, [dependencies] CMakeLists.txt - example/CMakeLists.txt
There are no files matching pattern example/CMakeLists.txt
WARN: Lectem/libmpo/biicode.conf, [dependencies] include/libmpo/mpo.h - jpeglib.h
There are no files matching pattern jpeglib.h
Lectem/libmpo depends on:
Lectem/libmpo (self)
include/libmpo/cmpo.h
src/cmpo.c (E)
include/libmpo/mpo.h
src/cmpo.c (E)
src/dmpo.c (E)
src/mpo.c (E)
src/cmpo.c
include/libmpo/cmpo.h (I)
src/dmpo.c
include/libmpo/mpo.h (I)
src/mpo.c
include/libmpo/mpo.h (I)
jpeg/jpeg: 0
jpeglib.h
include/libmpo/mpo.h (E)
system:
assert.h
src/cmpo.c
src/mpo.c
stdint.h
include/libmpo/mpo.h
stdio.h
include/libmpo/mpo.h
stdlib.h
include/libmpo/mpo.h
unresolved:
example/CMakeLists.txt
CMakeLists.txt
jpeglib.h
include/libmpo/mpo.h
我也在尝试删除 jpeglib.h 依赖项,因为我放置了以下宏:
#ifdef BII
#include <jpeg/jpeg/jpeglib.h>
#else
#include <jpeglib.h>
#endif
没有必要修改您的源代码,如果您想进行这样的检查,可以使用#ifdef BIICODE。
所以保持代码不变,并使用 biicode.conf 中的 [includes] 部分:
[requirements]
jpeg/jpeg: 1
[paths]
include
[includes]
jpeglib.h: jpeg/jpeg
现在确实有 12 MB 的限制,但您可以使用当前大小添加一个 ignore.bii 文件来解决它:
example/*.mpo
*.pdf
然后将 ADD_BIICODE_TARGETS 宏添加到您的 cmake 中应该就足够了,它将管理所有内容,因此只需在 CMakeLists.txt
的开头添加IF(BIICODE)
ADD_BIICODE_TARGETS()
return()
ENDIF()
的确是biicode中的jpeg lib版本好像有问题,但是在biicode版本jpeg/jpeg:1中修复并升级为jpeg9,也就是[=27=中的那个].
将此添加到您的存储库中,您应该能够 "bii build" 和 运行 bin 文件夹中生成的示例。我已经使用 MinGW 4.8 对其进行了测试并且有效。