cmake: Fix XCode dotnet build
This commit is contained in:
@@ -132,9 +132,9 @@ foreach(SUBPROJECT IN ITEMS algorithms graph init linear_solver constraint_solve
|
||||
target_link_libraries(google-ortools-native PRIVATE dotnet_${SUBPROJECT})
|
||||
endforeach()
|
||||
|
||||
file(COPY ${PROJECT_SOURCE_DIR}/tools/doc/orLogo.png DESTINATION dotnet)
|
||||
file(COPY ${PROJECT_SOURCE_DIR}/tools/doc/orLogo.png DESTINATION ${PROJECT_BINARY_DIR}/dotnet)
|
||||
set(DOTNET_LOGO_DIR "${PROJECT_BINARY_DIR}/dotnet")
|
||||
configure_file(${PROJECT_SOURCE_DIR}/ortools/dotnet/Directory.Build.props.in dotnet/Directory.Build.props)
|
||||
configure_file(${PROJECT_SOURCE_DIR}/ortools/dotnet/Directory.Build.props.in ${PROJECT_BINARY_DIR}/dotnet/Directory.Build.props)
|
||||
|
||||
# Generate Protobuf .Net sources
|
||||
set(PROTO_DOTNETS)
|
||||
@@ -196,7 +196,7 @@ else()
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${PROJECT_SOURCE_DIR}/ortools/dotnet/${DOTNET_SNK_PROJECT}
|
||||
${DOTNET_SNK_PROJECT}
|
||||
COMMAND ${DOTNET_EXECUTABLE} run
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} run
|
||||
--project ${DOTNET_SNK_PROJECT}/${DOTNET_SNK_PROJECT}.csproj
|
||||
/or-tools.snk
|
||||
BYPRODUCTS
|
||||
@@ -232,10 +232,11 @@ add_custom_command(
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_NATIVE_PROJECT_DIR}/timestamp
|
||||
COMMAND ${DOTNET_EXECUTABLE} build -c Release /p:Platform=${DOTNET_PLATFORM} ${DOTNET_NATIVE_PROJECT}.csproj
|
||||
COMMAND ${DOTNET_EXECUTABLE} pack -c Release ${DOTNET_NATIVE_PROJECT}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} build -c Release /p:Platform=${DOTNET_PLATFORM} ${DOTNET_NATIVE_PROJECT}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} pack -c Release ${DOTNET_NATIVE_PROJECT}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${DOTNET_NATIVE_PROJECT_DIR}/timestamp
|
||||
DEPENDS
|
||||
${PROJECT_BINARY_DIR}/dotnet/Directory.Build.props
|
||||
${DOTNET_NATIVE_PROJECT_DIR}/${DOTNET_NATIVE_PROJECT}.csproj
|
||||
${PROJECT_BINARY_DIR}/dotnet/or-tools.snk
|
||||
Dotnet${PROJECT_NAME}_proto
|
||||
@@ -243,6 +244,7 @@ add_custom_command(
|
||||
BYPRODUCTS
|
||||
${DOTNET_NATIVE_PROJECT_DIR}/bin
|
||||
${DOTNET_NATIVE_PROJECT_DIR}/obj
|
||||
VERBATIM
|
||||
COMMENT "Generate .Net native package ${DOTNET_NATIVE_PROJECT} (${DOTNET_NATIVE_PROJECT_DIR}/timestamp)"
|
||||
WORKING_DIRECTORY ${DOTNET_NATIVE_PROJECT_DIR})
|
||||
|
||||
@@ -275,8 +277,8 @@ add_custom_command(
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_PROJECT_DIR}/timestamp
|
||||
COMMAND ${DOTNET_EXECUTABLE} build -c Release /p:Platform=${DOTNET_PLATFORM} ${DOTNET_PROJECT}.csproj
|
||||
COMMAND ${DOTNET_EXECUTABLE} pack -c Release ${DOTNET_PROJECT}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} build -c Release /p:Platform=${DOTNET_PLATFORM} ${DOTNET_PROJECT}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} pack -c Release ${DOTNET_PROJECT}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${DOTNET_PROJECT_DIR}/timestamp
|
||||
DEPENDS
|
||||
${PROJECT_BINARY_DIR}/dotnet/or-tools.snk
|
||||
@@ -285,6 +287,7 @@ add_custom_command(
|
||||
BYPRODUCTS
|
||||
${DOTNET_PROJECT_DIR}/bin
|
||||
${DOTNET_PROJECT_DIR}/obj
|
||||
VERBATIM
|
||||
COMMENT "Generate .Net package ${DOTNET_PROJECT} (${DOTNET_PROJECT_DIR}/timestamp)"
|
||||
WORKING_DIRECTORY ${DOTNET_PROJECT_DIR})
|
||||
|
||||
@@ -328,7 +331,7 @@ function(add_dotnet_test FILE_NAME)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_TEST_DIR}/timestamp
|
||||
COMMAND ${DOTNET_EXECUTABLE} build -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} build -c Release ${TEST_NAME}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${DOTNET_TEST_DIR}/timestamp
|
||||
DEPENDS
|
||||
${DOTNET_TEST_DIR}/${TEST_NAME}.csproj
|
||||
@@ -337,7 +340,8 @@ function(add_dotnet_test FILE_NAME)
|
||||
BYPRODUCTS
|
||||
${DOTNET_TEST_DIR}/bin
|
||||
${DOTNET_TEST_DIR}/obj
|
||||
COMMENT "Compiling .Net ${COMPONENT_NAME}/${TEST_NAME}.cs (${DOTNET_TEST_DIR}/timestamp)"
|
||||
VERBATIM
|
||||
COMMENT "Compiling .Net ${COMPONENT_NAME}/${TEST_NAME}.cs (${DOTNET_TEST_DIR}/timestamp)"
|
||||
WORKING_DIRECTORY ${DOTNET_TEST_DIR})
|
||||
|
||||
add_custom_target(dotnet_${COMPONENT_NAME}_${TEST_NAME} ALL
|
||||
@@ -348,7 +352,7 @@ function(add_dotnet_test FILE_NAME)
|
||||
if(BUILD_TESTING)
|
||||
add_test(
|
||||
NAME dotnet_${COMPONENT_NAME}_${TEST_NAME}
|
||||
COMMAND ${DOTNET_EXECUTABLE} test --no-build -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} test --no-build -c Release ${TEST_NAME}.csproj
|
||||
WORKING_DIRECTORY ${DOTNET_TEST_DIR})
|
||||
endif()
|
||||
message(STATUS "Configuring test ${FILE_NAME} done")
|
||||
@@ -390,8 +394,8 @@ function(add_dotnet_sample FILE_NAME)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_SAMPLE_DIR}/timestamp
|
||||
COMMAND ${DOTNET_EXECUTABLE} build -c Release
|
||||
COMMAND ${DOTNET_EXECUTABLE} pack -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} build -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} pack -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${DOTNET_SAMPLE_DIR}/timestamp
|
||||
DEPENDS
|
||||
${DOTNET_SAMPLE_DIR}/${SAMPLE_NAME}.csproj
|
||||
@@ -412,13 +416,13 @@ function(add_dotnet_sample FILE_NAME)
|
||||
if(USE_DOTNET_CORE_31)
|
||||
add_test(
|
||||
NAME dotnet_${COMPONENT_NAME}_${SAMPLE_NAME}_netcoreapp31
|
||||
COMMAND ${DOTNET_EXECUTABLE} run --no-build --framework netcoreapp3.1 -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} run --no-build --framework netcoreapp3.1 -c Release
|
||||
WORKING_DIRECTORY ${DOTNET_SAMPLE_DIR})
|
||||
endif()
|
||||
if(USE_DOTNET_6)
|
||||
add_test(
|
||||
NAME dotnet_${COMPONENT_NAME}_${SAMPLE_NAME}_net60
|
||||
COMMAND ${DOTNET_EXECUTABLE} run --no-build --framework net6.0 -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} run --no-build --framework net6.0 -c Release
|
||||
WORKING_DIRECTORY ${DOTNET_SAMPLE_DIR})
|
||||
endif()
|
||||
endif()
|
||||
@@ -461,8 +465,8 @@ function(add_dotnet_example FILE_NAME)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_EXAMPLE_DIR}/timestamp
|
||||
COMMAND ${DOTNET_EXECUTABLE} build -c Release
|
||||
COMMAND ${DOTNET_EXECUTABLE} pack -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} build -c Release ${EXAMPLE_NAME}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} pack -c Release ${EXAMPLE_NAME}.csproj
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${DOTNET_EXAMPLE_DIR}/timestamp
|
||||
DEPENDS
|
||||
${DOTNET_EXAMPLE_DIR}/${EXAMPLE_NAME}.csproj
|
||||
@@ -471,7 +475,8 @@ function(add_dotnet_example FILE_NAME)
|
||||
BYPRODUCTS
|
||||
${DOTNET_EXAMPLE_DIR}/bin
|
||||
${DOTNET_EXAMPLE_DIR}/obj
|
||||
COMMENT "Compiling .Net ${COMPONENT_NAME}/${EXAMPLE_NAME}.cs (${DOTNET_EXAMPLE_DIR}/timestamp)"
|
||||
VERBATIM
|
||||
COMMENT "Compiling .Net ${COMPONENT_NAME}/${EXAMPLE_NAME}.cs (${DOTNET_EXAMPLE_DIR}/timestamp)"
|
||||
WORKING_DIRECTORY ${DOTNET_EXAMPLE_DIR})
|
||||
|
||||
add_custom_target(dotnet_${COMPONENT_NAME}_${EXAMPLE_NAME} ALL
|
||||
@@ -483,13 +488,13 @@ function(add_dotnet_example FILE_NAME)
|
||||
if(USE_DOTNET_CORE_31)
|
||||
add_test(
|
||||
NAME dotnet_${COMPONENT_NAME}_${EXAMPLE_NAME}_netcoreapp31
|
||||
COMMAND ${DOTNET_EXECUTABLE} run --no-build --framework netcoreapp3.1 -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} run --no-build --framework netcoreapp3.1 -c Release ${EXAMPLE_NAME}.csproj
|
||||
WORKING_DIRECTORY ${DOTNET_EXAMPLE_DIR})
|
||||
endif()
|
||||
if(USE_DOTNET_6)
|
||||
add_test(
|
||||
NAME dotnet_${COMPONENT_NAME}_${EXAMPLE_NAME}_net60
|
||||
COMMAND ${DOTNET_EXECUTABLE} run --no-build --framework net6.0 -c Release
|
||||
COMMAND ${CMAKE_COMMAND} -E env --unset=TARGETNAME ${DOTNET_EXECUTABLE} run --no-build --framework net6.0 -c Release ${EXAMPLE_NAME}.csproj
|
||||
WORKING_DIRECTORY ${DOTNET_EXAMPLE_DIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user