GithubHelp home page GithubHelp logo

timpokorny / cpptask Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 4.0 3.91 MB

Simple Ant tasks for compiling C++ code via the command line with Visual Studio or GCC

Shell 2.14% Java 48.02% Perl 1.91% Python 0.64% XSLT 42.93% Batchfile 4.36%

cpptask's People

Contributors

jarrodgreene avatar michaelrfraser avatar timpokorny avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

cpptask's Issues

Add static linking support

Summary


<cpptask> only supports generating dynamic libraries and executables.

What I'm trying to do


Produce a library (file.a) that users can statically link with their apps.

Minimum Steps to Reproduce


Entering "static" in the outtype attribute of the <cpptask> declaration causes an error stating that it is not a valid option

Expected and Observed Results


  • Should be able to enter static as an outtype option
  • Static library (file.a) will be produced in the output directory on completion

Work Breakdown


<tbc>

README is outdated

The README says that the following line should appear in the build.xml file:

<taskdef name="cpptask" classname="com.lbf.cpptask.CppTask"/>

However, there was no such class in the cpptask.jar file. I had to use:

<taskdef name="cpptask" classname="org.portico.ant.tasks.cpptask.CppTask"/>

Also, the example in the README includes an objdir attribute of the cpptask element. However, I recieved the following error from Ant:

/media/sdb1/checkouts/hive/targets/minidb/build.xml:38: cpptask doesn't support the "objdir" attribute

Usage example in VerifyJdkTask Javadoc is incorrect

Just noted that the usage example in the class level javadoc for VerifyJdkTask (src/java/cpptask/org/portico/ant/tasks/platform/VerifyJdkTask.java) mentions an architecture parameter.

From what I can determine from the code, the parameter should be named arch instead.

Include support for VC12 (Visual Studio 2013)

Summary


As a C++ developer I require the ability to link to the VC12 runtime, so that I can build libraries for projects that are themselves built against VC12

What I'm trying to do


I'm developing a plugin DLL for an architecture that is itself compiled against VC12. The plugin needs to be linked against the same runtime as to avoid compatibility warnings/errors.

Work Breakdown


  • Add VC12 as a valid compiler type

Include support for VC14 (Visual Studio 2015)

Summary


As a C++ developer I require the ability to link to the VC14 runtime, so that I can build libraries for projects that are themselves built against VC14

What I'm trying to do


I'm developing a plugin DLL for an architecture that is itself compiled against VC14. The plugin needs to be linked against the same runtime as to avoid compatibility warnings/errors.

Work Breakdown


  • Add VC14 as a valid compiler type

Update GCC compiler driver to call ld directly for linking, not gcc/g++

Summary


When configured to use GCC/G++ <cpptask> currently calls the gcc/g++ executable to both compile and link. This should be changed so that it calls ld directly to perform linking.

What I'm trying to do


Pass linker arguments to ld without having to specify -Wl,

Work Breakdown


<tbc>

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.