Giter Site home page Giter Site logo

gkc's Introduction

GKC

General Kind C++

Source Code

  1. Use one of the *.UTF8 locales for Linux system.
  2. The source code files are encoded as UTF8 with BOM.
  3. All constant strings with CharA type should be considered as UTF8 encoding.
  4. All constant wide strings and global data with multi-byte types are stored as compiling machine endian in assemblies.

Production

Install the necessary softwares in the production machine. Assume the building directory has the same level of directory GKC.

Preparation

Windows

Compiler

Build Tools for Visual Studio 2022 without ATL, MFC and C++/CLI.

Latex

Install MikTex, and use TexWorks. Install other packages through Maintenance UI such as CJK packages. Two patterns, pdfLaTeX+MakeIndex+BibTeX and XeLaTeX+MakeIndex+BibTeX with 'xeCJK' can be used for composing papers, books and slides.

Linux

Compiler
  1. Install g++

    g++-4.9

    sudo apt-get install build-essential
    

    manual documents

    sudo apt-get install glibc-doc
    sudo apt-get install manpages-posix-dev
    
  2. Install libuuid:

    sudo apt-get install uuid-dev
    
  3. Install X11:

    sudo apt-get install libx11-dev
    
Latex
  1. Install TexLive:

    sudo apt-get install texlive-full
    
  2. Install fonts:

    sudo apt-get install ttf-mscorefonts-installer
    sudo apt-get install xfonts-wqy ttf-wqy-microhei ttf-wqy-zenhei
    fc-cache
    fc-list
    
  3. Install TexStudio:

    Install TexStudio.

    Select the menu Options->Configure Texstudio->Commands, change the item XeLaTeX to:

    xelatex -synctex=1 -interaction=nonstopmode %.tex
    

    Select the menu Options->Configure Texstudio->Build, change the item Default Compiler to XeLaTeX.

Testing

Windows

  1. CMake:

    • x86 machine:

       cmake ../GKC -G "Visual Studio 17 2022" -A Win32
      
    • x64 machine:

       cmake ../GKC -G "Visual Studio 17 2022" -A x64
      
  2. make:

    MSBuild ALL_BUILD.vcxproj /t:build /p:Configuration=Debug
    
  3. test:

    cd test
    ctest -C "Debug"
    

Linux

  1. CMake:

    cmake ../GKC -DCMAKE_BUILD_TYPE=Debug -G "Unix Makefiles"
    
  2. make:

    make
    
  3. test:

    cd test
    ctest
    

Release

Windows

  1. CMake:

    • x86 machine:

       cmake ../GKC -G "Visual Studio 17 2022" -A Win32
      
    • x64 machine:

       cmake ../GKC -G "Visual Studio 17 2022" -A x64
      
  2. make:

    MSBuild ALL_BUILD.vcxproj /t:build /p:Configuration=Release
    
  3. pack:

    cpack -D CPACK_GENERATOR="ZIP;TGZ"
    

    Compress the files, setup-gkc.vbs, uninstall-gkc.vbs and GKC-1.0.1-win32.zip (or GKC-1.0.1-win64.zip), into a zip file and redistribute it.

    Pack with debug version:

    cpack -C "Debug" -D CPACK_GENERATOR="ZIP;TGZ"
    

Linux

  1. CMake:

    cmake ../GKC -DCMAKE_BUILD_TYPE=Release -G "Unix Makefiles"
    
  2. make:

    make
    
  3. pack:

    cpack
    

    Compress the files, setup-gkc.sh, uninstall-gkc.sh, GKC-1.0.1-Linux.sh and GKC-1.0.1-Linux.tar.gz, into a zip file and redistribute it.

Pack for cpkg system

dev:

cpkg-info.txt (from cpkg-info.dev)
cpkg-import.cmk
LICENSE
common.cmk
ftsc.cmk
bin/
	generated executable files (exclude test programs)
include/
	<SOURCE>/public/include/* <SOURCE>/RT/GkcSys/public->sys <SOURCE>/RT/GkcCompiler/public->compiler <SOURCE>/RT/GkcParser/public->parser
lib/
	generated library files (lib)
licenses/
	<SOURCE>/licenses/*
scripts/
	<SOURCE>/scripts/linux/* (only for linux)

rt:

cpkg-info.txt (from cpkg-info.rt)
LICENSE
lib/
	generated library files (dll, so)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.