@@ -18,6 +18,10 @@ set(PRJ_VERSION_MINOR 0)
1818configure_file ("${PROJECT_SOURCE_DIR} /cmake/version.h.in" "${PROJECT_BINARY_DIR} /version.h" )
1919include_directories ("${PROJECT_BINARY_DIR} " )
2020
21+ if (WIN32 AND NOT DEFINED ENV{MSYSTEM})
22+ message (FATAL_ERROR "Currently unsuppored environment. Use MINGW for Windows builds. CMake willl exit now." )
23+ endif ()
24+
2125if (CMAKE_CROSSCOMPILING OR WIN32 )
2226 # Cannot win here - libwinpthread-1.dll will still be required on run-time (unless somebody rebuilds mingw compilers in MSYS2 with win32 threads)
2327 if ($ENV{MSYSTEM} STREQUAL "MINGW32" )
@@ -104,6 +108,7 @@ find_package(Glide 0.12 REQUIRED)
104108set (GO_PATH "${CMAKE_BINARY_DIR} /go" )
105109
106110if (CMAKE_CROSSCOMPILING )
111+ # Set Go target environments
107112 if ($ENV{MSYSTEM} STREQUAL "MINGW32" )
108113 set (CROSS_GOOS windows)
109114 set (CROSS_GOARCH 386)
@@ -128,7 +133,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libget2${CMAKE_EXECUTABLE_SUFFIX}
128133 # setting up source tree
129134 COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR} /libget2/ go/src/libget2
130135 # Building
131- COMMAND ${CMAKE_COMMAND} -E env GOROOT=${GO_ROOT} GOPATH=${GO_PATH} GOOS=${CROSS_GOOS} GOARCH=${CROSS_GOARCH} ${GO_EXECUTABLE} build libget2
136+ COMMAND ${CMAKE_COMMAND} -E env GOROOT=${GO_ROOT} GOPATH=${GO_PATH} GOOS=${CROSS_GOOS} GOARCH=${CROSS_GOARCH} ${GO_EXECUTABLE} build libget2
132137 COMMENT "Building GO program - libget2" )
133138add_custom_target (libget2_exe ALL DEPENDS ${CMAKE_BINARY_DIR} /libget2${CMAKE_EXECUTABLE_SUFFIX} )
134139install (PROGRAMS ${CMAKE_BINARY_DIR} /libget2${CMAKE_EXECUTABLE_SUFFIX} DESTINATION ${DEST_DIR} CONFIGURATIONS Release)
@@ -141,7 +146,7 @@ add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libmerge${CMAKE_EXECUTABLE_SUFFIX}
141146 # setting up source tree
142147 COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR} /libmerge/ go/src/libmerge
143148 # Building
144- COMMAND ${CMAKE_COMMAND} -E env GOROOT=${GO_ROOT} GOPATH=${GO_PATH} GOOS=${CROSS_GOOS} GOARCH=${CROSS_GOARCH} ${GO_EXECUTABLE} build libmerge
149+ COMMAND ${CMAKE_COMMAND} -E env GOROOT=${GO_ROOT} GOPATH=${GO_PATH} GOOS=${CROSS_GOOS} GOARCH=${CROSS_GOARCH} ${GO_EXECUTABLE} build libmerge
145150 COMMENT "Building GO program - libmerge" )
146151add_custom_target (libmerge_exe ALL DEPENDS ${CMAKE_BINARY_DIR} /libmerge${CMAKE_EXECUTABLE_SUFFIX} )
147152install (PROGRAMS ${CMAKE_BINARY_DIR} /libmerge${CMAKE_EXECUTABLE_SUFFIX} DESTINATION ${DEST_DIR} CONFIGURATIONS Release)
0 commit comments