Skip to content

Commit

Permalink
Update Makefile to use correct directory for cmake command
Browse files Browse the repository at this point in the history
  • Loading branch information
janjurca committed Jun 26, 2024
1 parent cb2a654 commit 5f0a765
Showing 1 changed file with 31 additions and 26 deletions.
57 changes: 31 additions & 26 deletions .copr/Makefile
Original file line number Diff line number Diff line change
@@ -1,34 +1,39 @@

# Determine if we are in the specific subdirectory
ROOT_DIR := $(shell git rev-parse --show-toplevel)
CURRENT_DIR := $(shell pwd)
SUBDIR := specific-makefiles/build-in-libs

# Path to the build directory should always be in the root
BUILD_DIR := $(ROOT_DIR)/build
CMAKELISTS_FILE := $(ROOT_DIR)/CMakeLists.txt

# Command to use for cmake based on current directory
CMAKE_COMMAND := cmake -S $(ROOT_DIR) -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=Release
ifneq ($(findstring $(SUBDIR), $(CURRENT_DIR)),)
CMAKE_COMMAND := $(CMAKE_COMMAND) -DUSE_CPM=1
endif
CMAKELISTS_FILE := CMakeLists.txt

srpm:
dnf -y install cmake gcc-c++ make spdlog-devel fmt-devel cxxopts-devel json-devel git
mkdir -p $(BUILD_DIR)
cd $(ROOT_DIR); make
@VERSION_STRING=$$(cat $(BUILD_DIR)/.version); \
@if ! command -v git &> /dev/null; then \
dnf -y install git; \
fi
@ROOT_DIR=$$(git rev-parse --show-toplevel); \
CURRENT_DIR=$$(pwd); \
SUBDIR=specific-makefiles/build-in-libs; \
BUILD_DIR=$$ROOT_DIR/build; \
if echo $$CURRENT_DIR | grep -q $$SUBDIR; then \
CMAKE_COMMAND="cmake -S $$ROOT_DIR -B $$BUILD_DIR -DCMAKE_BUILD_TYPE=Release -DUSE_CPM=1"; \
else \
CMAKE_COMMAND="cmake -S $$ROOT_DIR -B $$BUILD_DIR -DCMAKE_BUILD_TYPE=Release"; \
fi; \
echo "Root directory: $$ROOT_DIR"; \
echo "Build directory: $$BUILD_DIR"; \
echo "CMake command: $$CMAKE_COMMAND"; \
dnf -y install cmake gcc-c++ make spdlog-devel fmt-devel cxxopts-devel json-devel; \
mkdir -p $$BUILD_DIR; \
make -C $$ROOT_DIR; \
VERSION_STRING=$$(cat $$BUILD_DIR/.version); \
sed -i 's/\$${PROJECT_VERSION}/'$$VERSION_STRING'/g' $(CMAKELISTS_FILE); \
sed -i '/include(cmake\/DynamicVersion\.cmake)/d' $(CMAKELISTS_FILE); \
sed -i '/dynamic_version(PROJECT_PREFIX filestorm_)/d' $(CMAKELISTS_FILE); \
sed -i 's/cmake_minimum_required(VERSION 3.25)/cmake_minimum_required(VERSION 3.20)/g' $(CMAKELISTS_FILE)
cd $(ROOT_DIR); make clean
mkdir -p $(BUILD_DIR)
$(CMAKE_COMMAND)
cpack -G RPM --config $(BUILD_DIR)/CPackSourceConfig.cmake
echo `ls $(BUILD_DIR)`
for rpmfile in `ls $(CURRENT_DIR)/filestorm-*.src.rpm`; do \
sed -i 's/cmake_minimum_required(VERSION 3.25)/cmake_minimum_required(VERSION 3.20)/g' $(CMAKELISTS_FILE); \
make -C $$ROOT_DIR clean; \
mkdir -p $$BUILD_DIR; \
$$CMAKE_COMMAND; \
cpack -G RPM --config $$BUILD_DIR/CPackSourceConfig.cmake; \
echo `ls $$BUILD_DIR`; \
for rpmfile in `ls $$BUILD_DIR/filestorm-*.src.rpm`; do \
echo $$rpmfile; \
cp $$rpmfile $(outdir); \
done

.PHONY: clean
clean:
rm -rf build

0 comments on commit 5f0a765

Please sign in to comment.