Files
chromebrew/lib/buildsystems/cmake.rb
github-actions[bot] 46d5639699 AutoBuild: update-cmake started at 2025-05-06-15UTC (#11877)
* Cmake 4.0.1 => 4.0.2

* Adjust cmake build options to properly set LIBRARY_PATH.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust cmake build.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust cmake build options.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Remove 'mold -run' usage as that confuses LIBRARY_PATH overrides.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add built packages for linux/386 to update-cmake

* Add built packages for linux/amd64 to update-cmake

* Add built packages for linux/arm/v7 to update-cmake

* Confirm autotools change works with nano update.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add built packages for linux/386 to update-cmake

* Add built packages for linux/amd64 to update-cmake

* Add built packages for linux/arm/v7 to update-cmake

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: Ed Reel <edreel@gmail.com>
Co-authored-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: satmandu <satmandu@users.noreply.github.com>
2025-05-06 17:40:47 +00:00

29 lines
1.2 KiB
Ruby

require 'package'
class CMake < Package
property :cmake_build_extras, :cmake_build_relative_dir, :cmake_install_extras, :cmake_options, :pre_cmake_options
def self.build
@cmake_build_relative_dir ||= '.'
@crew_cmake_options = @no_lto ? CREW_CMAKE_OPTIONS.gsub('-flto=auto', '-fno-lto').sub('-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=TRUE', '') : CREW_CMAKE_OPTIONS
puts 'Additional cmake options being used:'.orange
method_list = methods.grep(/cmake_/).delete_if { |i| send(i).blank? }
method_list.each do |method|
puts "#{method}: #{send method}".orange
end
system "#{@pre_cmake_options} cmake -S #{@cmake_build_relative_dir} -B #{@cmake_build_relative_dir}/builddir -G Ninja #{@crew_cmake_options} #{@cmake_options}"
system "#{CREW_NINJA} -C #{@cmake_build_relative_dir}/builddir"
@cmake_build_extras&.call
end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} #{CREW_NINJA} -C #{@cmake_build_relative_dir}/builddir install"
@cmake_install_extras&.call
end
def self.check
puts "Testing with #{CREW_NINJA} test.".orange if @run_tests
system "ctest -j --progress --test-dir #{@cmake_build_relative_dir}/builddir --rerun-failed --output-on-failure" if @run_tests
end
end