mirror of
https://github.com/edgelesssys/constellation.git
synced 2024-12-24 06:59:40 -05:00
fc33a74c78
The variable VersionInfo is supposed to be set by `go build -X ...` during link time but should not be modified at runtime. This change ensures the underlying var is private and can only be accessed by a public getter.
95 lines
3.4 KiB
CMake
95 lines
3.4 KiB
CMake
cmake_minimum_required(VERSION 3.11)
|
|
|
|
# WARNING: This is only executed when running `cmake`.
|
|
# Therefore, to update the version number, one needs to run `cmake` first.
|
|
execute_process(COMMAND bash -c "go run ${CMAKE_SOURCE_DIR}/hack/pseudo-version/. | tr -d '\n'"
|
|
OUTPUT_VARIABLE PSEUDO_VERSION)
|
|
|
|
project(constellation LANGUAGES C VERSION 0.0.0)
|
|
|
|
if (${PROJECT_VERSION} STREQUAL "0.0.0")
|
|
set(PROJECT_VERSION ${PSEUDO_VERSION})
|
|
endif()
|
|
|
|
set(CLI_BUILD_TAGS "" CACHE STRING "Tags passed to go build of Constellation CLI.")
|
|
|
|
enable_testing()
|
|
|
|
#
|
|
# core-os disk-mapper
|
|
#
|
|
add_custom_target(disk-mapper ALL
|
|
DOCKER_BUILDKIT=1 docker build -o ${CMAKE_BINARY_DIR} --build-arg PROJECT_VERSION="${PROJECT_VERSION}" -f Dockerfile.build --target disk-mapper .
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
BYPRODUCTS disk-mapper
|
|
)
|
|
|
|
#
|
|
# bootstrapper
|
|
#
|
|
add_custom_target(bootstrapper ALL
|
|
DOCKER_BUILDKIT=1 docker build -o ${CMAKE_BINARY_DIR} --build-arg PROJECT_VERSION="${PROJECT_VERSION}" -f Dockerfile.build --target bootstrapper .
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
BYPRODUCTS bootstrapper
|
|
)
|
|
|
|
#
|
|
# upgrade-agent
|
|
#
|
|
add_custom_target(upgrade-agent ALL
|
|
DOCKER_BUILDKIT=1 docker build -o ${CMAKE_BINARY_DIR} --build-arg PROJECT_VERSION="${PROJECT_VERSION}" -f Dockerfile.build --target upgrade-agent .
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
BYPRODUCTS upgrade-agent
|
|
)
|
|
|
|
#
|
|
# cli
|
|
#
|
|
add_custom_target(cli ALL
|
|
CGO_ENABLED=0 go build -o ${CMAKE_BINARY_DIR}/constellation -tags='${CLI_BUILD_TAGS}' -ldflags "-buildid='' -X github.com/edgelesssys/constellation/v2/internal/constants.versionInfo=${PROJECT_VERSION}"
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/cli
|
|
BYPRODUCTS constellation
|
|
)
|
|
|
|
#
|
|
# testing / debugging
|
|
#
|
|
add_custom_target(debug_bootstrapper
|
|
go build -o ${CMAKE_BINARY_DIR}/debug_bootstrapper -buildvcs=false -ldflags "-buildid='' -X main.version=${PROJECT_VERSION}"
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/bootstrapper/cmd/bootstrapper
|
|
BYPRODUCTS debug_bootstrapper
|
|
)
|
|
|
|
#
|
|
# debugd
|
|
#
|
|
add_custom_target(debugd ALL
|
|
CGO_ENABLED=0 go build -o ${CMAKE_BINARY_DIR}/debugd -buildvcs=false -ldflags "-buildid=''"
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/debugd/cmd/debugd
|
|
BYPRODUCTS debugd
|
|
)
|
|
|
|
#
|
|
# cdbg
|
|
#
|
|
add_custom_target(cdbg ALL
|
|
CGO_ENABLED=0 go build -o ${CMAKE_BINARY_DIR}/cdbg -buildvcs=false -ldflags "-buildid='' -X github.com/edgelesssys/constellation/v2/internal/constants.versionInfo=${PROJECT_VERSION}"
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/debugd/cmd/cdbg
|
|
BYPRODUCTS cdbg
|
|
)
|
|
|
|
add_test(NAME unit COMMAND bash -c "go test -race -count=3 $(go list -f '{{.Dir}}/...' -m | xargs)" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
|
add_test(NAME integration-node-operator COMMAND make test WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/operators/constellation-node-operator)
|
|
add_test(NAME integration-csi COMMAND bash -c "go test -tags integration -c ./test/ && sudo ./test.test -test.v" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/csi)
|
|
add_test(NAME integration-dm COMMAND bash -c "go test -tags integration -c ./test/ && sudo ./test.test -test.v" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/disk-mapper/internal)
|
|
add_test(NAME integration-license COMMAND bash -c "go test -tags integration" WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/internal/license)
|
|
|
|
#
|
|
# format
|
|
#
|
|
add_custom_target(format
|
|
COMMAND bash -c "shfmt -i 2 -s -w -sr $(shfmt -f ${CMAKE_SOURCE_DIR} | grep -v helm/charts/cilium)"
|
|
COMMAND bash -c "gofumpt -l -w ${CMAKE_SOURCE_DIR}"
|
|
VERBATIM
|
|
)
|