diff --git a/Doc/Manual/Windows.html b/Doc/Manual/Windows.html index 065da215d..28413f1e5 100644 --- a/Doc/Manual/Windows.html +++ b/Doc/Manual/Windows.html @@ -33,10 +33,10 @@ @@ -227,6 +227,75 @@ This information is provided for those that want to modify the SWIG source code Normally this is not needed, so most people will want to ignore this section.

+

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.1.1 Building swig.exe using MinGW and MSYS

@@ -365,75 +434,6 @@ 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