dragon8899 2011-11-02 10:03
浏览 739


I have been using CMake with C++ to build libraries and executables and would like to use the same for the go programming language.

What steps do I need to take to configure CMake so it would work with the go programming language?

Essentially, my compiler is 6g which produces a compiled foo.6 - I send it to a linker via 6l foo.6 and I am done. I have the compiler and linker already built and installed.

Obviously, I can just write a simple Makefile for this, but it would be nice to use CMake consistently throughout my project.

TIA for any advice that would help me get started.

  • 写回答

2条回答 默认 最新

  • dspym82000 2011-11-02 11:28

    You might wish to implement CMake' support for Go. Roughly speaking it involves following steps:

    1. Create CMakeDetermineGoCompiler.cmake module, which would find Go compiler for the current system.
    2. Create CMakeGoCompiler.cmake.in - a template, which would be configured by CMakeDetermineGoCompiler.

    3. Create CMakeTestGoCompiler.cmake, module which would compile a simple go source to check if the compiler works.

    4. Create CMakeGoInformation.cmake, which would set some language-related variables (CMAKE_GO_LINK_EXECUTABLE and so on)

    These things should be placed in CMAKE_MODULES_DIR. For reference you can take a look at how Java/CXX support is implemented.

    Alternatively, if don't want to mess with such internal stuff, you can solve your task by creating a macro(), which would create a bunch of custom targets/commands (see add_custom_{target,command}() documentation).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?



  • ¥15 webSocket可以接TCP socket接口吗
  • ¥60 mpi并行出错,CFD++计算
  • ¥15 c#:vsto,powerpoint的外接程序中换主题颜色
  • ¥15 状态机/汽车转向灯/Sateflow
  • ¥15 这个有点复杂 有没有人看看
  • ¥15 用python如何确定子孙元素在父元素中的位置
  • ¥15 obj文件滤除异常高程
  • ¥15 用mathematicas或者matlab计算三重积分
  • ¥15 Loop unrolling的runtime计算
  • ¥100 NVMe-oF的Target端,开启attr_offload后,测试失败。