fritzkink
2023-12-25 851cd5721904afd5369055381778e81a271b5bde
make-rules/cmake.mk
@@ -97,6 +97,7 @@
CMAKE_ENV += FCFLAGS="$(FCFLAGS)"
CMAKE_ENV += LDFLAGS="$(LDFLAGS)"
CMAKE_ENV += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
CMAKE_ENV += PATH="$(PATH)"
# Rewrite absolute source-code paths into relative for ccache, so that any
# workspace with a shared CCACHE_DIR can benefit when compiling a component
@@ -127,9 +128,6 @@
CMAKE_OPTIONS += -DCMAKE_CXX_FLAGS:STRING="$(CXXFLAGS)"
CMAKE_OPTIONS += -DCMAKE_Fortran_FLAGS:STRING="$(FCFLAGS)"
CMAKE_OPTIONS += LDFLAGS="$(LDFLAGS)"
CMAKE_OPTIONS += PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)"
CMAKE_OPTIONS += -DCMAKE_INSTALL_PREFIX:PATH=$(CMAKE_PREFIX)
ifeq ($(CMAKE_DEFAULT_DIRS),yes)
CMAKE_OPTIONS += -DCMAKE_INSTALL_BINDIR:PATH=$(CMAKE_BINDIR.$(BITS))
@@ -149,7 +147,7 @@
# variable that we can generally use to accomplish the same result.  Setting
# them both shouldn't harm anything.
CMAKE_OPTIONS += -DLIB_INSTALL_DIR="$(CMAKE_PREFIX)/$(CMAKE_LIBDIR.$(BITS))"
CMAKE_OPTIONS.64 += -DCMAKE_LIBRARY_ARCHITECTURE=amd64
CMAKE_OPTIONS.64 += -DCMAKE_LIBRARY_ARCHITECTURE=$(MACH64)
CMAKE_OPTIONS.64 += -DLIB_SUFFIX="/$(MACH64)"
endif
CMAKE_OPTIONS += $(CMAKE_OPTIONS.$(BITS))
@@ -166,6 +164,23 @@
# configure the unpacked source for building 32 and 64 bit version
CMAKE =   cmake
# provide test transforms for ctest
CMAKE_TEST_TRANSFORMS = \
   ' -e "s/[0-9]*\.[0-9]* sec//" ' \
   ' -n ' \
   ' -e "/Not Run/p" ' \
   ' -e "/Start/p" ' \
   ' -e "/Skipped/p" ' \
   ' -e "/Failed/p" ' \
   ' -e "/Passed/p" ' \
   ' -e "/failed/p" '
USE_DEFAULT_TEST_TRANSFORMS?=no
ifeq ($(strip $(USE_DEFAULT_TEST_TRANSFORMS)),yes)
COMPONENT_TEST_TRANSFORMS += $(CMAKE_TEST_TRANSFORMS)
endif
$(BUILD_DIR)/%/.configured:   $(SOURCE_DIR)/.prep
   ($(RM) -rf $(@D) ; $(MKDIR) $(@D))
   $(COMPONENT_PRE_CMAKE_ACTION)
@@ -181,9 +196,6 @@
      $(GMAKE) $(COMPONENT_BUILD_GMAKE_ARGS) $(COMPONENT_BUILD_ARGS) \
      $(COMPONENT_BUILD_TARGETS))
   $(COMPONENT_POST_BUILD_ACTION)
ifeq   ($(strip $(PARFAIT_BUILD)),yes)
   -$(PARFAIT) build
endif
   $(TOUCH) $@
# install the built source into a prototype area
@@ -211,23 +223,21 @@
   $(COMPONENT_TEST_CLEANUP)
   $(TOUCH) $@
$(BUILD_DIR)/%/.tested:   SHELLOPTS=pipefail
$(BUILD_DIR)/%/.tested:   $(BUILD_DIR)/%/.built
   $(RM) -rf $(COMPONENT_TEST_BUILD_DIR)
   $(MKDIR) $(COMPONENT_TEST_BUILD_DIR)
   $(COMPONENT_PRE_TEST_ACTION)
   (cd $(COMPONENT_TEST_DIR) ; \
      $(COMPONENT_TEST_ENV_CMD) $(COMPONENT_TEST_ENV) \
      $(COMPONENT_TEST_CMD) \
      $(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
      $(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS)) \
      |& $(TEE) $(COMPONENT_TEST_OUTPUT)
   $(COMPONENT_POST_TEST_ACTION)
   $(COMPONENT_TEST_CREATE_TRANSFORMS)
   $(COMPONENT_TEST_PERFORM_TRANSFORM)
   $(COMPONENT_TEST_CLEANUP)
   $(TOUCH) $@
ifeq   ($(strip $(PARFAIT_BUILD)),yes)
parfait: install
   -$(PARFAIT) build
else
parfait:
   $(MAKE) PARFAIT_BUILD=yes parfait
endif
clean::
   $(RM) -r $(BUILD_DIR) $(PROTO_DIR)