diff --git a/Doc/Manual/Contents.html b/Doc/Manual/Contents.html index 79ffdd50e..59378c50b 100644 --- a/Doc/Manual/Contents.html +++ b/Doc/Manual/Contents.html @@ -1,4 +1,4 @@ - + @@ -98,6 +98,7 @@
  • Building swig.exe using MinGW and MSYS
  • Building swig.exe using Cygwin
  • Building swig.exe alternatives +
  • Building swig.exe using CMake
  • Running the examples on Windows using Cygwin diff --git a/Doc/Manual/Windows.html b/Doc/Manual/Windows.html index f6f0d16df..065da215d 100644 --- a/Doc/Manual/Windows.html +++ b/Doc/Manual/Windows.html @@ -1,4 +1,4 @@ - + Getting started on Windows @@ -36,6 +36,7 @@
  • Building swig.exe using MinGW and MSYS
  • Building swig.exe using Cygwin
  • Building swig.exe alternatives +
  • Building swig.exe using CMake
  • Running the examples on Windows using Cygwin @@ -364,6 +365,74 @@ SWIG. For example, all the source code files can be added to a Visual C++ projec file in order to build swig.exe from the Visual C++ IDE.

    +

    3.3.1.4 Building swig.exe using CMake

    + + +

    +SWIG can also be built using CMake and Visual Studio rather than autotools. As with the other approaches to +building SWIG the dependencies need to be installed. The steps below are one of a number of ways of installing the dependencies without requiring Cygwin or MinGW. +For fully working build steps always check the Continuous Integration setups currently detailed in the Appveyor YAML file. +

    + +
      +
    1. + Install Nuget from https://www.nuget.org/downloads (v5.8.1 is used in this example, and installed to C:\Tools). Nuget is the package manager + for .NET, but allows us to easily install PCRE and other dependencies required by SWIG. +
    2. +
    3. + Install CMake using the following command:
      C:\Tools\nuget install CMake-win64 -Version 3.15.5 -OutputDirectory C:\Tools\CMake
      + Alternatively you can download CMake from https://cmake.org/download/. +
    4. +
    5. + Install Bison using the following command:
      C:\Tools\nuget install bison-win32 -Version 2.4.1.1 -OutputDirectory C:\Tools\bison
      + Alternatively download Bison from https://sourceforge.net/projects/gnuwin32/files/bison/ (2.4.1 is used in this example) + and save to a folder e.g. C:\Tools\Bison +
    6. +
    7. + Install PCRE using Nuget using the following command:
      C:\Tools\nuget install pcre -Version 8.33.0.1 -OutputDirectory C:\Tools\pcre
      +
    8. +
    9. + We will also need the SWIG source code. Either download a zipped archive from GitHub, or if git is installed clone the latest codebase + using
      git clone https://github.com/swig/swig.git
      + In this example we are assuming the source code is available at C:\swig +
    10. +
    + +

    + We are assuming Visual Studio 2017 is installed. For other versions of Visual Studio change "Visual Studio 15 2017 Win64" to the relevant + Visual Studio Generator. + Now we have all the required dependencies we can build SWIG using the commands below. We add the required build tools to the system PATH, and then + build a Release version of SWIG. If all runs successfully a new swig.exe should be generated in a /Release folder. +

    + +
    +
    +cd C:\swig
    +SET PATH=C:\Tools\CMake\CMake-win64.3.15.5\bin;C:\Tools\bison\bison-win32.2.4.1.1\tools\native\bin;%PATH%
    +SET PCRE_ROOT=C:\Tools\pcre\pcre.8.33.0.1\build\native
    +SET PCRE_PLATFORM=x64
    +cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_INSTALL_PREFIX="%CD:\=/%/install2" -DCMAKE_C_FLAGS="/DPCRE_STATIC" -DPCRE_INCLUDE_DIR=%PCRE_ROOT%/include -DPCRE_LIBRARY=%PCRE_ROOT%/lib/v110/%PCRE_PLATFORM%/Release/static/utf8/pcre8.lib .
    +cmake --build . --config Release
    +
    +REM to test the exe
    +cd /Release
    +swig.exe -help
    +
    +
    + +

    + In addition to Release builds you can create a Debug build using: +

    +
    +
    cmake --build . --config Debug
    +
    +

    + A Visual Studio solution file should be generated named swig.sln. This can be opened and debugged by running the swig project and setting the + Debugging Command Arguments. For example to step through one of the sample .i files included with the SWIG source use the following: +

    +
    +
    -python -py3 -shadow -o C:\Temp\doxygen_parsing.c C:\swig\Examples\test-suite\doxygen_parsing.i
    +

    3.3.2 Running the examples on Windows using Cygwin