Skip to content

Commit ba381dd

Browse files
committed
Build minimal-static on win
1 parent 8f175c3 commit ba381dd

File tree

3 files changed

+56
-7
lines changed

3 files changed

+56
-7
lines changed

recipe/build_minimal.bat

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
cmake -B build ^
2+
-G "Ninja" ^
3+
-D CMAKE_MSVC_RUNTIME_LIBRARY="MultiThreadedDLL" ^
4+
-D CMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS=ON ^
5+
-D BUILD_SHARED_LIBS=OFF ^
6+
-D CMAKE_RELEASE_POSTFIX="_static" ^
7+
-D ENABLE_ZLIB=ON ^
8+
-D ENABLE_BZip2=ON ^
9+
-D ENABLE_BZip2=ON ^
10+
-D ENABLE_ZSTD=ON ^
11+
-D ENABLE_LZMA=OFF ^
12+
-D ENABLE_LZO=OFF ^
13+
-D ENABLE_CNG=OFF ^
14+
-D ENABLE_OPENSSL=OFF ^
15+
-D ENABLE_NETTLE=OFF ^
16+
-D ENABLE_LIBXML2=OFF ^
17+
-D ENABLE_EXPAT=OFF ^
18+
%CMAKE_ARGS%
19+
20+
21+
22+
if %errorlevel% NEQ 0 exit /b %errorlevel%
23+
24+
cmake --build build --parallel %CPU_COUNT% --verbose
25+
if %errorlevel% NEQ 0 exit /b %errorlevel%
26+
27+
cmake --install build
28+
if %errorlevel% NEQ 0 exit /b %errorlevel%

recipe/meta.yaml

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ build:
2424

2525
outputs:
2626
- name: libarchive
27-
script: build_libarchive.sh # [unix]
27+
script: build_libarchive.sh # [unix]
2828
script: build_libarchive.bat # [win]
2929

3030
build:
@@ -94,9 +94,8 @@ outputs:
9494
- cmake --build build --target test
9595

9696
- name: libarchive-minimal-static
97-
script: build_minimal.sh
98-
build:
99-
skip: true # [win]
97+
script: build_minimal.sh # [unix]
98+
script: build_minimal.bat # [win]
10099
requirements:
101100
build:
102101
- {{ compiler('c') }}
@@ -105,23 +104,40 @@ outputs:
105104
- libtool # [unix]
106105
- pkg-config # [unix]
107106
- make # [unix]
107+
- cmake # [win]
108+
- ninja # [win]
108109
host:
109110
- libiconv # [osx]
110111
- bzip2
111112
- zlib
112113
- zstd
113114

114115
test:
116+
requires:
117+
- {{ compiler('c') }}
118+
- cmake
119+
- ninja
120+
files:
121+
- test/*
115122
commands:
116123
# Verify pkg-config file is in place.
117124
- test -f "${PREFIX}/lib/pkgconfig/libarchive.pc" # [unix]
118125

119126
# Verify headers are in place.
120-
- test -f "${PREFIX}/include/archive.h" # [unix]
121-
- test -f "${PREFIX}/include/archive_entry.h" # [unix]
127+
- test -f "${PREFIX}/include/archive.h" # [unix]
128+
- if not exist %LIBRARY_INC%\archive.h (exit 1) # [win]
129+
- test -f "${PREFIX}/include/archive_entry.h" # [unix]
130+
- if not exist %LIBRARY_INC%\archive_entry.h (exit 1) # [win]
122131

123132
# Verify libraries are in place.
124-
- test -f "${PREFIX}/lib/libarchive.a" # [unix]
133+
- test -f "${PREFIX}/lib/libarchive.a" # [unix]
134+
- if not exist %LIBRARY_LIB%\archive_static.lib (exit 1) # [win]
135+
136+
# Running a test trying to link to the library
137+
- cmake -G Ninja -S test/ -B build/ -D LIB_NAME="libarchive.a" ${CMAKE_ARGS} # [unix]
138+
- cmake -G Ninja -S test/ -B build/ -D LIB_NAME="archive_static" %CMAKE_ARGS% # [win]
139+
- cmake --build build/
140+
- cmake --build build --target test
125141

126142
about:
127143
home: http://www.libarchive.org/

recipe/test/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,10 @@ find_library(libarchive_LIBRARY NAMES "${LIB_NAME}")
99
target_link_libraries(test-libarchive PRIVATE ${libarchive_LIBRARY})
1010
target_include_directories(test-libarchive PRIVATE ${libarchive_INCLUDE_DIR})
1111

12+
if(APPLE)
13+
find_package(Iconv REQUIRED)
14+
target_link_library(test-libarchive PRIVATE Iconv::Iconv)
15+
endif()
16+
1217
enable_testing()
1318
add_test(NAME test-libarchive COMMAND test-libarchive)

0 commit comments

Comments
 (0)