diff options
| -rw-r--r-- | CMakeLists.txt | 9 | ||||
| -rw-r--r-- | README.md | 3 | 
2 files changed, 11 insertions, 1 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index c58104de..f662dbe7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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: | 
