简体   繁体   English

如何在Ruby中注释CMake代码

[英]How to comment cmake code in ruby

I need to comment a line in this Ruby code (I'm using Atom to edit files ... ) 我需要在此Ruby代码中注释一行(我正在使用Atom编辑文件...)

The line is the follow .. -DPROJ4_LIBRARY:FILEPATH=#{prefix_dir}/lib/libproj.so and here you're the code ... 该行是.. -DPROJ4_LIBRARY:FILEPATH=#{prefix_dir}/lib/libproj.so ,这里是代码...

bash 'build-and-install-libgeotiff' do
  user "root"

  code <<-EOH
    cd "/tmp"
    tar xzf libgeotiff-#{version}.tar.gz
    cd libgeotiff-#{version}

    export MAKEFLAGS='-j2'

    [ -d build ] || mkdir build
    cd build

    cmake3 .. \
    -DCMAKE_INSTALL_PREFIX=#{prefix_dir} \
    -DWITH_JPEG=ON \
    -DWITH_ZLIB=ON \
    -DWITH_PROJ4=ON \
    -DPROJ4_INCLUDE_DIR:PATH=#{prefix_dir}/include \
    -DPROJ4_LIBRARY:FILEPATH=#{prefix_dir}/lib/libproj.so 
    -DPROJ4_LIBRARY:FILEPATH=/usr/lib64/libproj.so 
    make && make install

  EOH

I've tried to use # but it seems not right because my editor put automatically #{} ... here you're the transformed code ... 我尝试使用#但似乎不对,因为我的编辑器自动将#{}放到了这里,您就是转换后的代码了……

bash 'build-and-install-libgeotiff' do user "root" bash'build-and-install-libgeotiff'做用户“ root”

code <<-EOH cd "/tmp" tar xzf libgeotiff-#{version}.tar.gz cd libgeotiff-#{version} 代码<<-EOH cd“ / tmp” tar xzf libgeotiff-#{version} .tar.gz cd libgeotiff-#{version}

export MAKEFLAGS='-j2'

[ -d build ] || mkdir build
cd build

cmake3 .. \
-DCMAKE_INSTALL_PREFIX=#{prefix_dir} \
-DWITH_JPEG=ON \
-DWITH_ZLIB=ON \
-DWITH_PROJ4=ON \
-DPROJ4_INCLUDE_DIR:PATH=#{prefix_dir}/include \
#{}-DPROJ4_LIBRARY:FILEPATH=#{prefix_dir}/lib/libproj.so 
-DPROJ4_LIBRARY:FILEPATH=/usr/lib64/libproj.so 
make && make install

EOH EOH

How may I comment my line in this code? 如何在此代码中注释我的行?

In Bash, if you comment out something in a sequence of lines joined by \\ , you comment out everything after the # . 在Bash中,如果注释掉由\\的一系列行中的某些内容,则注释掉#之后的所有内容。

Here's a quick and dirty workaround. 这是一个快速而肮脏的解决方法。

  code <<-EOH
    cd "/tmp"
    tar xzf libgeotiff-#{version}.tar.gz
    cd libgeotiff-#{version}

    export MAKEFLAGS='-j2'

    [ -d build ] || mkdir build
    cd build

    so_arg="-DPROJ4_LIBRARY:FILEPATH=#{prefix_dir}/lib/libproj.so"
    cmake3 .. \
    -DCMAKE_INSTALL_PREFIX=#{prefix_dir} \
    -DWITH_JPEG=ON \
    -DWITH_ZLIB=ON \
    -DWITH_PROJ4=ON \
    -DPROJ4_INCLUDE_DIR:PATH=#{prefix_dir}/include \
    $so_arg \
    -DPROJ4_LIBRARY:FILEPATH=/usr/lib64/libproj.so 
    make && make install

  EOH

Now, you can simply sed -is/so_arg=/\\1#/' file to comment it out. 现在,您只需将sed -is/so_arg=/\\1#/' file注释掉即可。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM