Merge pull request #314 from xobs/fix-windows-static
cmake: fix static build on Windows
This commit is contained in:
commit
a6a4349bd6
@ -15,7 +15,14 @@ option(SERIALIZE_CHIPDB "Never build chipdb in parallel to reduce peak memory us
|
||||
set(link_param "")
|
||||
if (STATIC_BUILD)
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND MSVC)
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "/MT")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "/MTd")
|
||||
if (BUILD_PYTHON)
|
||||
add_definitions(-DBOOST_PYTHON_STATIC_LIB)
|
||||
endif()
|
||||
else()
|
||||
set(link_param "-static")
|
||||
endif()
|
||||
endif()
|
||||
|
@ -44,6 +44,7 @@ of the selected architecture:
|
||||
- For building on Windows with MSVC, usage of vcpkg is advised for dependency installation.
|
||||
- For 32 bit builds: `vcpkg install boost-filesystem boost-program-options boost-thread boost-python qt5-base eigen3`
|
||||
- For 64 bit builds: `vcpkg install boost-filesystem:x64-windows boost-program-options:x64-windows boost-thread:x64-windows boost-python:x64-windows qt5-base:x64-windows eigen3:x64-windows`
|
||||
- For static builds, add `-static` to each of the package names. For example, change `eigen3:x64-windows` to `eigen3:x64-windows-static`
|
||||
- A copy of Python that matches the version in vcpkg (currently Python 3.6.4). You can download the [Embeddable Zip File](https://www.python.org/downloads/release/python-364/) and extract it. You may need to extract `python36.zip` within the embeddable zip file to a new directory called "Lib".
|
||||
- For building on macOS, brew utility is needed.
|
||||
- Install all needed packages `brew install cmake python boost boost-python3 qt5 eigen`
|
||||
@ -72,6 +73,8 @@ cmake -DARCH=ice40 -DICEBOX_ROOT=C:/ProgramData/icestorm/share/icebox -DCMAKE_TO
|
||||
cmake --build . --config Release
|
||||
```
|
||||
|
||||
To build a static release, change the target triplet from `x64-windows` to `x64-windows-static` and add `-DBUILD_STATIC=ON`.
|
||||
|
||||
A simple example that runs on the iCEstick dev board can be found in `ice40/examples/blinky/blinky.*`.
|
||||
Usage example:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user