an IDE for microcontrollers and electronics
zoltanp canvas: attempt to fix build for OSX, do not use x11 specific methods
apparently QPixmap::x11SetScreen() is not available on OSX,
it is X11 specific.

see
https://bugs.kde.org/show_bug.cgi?id=391730
Latest commit ce389b9 Mar 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake/modules fix compilation with gpsim on OpenSUSE Leap 42.3 Sep 22, 2017
doc update the list of supported PICs and update the TODO list Sep 3, 2017
examples example: pic blink: add license comment Aug 13, 2017
icons-kde3 various fixes & cleanups to the cmake buildsystem Jan 1, 2017
icons more icons renaming Jan 2, 2017
microbe headers: comment out unused KDE 3 compatibility headers Oct 7, 2017
src canvas: attempt to fix build for OSX, do not use x11 specific methods Oct 18, 2018
tests q3polygonscanner: use the internal version, not the one from Qt3Support Aug 14, 2018
.arcconfig Add .arcconfig file Jan 12, 2017
.gitignore gitignore: kdevelop includes and logs are not part of the source code Mar 11, 2018
AUTHORS add authors involved into this release Mar 4, 2009
CMakeLists.txt tests: add test for trying to reproduce image export issue May 5, 2018
COPYING Updated trunk to latest svn snapshot Apr 17, 2007
COPYING.icons-kde3 icons: added licence information about imported icons Sep 6, 2016
COPYING.q3poligonscanner import q3polygonscanner from Qt4, as it is, add licence file for it Aug 14, 2018
ChangeLog canvas: attempt to fix build for OSX, do not use x11 specific methods Oct 18, 2018
INSTALL Cherry-pick the CMake build system from version 0.3.6 Original commit… May 16, 2015
Messages.sh i18n: do not extract messages from 'tests' subdirs Dec 31, 2016
README Fixes references to scripts in readme Mar 11, 2018
TODO todo list: some Qt3Support classes are removed from codebase Oct 17, 2018
build-developer.sh revert: build scripts: remove workaround config.h generation Sep 24, 2017
build-simple.sh build simple script: work around lack of generation of .h from .ui Oct 11, 2018
config.h.cmake tests: add test for trying to reproduce image export issue May 5, 2018
run-developer.sh buildsystem: run developer: ASAN do not warn on mismatched delete Nov 3, 2017
run-simple.sh launching scripts: adjust PATH in order to find microbe executable; n… Oct 4, 2016
valgrind-superssions.supp debugging: add an initial valgrind supression file, to be used with v… Jan 12, 2016

README

KTechLab 0.3
=============

KTechLab is an IDE for microcontrollers and electronics.
It supports circuit simulation,
program development for microcontrollers and
simulating the programmed microcontroller together with its application circuit.

Introduction
-------------

Resources
-------------
- KTechLab is joining KDE, all of its assets will be available there.
    https://community.kde.org/Incubator/Projects/KTechLab

    TODO webpage at KDE

    - temporary source code repository location, will change location in the future
        git://anongit.kde.org/scratch/padrah/ktechlab.git
        https://anongit.kde.org/scratch/padrah/ktechlab.git

        - repository browser, location is temporary
            https://commits.kde.org/scratch/padrah/ktechlab

    - bugtracker at KDE:
        https://bugs.kde.org/describecomponents.cgi?product=KTechLab

    - mailing list at KDE:
        ktechlab-devel at KDE
        https://mail.kde.org/mailman/listinfo/ktechlab-devel
        Archives contain the messages from the old list, too

- on IRC, KTechLab developers regularly join the channel
    `#ktechlab`, on FreeNode

- source code repositories: see Getting the source section, below

- KTechLab on github (will become deprecated)
    https://github.com/ktechlab

    https://github.com/ktechlab/ktechlab/wiki

    https://github.com/ktechlab/ktechlab
    https://github.com/ktechlab/ktechlab-0.3 (archive only; merged into the above repoistory)
    - new commits will be always pushed to KDE Git, github will be a mirror only

- KTechLab on sourceforge (mostly deprecated; source code downloads are available)
    - wiki:
        http://ktechlab.sourceforge.net
    - project page:
        http://sourceforge.net/projects/ktechlab
    - project page for developers:
        http://sourceforge.net/projects/ktechlab/develop

- the official communucation channel is hosted at KDE; the mailing list on sourceforge will become deprecated;
        it is called ktechlab-devel
    - link to archives of the list:
        http://sourceforge.net/mailarchive/forum.php?forum_name=ktechlab-devel



Getting the source
------------------

KTechLab's source code is located in a GIT repository.

Official repository is hosted at KDE; its temporary location is at

    git://anongit.kde.org/scratch/padrah/ktechlab.git
    https://anongit.kde.org/scratch/padrah/ktechlab.git

    - repository browser, location is temporary
        https://commits.kde.org/scratch/padrah/ktechlab

    - for write access, see section Write access to KTechLab repository at KDE, below.


Deprecated official repositories located on github; they mirror code from KDE,
and also have branches named github/* for historical reference.
For new code use the KDE Git.

- https://github.com/ktechlab/ktechlab-0.3
    - the port-0.3.8-kde4-v1 branch contains currently the latest code
    (at the time of origina writing; this branch has become master branch in KDE repositories)

- https://github.com/ktechlab/ktechlab
    - the master branch contains the latest tested development code,
        while other branches might contain untested/unstable code

Other notable deprecated GIT repositories are located on sourceforge:

- main KTechLab repository (deprecated, use KDE Git):
    - `git://ktechlab.git.sourceforge.net/gitroot/ktechlab/ktechlab`
    - contains the contents of the previously used SVN repository

- developers' own repositories (deprecated, use KDE Git):
    - `git://ktechlab.git.sourceforge.net/gitroot/ktechlab/ktl-alonzotg`
    - `git://ktechlab.git.sourceforge.net/gitroot/ktechlab/ktl-j_ohny_b`
    - `git://ktechlab.git.sourceforge.net/gitroot/ktechlab/ktl-zoltan_p`
        - the master branch should have the same content as the
            official master branch from github
    - these repositories contain work-in-progress code,
        which is supposed to be merged in the master branch on github

Checking out from GIT can be performed with the following commands:

    git clone git://github.com/ktechlab/ktechlab.git
    cd ktechlab


Building and Running
--------------------

Required dependencies

- Qt4 -dev
- cmake
- glib -dev
- KDE4 libraries -dev

Optional dependencies

- GPSim -dev, for microcontroller support



Since KDE4, all Makefiles in KDE projects are generated using CMake.
After checking out the source (see Getting the source),
here is how to compile and install KTechLab.
CMkake is not a run-time dependency of KTechLab.


1. By using a terminal, navigate to the top-level source-directory

2. Run the shell script `build-simple.sh`.
    This command compiles KTechLab into the directory `build-simple`,
    installs it into the directory `inst-simple` and
    sets up the user-specific settings (syscoca, mime database) for the
    current user.

         sh build-simple.sh

3. Launch KTechLab by running the script `run-simple.sh`

         sh run-simple.sh

KTechLab should start running at this point.
If this simple method of launching KTechLab does not work,
please contact the developers, because you have found a bug.

## Running by multiple users with same build/install directory

It is possible to run an already compiled and installed version of KTechLab
by multiple users. In order to do this, run the script
`ktechlab-user-setup.sh` from the `simple-install/bin/` directory

         sh simple/install/bin/ktechlab-user-setup.sh

Then you can launch KTechLab as usual

         sh run-simple.sh

## Running a build when the source/build/install directory has been moved

It the source directory has been moved, then the setup procedure has
to be rerun. This is due to the fact that in the launch scripts of
KTechLab, absolute directory paths are generated.
The compilation step should be a lot faster than previously, because
the source files have not been changed, so the existing build is
just verified, not recreated.

         sh build-simple.sh
         sh run-simple.sh

Developing with KDevelop 4
--------------------------

Just open/import the CMakeLists.txt project file.


Write access to KTechLab repository at KDE
------------------------------------------

Please read the KDE Git manual:

    https://community.kde.org/Sysadmin/GitKdeOrgManual

You need:

1. KDE developer account; should be usable at `identity.kde.org` ; see
    https://community.kde.org/Infrastructure
    https://community.kde.org/Infrastructure/Get_a_Developer_Account

    An SSH key should be registered at KDE and usable on your computer.

2. Set up git for usage with KDE Git Infrastructure
    https://community.kde.org/Infrastructure/Git
    https://techbase.kde.org/Development/Git/Configuration
        git config --global user.name <Your Real Name>
        git config --global user.email <Your identity.kde.org email>

        cat ~/.gitconfig

        [url "git://anongit.kde.org/"]
            insteadOf = kde:
        [url "git@git.kde.org:"]
            pushInsteadOf = kde:

3. Clone KTechLab repository; current location is temporary:
        git clone kde:scratch/padrah/ktechlab

Pushing should work with the URL rewrite rules from step 2.



Have fun with KTechLab!