Skip to content

cross platform

Deoclecio Freire edited this page May 19, 2023 · 1 revision

Cross Platform - Let's put all things together

Share a directory between all desired SO and run the commands on each one.

On Linux

cppmagic.py prepare -m gcc -e simple

On Windows

cppmagic.py prepare -m msvc -e simple

On macOS

cppmagic.py prepare -m clan -e simple
.
├── cppmagic
│   ├── clang-darwin.json  <- Clang options for macOS
│   ├── gcc-linux.json     <- GCC options for Linux
│   ├── msvc.json          <- MSVC options for Windows
│   └── project.json       <- Project configuration
├── include
├── library
│   ├── clang-darwin
│   │   └── x64
│   │       └── debug
│   ├── gcc-linux
│   │   └── x64
│   │       └── debug
│   └── msvc-windows
│       └── x64
│           └── debug
└── source
    └── main.cpp           <- Sample source file

Now compiling.

On Linux

cppmagic.py build -m gcc -p x64 -c debug

On Windows

cppmagic.py build -m msvc -p x64 -c debug

On macOS

cppmagic.py build -m clang -p x64 -c debug
.
├── build
│   ├── clang-darwin
│   │   └── x64
│   │       └── debug
│   │           ├── Example              <- Generated final binary file
│   │           └── intermediate
│   │               └── Example
│   │                   └── main.o
│   ├── gcc-linux
│   │   └── x64
│   │       └── debug
│   │           ├── Example              <- Generated final binary file
│   │           └── intermediate
│   │               └── Example
│   │                   └── main.o
│   ├── msvc-windows
│   │   └── x64
│   │       └── debug
│   │           ├── Example.exe         <- Generated final binary file
│   │           ├── Example.ilk
│   │           ├── Example.pdb
│   │           └── intermediate
│   │               └── Example
│   │                   ├── main.obj
│   │                   └── vc140.pdb
│   └── run
├── cppmagic
│   ├── clang-darwin.json
│   ├── gcc-linux.json
│   ├── msvc.json
│   └── project.json
├── include
├── library
│   ├── clang-darwin
│   │   └── x64
│   │       └── debug
│   ├── gcc-linux
│   │   └── x64
│   │       └── debug
│   └── msvc-windows
│       └── x64
│           └── debug
├── source
│   └── main.cpp
└── temp
    ├── clang
    │   ├── clang-header.json
    │   ├── clang-lnk.par
    │   ├── clang-lpp.par
    │   └── config.json
    ├── gcc
    │   ├── config.json
    │   ├── gcc-gpp.par
    │   ├── gcc-header.json
    │   └── gcc-lnk.par
    └── msvc
        ├── config.json
        ├── msvc-cpl.par
        ├── msvc-header.json
        └── msvc-lnk.par

Clone this wiki locally