|
@@ -61,17 +61,22 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
add_definitions(-DZT_DEBUG)
|
|
add_definitions(-DZT_DEBUG)
|
|
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
endif(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
|
|
|
|
|
-set(GOFLAGS
|
|
|
|
- -trimpath
|
|
|
|
- -buildmode=pie
|
|
|
|
-)
|
|
|
|
-
|
|
|
|
if(WIN32)
|
|
if(WIN32)
|
|
|
|
|
|
message("++ Setting Windows Compiler Flags ${CMAKE_BUILD_TYPE}")
|
|
message("++ Setting Windows Compiler Flags ${CMAKE_BUILD_TYPE}")
|
|
add_definitions(-DNOMINMAX)
|
|
add_definitions(-DNOMINMAX)
|
|
|
|
|
|
|
|
+ set(GOFLAGS
|
|
|
|
+ -trimpath
|
|
|
|
+ )
|
|
|
|
+
|
|
else(WIN32)
|
|
else(WIN32)
|
|
|
|
+
|
|
|
|
+ set(GOFLAGS
|
|
|
|
+ -trimpath
|
|
|
|
+ -buildmode=pie
|
|
|
|
+ )
|
|
|
|
+
|
|
if(APPLE)
|
|
if(APPLE)
|
|
|
|
|
|
message("++ Setting MacOS Compiler Flags ${CMAKE_BUILD_TYPE}")
|
|
message("++ Setting MacOS Compiler Flags ${CMAKE_BUILD_TYPE}")
|
|
@@ -183,16 +188,23 @@ file(GLOB go_src
|
|
${CMAKE_SOURCE_DIR}/cmd/cmd/*.go
|
|
${CMAKE_SOURCE_DIR}/cmd/cmd/*.go
|
|
${CMAKE_SOURCE_DIR}/pkg/zerotier/*.go)
|
|
${CMAKE_SOURCE_DIR}/pkg/zerotier/*.go)
|
|
|
|
|
|
-set(CXX_CORE_LIBRARIES "-lc++")
|
|
|
|
-if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
|
- set(CXX_CORE_LIBRARIES "-lstdc++")
|
|
|
|
-endif(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
|
|
|
+if(WIN32)
|
|
|
|
+ set(GO_EXE_NAME "zerotier.exe")
|
|
|
|
+ set(GO_EXTRA_LIBRARIES "-lstdc++ -lwsock32 -lws2_32 -liphlpapi -lole32 -loleaut32 -lrpcrt4 -luuid")
|
|
|
|
+else(WIN32)
|
|
|
|
+ set(GO_EXE_NAME "zerotier")
|
|
|
|
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
|
+ set(GO_EXTRA_LIBRARIES "-lstdc++")
|
|
|
|
+ else()
|
|
|
|
+ set(GO_EXTRA_LIBRARIES "-lc++")
|
|
|
|
+ endif()
|
|
|
|
+endif(WIN32)
|
|
|
|
|
|
add_custom_target(
|
|
add_custom_target(
|
|
zerotier ALL
|
|
zerotier ALL
|
|
BYPRODUCTS ${CMAKE_BINARY_DIR}/zerotier
|
|
BYPRODUCTS ${CMAKE_BINARY_DIR}/zerotier
|
|
SOURCES ${go_src}
|
|
SOURCES ${go_src}
|
|
- COMMAND ${GOARCH} CGO_ENABLED=1 CGO_CFLAGS=\"-O3\" CGO_LDFLAGS=\"$<TARGET_FILE:zt_core> $<TARGET_FILE:zt_controller> $<TARGET_FILE:zt_service_io_core> $<TARGET_FILE:zt_osdep> ${CXX_CORE_LIBRARIES}\" ${GO} build ${GOFLAGS} -o ${CMAKE_BINARY_DIR}/zerotier ${CMAKE_SOURCE_DIR}/cmd/zerotier/zerotier.go
|
|
|
|
|
|
+ COMMAND ${CMAKE_COMMAND} -E env "${GOARCH} CGO_ENABLED=1 CGO_CFLAGS=\"-O3\" CGO_LDFLAGS=\"$<TARGET_FILE:zt_core> $<TARGET_FILE:zt_controller> $<TARGET_FILE:zt_service_io_core> $<TARGET_FILE:zt_osdep> ${GO_EXTRA_LIBRARIES}\"" ${GO} build ${GOFLAGS} -o ${CMAKE_BINARY_DIR}/${GO_EXE_NAME} ${CMAKE_SOURCE_DIR}/cmd/zerotier/zerotier.go
|
|
COMMENT "Compiling Go Code..."
|
|
COMMENT "Compiling Go Code..."
|
|
)
|
|
)
|
|
add_dependencies(zerotier zt_osdep zt_core zt_controller zt_service_io_core)
|
|
add_dependencies(zerotier zt_osdep zt_core zt_controller zt_service_io_core)
|