You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.4 KiB
45 lines
1.4 KiB
8 years ago
|
if(NOT CMAKE_Go_COMPILER)
|
||
|
if(NOT $ENV{GO_COMPILER} STREQUAL "")
|
||
|
get_filename_component(CMAKE_Go_COMPILER_INIT $ENV{GO_COMPILER} PROGRAM PROGRAM_ARGS CMAKE_Go_FLAGS_ENV_INIT)
|
||
|
|
||
|
if(CMAKE_Go_FLAGS_ENV_INIT)
|
||
|
set(CMAKE_Go_COMPILER_ARG1 "${CMAKE_Go_FLAGS_ENV_INIT}" CACHE STRING "First argument to Go compiler")
|
||
|
endif()
|
||
|
|
||
|
if(NOT EXISTS ${CMAKE_Go_COMPILER_INIT})
|
||
|
message(SEND_ERROR "Could not find compiler set in environment variable GO_COMPILER:\n$ENV{GO_COMPILER}.")
|
||
|
endif()
|
||
|
|
||
|
endif()
|
||
|
|
||
|
set(Go_BIN_PATH
|
||
|
$ENV{GOPATH}
|
||
|
$ENV{GOROOT}
|
||
|
$ENV{GOROOT}/../bin
|
||
|
$ENV{GO_COMPILER}
|
||
|
/usr/bin
|
||
|
/usr/local/bin
|
||
|
)
|
||
|
|
||
|
if(CMAKE_Go_COMPILER_INIT)
|
||
|
set(CMAKE_Go_COMPILER ${CMAKE_Go_COMPILER_INIT} CACHE PATH "Go Compiler")
|
||
|
else()
|
||
|
find_program(CMAKE_Go_COMPILER
|
||
|
NAMES go
|
||
|
PATHS ${Go_BIN_PATH}
|
||
|
)
|
||
|
EXEC_PROGRAM(${CMAKE_Go_COMPILER} ARGS version OUTPUT_VARIABLE GOLANG_VERSION)
|
||
|
STRING(REGEX MATCH "go[0-9]+.[0-9]+.[0-9]+[ /A-Za-z0-9]*" VERSION "${GOLANG_VERSION}")
|
||
|
message("-- The Golang compiler identification is ${VERSION}")
|
||
|
message("-- Check for working Golang compiler: ${CMAKE_Go_COMPILER}")
|
||
|
endif()
|
||
|
|
||
|
endif()
|
||
|
|
||
|
mark_as_advanced(CMAKE_Go_COMPILER)
|
||
|
|
||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/CMakeGoCompiler.cmake.in
|
||
|
${CMAKE_PLATFORM_INFO_DIR}/CMakeGoCompiler.cmake @ONLY)
|
||
|
|
||
|
set(CMAKE_Go_COMPILER_ENV_VAR "GO_COMPILER")
|