diff --git a/.copr/Makefile b/.copr/Makefile index 9aadfa0..75c86cd 100644 --- a/.copr/Makefile +++ b/.copr/Makefile @@ -1,27 +1,34 @@ -CMAKELISTS_FILE := CMakeLists.txt + +# 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 srpm: dnf -y install cmake gcc-c++ make spdlog-devel fmt-devel cxxopts-devel json-devel git - mkdir -p build - pwd - make - @VERSION_STRING=$$(cat build/.version); \ + mkdir -p $(BUILD_DIR) + cd $(ROOT_DIR); make + @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) - make clean - mkdir -p build -ifeq ($(wildcard USE_CPM),) - echo RUNNING without CPM; \ - cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -else - echo RUNNING with CPM; \ - cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DUSE_CPM=1 -endif - cpack -G RPM --config build/CPackSourceConfig.cmake - echo `ls` - for rpmfile in `ls filestorm-*.src.rpm`; do \ + 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 \ echo $$rpmfile; \ cp $$rpmfile $(outdir); \ done diff --git a/specific-makefiles/build-in-libs/Makefile b/specific-makefiles/build-in-libs/Makefile deleted file mode 100644 index 449e773..0000000 --- a/specific-makefiles/build-in-libs/Makefile +++ /dev/null @@ -1,14 +0,0 @@ - -# Makefile - -# Set up the default target - all, and specify what it should do -all: - touch ../../USE_CPM - - -srpm: - pwd - cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DUSE_CPM=1 - cd build; cpack -G RPM --config CPackSourceConfig.cmake - -.PHONY: all srpm \ No newline at end of file