update build
This commit is contained in:
57
Makefile
Normal file
57
Makefile
Normal file
@@ -0,0 +1,57 @@
|
||||
PROJECT_NAME := obs-webkit-browser
|
||||
VERSION := $(shell sed -n '/^project.* VERSION / { s/^project.* VERSION //; s/ .*//; p; }' CMakeLists.txt)
|
||||
ARCH := $(shell uname -m)
|
||||
|
||||
BUILD_DIR ?= build-release
|
||||
DIST_DIR ?= dist
|
||||
STAGE_DIR ?= $(BUILD_DIR)/stage
|
||||
INSTALL_PREFIX ?= /usr
|
||||
ARCHIVE_NAME := $(PROJECT_NAME)-$(VERSION)-linux-$(ARCH).tar.gz
|
||||
ARCHIVE_PATH := $(abspath $(DIST_DIR)/$(ARCHIVE_NAME))
|
||||
PLUGIN_STAGE_DIR := $(STAGE_DIR)/$(PROJECT_NAME)
|
||||
PLUGIN_BIN_DIR := $(PLUGIN_STAGE_DIR)/bin/64bit
|
||||
PLUGIN_DATA_DIR := $(PLUGIN_STAGE_DIR)/data
|
||||
|
||||
CMAKE ?= $(if $(wildcard /usr/bin/cmake),/usr/bin/cmake,cmake)
|
||||
CTEST ?= $(if $(wildcard /usr/bin/ctest),/usr/bin/ctest,ctest)
|
||||
|
||||
.PHONY: all configure build test install stage archive clean
|
||||
|
||||
all: build
|
||||
|
||||
configure:
|
||||
$(CMAKE) -S . -B $(BUILD_DIR) -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=$(INSTALL_PREFIX)
|
||||
|
||||
build: configure
|
||||
$(CMAKE) --build $(BUILD_DIR)
|
||||
|
||||
test: build
|
||||
$(CTEST) --test-dir $(BUILD_DIR) --output-on-failure
|
||||
|
||||
install: build
|
||||
$(CMAKE) --install $(BUILD_DIR) --strip
|
||||
|
||||
stage: test
|
||||
$(CMAKE) -E remove_directory $(STAGE_DIR)
|
||||
$(CMAKE) -E make_directory $(PLUGIN_BIN_DIR)
|
||||
$(CMAKE) -E make_directory $(PLUGIN_DATA_DIR)/locale
|
||||
$(CMAKE) -E copy_if_different \
|
||||
$(BUILD_DIR)/obs-webkit-browser.so $(PLUGIN_BIN_DIR)/obs-webkit-browser.so
|
||||
$(CMAKE) -E copy_if_different \
|
||||
$(BUILD_DIR)/obs-webkit-renderer $(PLUGIN_DATA_DIR)/obs-webkit-renderer
|
||||
$(CMAKE) -E copy_if_different \
|
||||
data/locale/en-US.ini data/locale/ru-RU.ini $(PLUGIN_DATA_DIR)/locale/
|
||||
|
||||
archive: stage
|
||||
$(CMAKE) -E make_directory $(DIST_DIR)
|
||||
cd $(STAGE_DIR) && $(CMAKE) -E tar cfvz $(ARCHIVE_PATH) --format=gnutar $(PROJECT_NAME)
|
||||
$(CMAKE) -E sha256sum $(ARCHIVE_PATH) >$(ARCHIVE_PATH).sha256
|
||||
@echo
|
||||
@echo "Archive: $(ARCHIVE_PATH)"
|
||||
@echo "SHA-256: $(ARCHIVE_PATH).sha256"
|
||||
|
||||
clean:
|
||||
$(CMAKE) -E remove_directory $(BUILD_DIR)
|
||||
$(CMAKE) -E remove_directory $(DIST_DIR)
|
||||
Reference in New Issue
Block a user