Skip to content

Commit 529a8b2

Browse files
committed
Adapt cs_loader_impl for Guix build.
1 parent 3d7f2eb commit 529a8b2

File tree

1 file changed

+29
-11
lines changed

1 file changed

+29
-11
lines changed

source/loaders/cs_loader/netcore/CMakeLists.txt

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,23 +29,41 @@ message(STATUS "Plugin ${target} implementation")
2929
# Create target
3030
#
3131

32-
if(DOTNET_VERSION VERSION_EQUAL "2.0" OR DOTNET_VERSION VERSION_GREATER "2.0")
32+
if(OPTION_BUILD_GUIX)
33+
if(DOTNET_VERSION VERSION_EQUAL "2.0" OR DOTNET_VERSION VERSION_GREATER "2.0")
34+
execute_process(
35+
COMMAND ${DOTNET_COMMAND} nuget locals all --list | grep global-packages | awk '{print $NF}'
36+
OUTPUT_VARIABLE DOTNET_SOURCE
37+
)
38+
else()
39+
set(DOTNET_SOURCE)
40+
message(FATAL_ERROR ".NET Core support not implemented in Guix build for versions less than 2.0.")
41+
endif()
42+
43+
# Build without internet access
3344
add_custom_target(${target} ALL
34-
COMMAND ${DOTNET_COMMAND} restore ${CMAKE_CURRENT_SOURCE_DIR}/source/project.csproj
35-
COMMAND ${DOTNET_COMMAND} publish ${CMAKE_CURRENT_SOURCE_DIR}/source/project.csproj -o ${CMAKE_BINARY_DIR}
45+
COMMAND ${DOTNET_COMMAND} restore --source ${DOTNET_SOURCE} ${CMAKE_CURRENT_SOURCE_DIR}/source/project.csproj
46+
COMMAND ${DOTNET_COMMAND} publish --source ${DOTNET_SOURCE} ${CMAKE_CURRENT_SOURCE_DIR}/source/project.csproj -o ${CMAKE_BINARY_DIR}
3647
)
3748
else()
38-
if(DOTNET_MIGRATE)
49+
if(DOTNET_VERSION VERSION_EQUAL "2.0" OR DOTNET_VERSION VERSION_GREATER "2.0")
3950
add_custom_target(${target} ALL
40-
COMMAND ${DOTNET_COMMAND} migrate ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json
41-
COMMAND ${DOTNET_COMMAND} restore ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json
42-
COMMAND ${DOTNET_COMMAND} publish ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json -o ${CMAKE_BINARY_DIR}
51+
COMMAND ${DOTNET_COMMAND} restore ${CMAKE_CURRENT_SOURCE_DIR}/source/project.csproj
52+
COMMAND ${DOTNET_COMMAND} publish ${CMAKE_CURRENT_SOURCE_DIR}/source/project.csproj -o ${CMAKE_BINARY_DIR}
4353
)
4454
else()
45-
add_custom_target(${target} ALL
46-
COMMAND ${DOTNET_COMMAND} restore ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json
47-
COMMAND ${DOTNET_COMMAND} publish ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json -o ${CMAKE_BINARY_DIR}
48-
)
55+
if(DOTNET_MIGRATE)
56+
add_custom_target(${target} ALL
57+
COMMAND ${DOTNET_COMMAND} migrate ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json
58+
COMMAND ${DOTNET_COMMAND} restore ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json
59+
COMMAND ${DOTNET_COMMAND} publish ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json -o ${CMAKE_BINARY_DIR}
60+
)
61+
else()
62+
add_custom_target(${target} ALL
63+
COMMAND ${DOTNET_COMMAND} restore ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json
64+
COMMAND ${DOTNET_COMMAND} publish ${CMAKE_CURRENT_SOURCE_DIR}/source/project.json -o ${CMAKE_BINARY_DIR}
65+
)
66+
endif()
4967
endif()
5068
endif()
5169

0 commit comments

Comments
 (0)