github.com/aergoio/aergo@v1.3.1/CMakeLists.txt (about)

     1  #
     2  # @file    CMakeLists.txt
     3  # @copyright defined in aergo/LICENSE.txt
     4  #
     5  
     6  cmake_minimum_required(VERSION 3.0)
     7  
     8  project(aergo NONE)
     9  
    10  set(BIN_DIR ${CMAKE_CURRENT_LIST_DIR}/bin)
    11  set(PROTO_DIR ${CMAKE_CURRENT_LIST_DIR}/aergo-protobuf/proto)
    12  
    13  if(CMAKE_BUILD_TYPE MATCHES "Debug")
    14      set(GCFLAGS "-gcflags=\"-N" "-l\"")
    15      set(GFLAG -tags Debug)
    16  endif()
    17  
    18  add_custom_target(build ALL DEPENDS aergocli aergosvr aergoluac brick)
    19  
    20  add_custom_target(aergocli GO111MODULE=on GOBIN=${BIN_DIR} go install ${GCFLAGS} -ldflags \"-X github.com/aergoio/aergo/cmd/aergocli/cmd.githash=`git describe --tags`\" ./cmd/aergocli/...
    21      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
    22      DEPENDS libtool)
    23  
    24  add_custom_target(aergosvr GO111MODULE=on GOBIN=${BIN_DIR} go install ${GCFLAGS} -ldflags \"-X main.githash=`git describe --tags` -X main.gitRevision=`git rev-parse --short HEAD` -X main.gitBranch=`git rev-parse --symbolic-full-name --abbrev-ref HEAD`\" ./cmd/aergosvr/...
    25      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
    26      DEPENDS libtool)
    27  
    28  add_custom_target(polaris GO111MODULE=on GOBIN=${BIN_DIR} go install ${GCFLAGS} -ldflags \"-X main.githash=`git describe --tags`\" ./cmd/polaris/...
    29      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
    30  
    31  add_custom_target(colaris GO111MODULE=on GOBIN=${BIN_DIR} go install ${GCFLAGS} -ldflags \"-X github.com/aergoio/aergo/cmd/colaris/cmd.githash=`git describe --tags`\" ./cmd/colaris/...
    32      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
    33  
    34  add_custom_target(aergoluac GO111MODULE=on GOBIN=${BIN_DIR} go install ${GCFLAGS} -ldflags \"-X main.githash=`git describe --tags`\" ./cmd/aergoluac/...
    35      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
    36      DEPENDS libtool)
    37  
    38  add_custom_target(brick GO111MODULE=on GOBIN=${BIN_DIR} go install ${GCFLAGS} ${GFLAG} -ldflags \"-X 'github.com/aergoio/aergo/cmd/brick/context.GitHash=`git describe --tags`'
    39  -X 'github.com/aergoio/aergo-lib/log.defaultConfStr=`cat ./cmd/brick/arglog.toml`'\"  ./cmd/brick/...
    40      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
    41      DEPENDS libtool)
    42  
    43  add_custom_target(deps DEPENDS libtool)
    44  
    45  add_custom_target(check GO111MODULE=on go test -timeout 60s ./...
    46      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
    47      DEPENDS build)
    48  add_custom_target(cover-check GO111MODULE=on go test -coverprofile c.out ./...
    49      WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
    50      DEPENDS build)
    51  
    52  add_custom_target(distclean GO111MODULE=on go clean ..
    53  	COMMAND rm -rf ${BIN_DIR}/aergo* ${BIN_DIR}/brick
    54  	DEPENDS libtool-clean)
    55  
    56  add_custom_target(protoc
    57  	COMMAND protoc -I/usr/local/include -I${PROTO_DIR} --go_out=plugins=grpc:${CMAKE_CURRENT_LIST_DIR}/types ${PROTO_DIR}/*.proto
    58  	COMMAND GO111MODULE=on go build ../types/...)
    59  
    60  add_custom_target(protoclean rm -f ../types/*.pb.go)
    61  
    62  
    63  add_subdirectory(libtool)