Skip to content

Commit 3397f9e

Browse files
Fix build on Windows
1 parent 7a135ba commit 3397f9e

File tree

4 files changed

+22
-9
lines changed

4 files changed

+22
-9
lines changed

.github/workflows/python-app.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,19 @@ jobs:
2020
strategy:
2121
matrix:
2222
python-version: [3.7, 3.8, 3.9, "3.10"]
23-
os: ['windows-latest', 'ubuntu-18.04', 'macos-latest']
23+
os: ['windows-2019', 'ubuntu-18.04', 'macos-latest']
2424
# python-version: [3.9]
2525
# os: ['windows-latest']
2626
fail-fast: false
2727

2828
steps:
29+
- uses: MinoruSekine/setup-scoop@v1
30+
if: ${{ matrix.os == 'windows-2019' }}
31+
- name: Install Dependencies
32+
if: ${{ matrix.os == 'windows-2019' }}
33+
shell: bash
34+
run: |
35+
scoop install ninja gcc
2936
- name: Install Go
3037
uses: actions/setup-go@v2
3138
with:

install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
python3 -m pip uninstall mixin -y;python3 -m pip install dist/mixin-0.1.0-cp37-cp37*.whl
1+
python3 -m pip uninstall mixin-python -y;python3 -m pip install dist/mixin_python-*.whl
22

src/CMakeLists.txt

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,35 @@ add_library(_mixin MODULE
77

88
if (WIN32)
99
add_compile_definitions(MS_WIN64)
10+
SET(BUILD_TARGET mixin.lib)
11+
SET(BUILD_LIB_CMD go build -o ${CMAKE_CURRENT_SOURCE_DIR}/pyeoskit/mixin.dll -buildmode=c-shared && gendef mixin.dll && lib /def:pyeoskit.def /machine:x64 /out:mixin.lib && cmake -E copy libmixin.bk.h libmixin.h)
12+
else()
13+
SET(BUILD_TARGET libmixin.a)
14+
SET(BUILD_LIB_CMD go build -o ${BUILD_TARGET} -buildmode=c-archive)
1015
endif()
1116

1217
python_extension_module(_mixin)
1318

1419
add_dependencies(_mixin build_mixin)
1520

16-
target_link_libraries(_mixin ${CMAKE_CURRENT_SOURCE_DIR}/mixin/libmixin.a)
21+
target_link_libraries(_mixin ${CMAKE_CURRENT_SOURCE_DIR}/mixin/${BUILD_TARGET})
1722

1823
target_include_directories(_mixin PRIVATE
1924
${CMAKE_CURRENT_SOURCE_DIR}/mixin
2025
)
2126

22-
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/mixin/libmixin.a
23-
COMMAND go build -o libmixin.a -buildmode=c-archive
27+
message(STATUS ${CMAKE_CURRENT_SOURCE_DIR}/mixin/${BUILD_TARGET})
28+
add_custom_command(OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/mixin/${BUILD_TARGET}
29+
COMMAND ${BUILD_LIB_CMD}
2430
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/mixin/mixin_api.go
2531
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/mixin/main.go
26-
COMMENT "Creating libmixin.a"
32+
COMMENT "Creating ${BUILD_TARGET}"
2733
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/mixin
2834
)
2935

3036
add_custom_target(build_mixin ALL
31-
COMMAND echo "Building libmixin.a"
32-
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/mixin/libmixin.a
37+
COMMAND echo "Building ${BUILD_TARGET}"
38+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/mixin/${BUILD_TARGET}
3339
# to make quotes printable,for example
3440
VERBATIM
3541
)

src/mixin

Submodule mixin updated 1 file

0 commit comments

Comments
 (0)