cmake: Fix dotnet.cmake and path

This commit is contained in:
Corentin Le Molgat
2021-12-03 13:57:46 +01:00
parent 72ebd8b748
commit 5f567735d7
9 changed files with 46 additions and 46 deletions

View File

@@ -27,38 +27,6 @@ else()
message(STATUS "Found dotnet Program: ${DOTNET_EXECUTABLE}")
endif()
# Generate Protobuf .Net sources
set(PROTO_DOTNETS)
file(GLOB_RECURSE proto_dotnet_files RELATIVE ${PROJECT_SOURCE_DIR}
"ortools/constraint_solver/*.proto"
"ortools/linear_solver/*.proto"
"ortools/sat/*.proto"
"ortools/util/*.proto"
)
list(REMOVE_ITEM proto_dotnet_files "ortools/constraint_solver/demon_profiler.proto")
list(REMOVE_ITEM proto_dotnet_files "ortools/constraint_solver/assignment.proto")
foreach(PROTO_FILE IN LISTS proto_dotnet_files)
#message(STATUS "protoc proto(dotnet): ${PROTO_FILE}")
get_filename_component(PROTO_DIR ${PROTO_FILE} DIRECTORY)
get_filename_component(PROTO_NAME ${PROTO_FILE} NAME_WE)
set(PROTO_DOTNET ${PROJECT_BINARY_DIR}/dotnet/${PROTO_DIR}/${PROTO_NAME}.pb.cs)
#message(STATUS "protoc dotnet: ${PROTO_DOTNET}")
add_custom_command(
OUTPUT ${PROTO_DOTNET}
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/dotnet/${PROTO_DIR}
COMMAND ${PROTOC_PRG}
"--proto_path=${PROJECT_SOURCE_DIR}"
${PROTO_DIRS}
"--csharp_out=${PROJECT_BINARY_DIR}/dotnet/${PROTO_DIR}"
"--csharp_opt=file_extension=.pb.cs"
${PROTO_FILE}
DEPENDS ${PROTO_FILE} ${PROTOC_PRG}
COMMENT "Generate C# protocol buffer for ${PROTO_FILE}"
VERBATIM)
list(APPEND PROTO_DOTNETS ${PROTO_DOTNET})
endforeach()
add_custom_target(Dotnet${PROJECT_NAME}_proto DEPENDS ${PROTO_DOTNETS} ${PROJECT_NAMESPACE}::ortools)
# Create the native library
add_library(google-ortools-native SHARED "")
set_target_properties(google-ortools-native PROPERTIES
@@ -124,6 +92,38 @@ file(COPY tools/doc/orLogo.png DESTINATION dotnet)
set(DOTNET_LOGO_DIR "${PROJECT_BINARY_DIR}/dotnet")
configure_file(ortools/dotnet/Directory.Build.props.in dotnet/Directory.Build.props)
# Generate Protobuf .Net sources
set(PROTO_DOTNETS)
file(GLOB_RECURSE proto_dotnet_files RELATIVE ${PROJECT_SOURCE_DIR}
"ortools/constraint_solver/*.proto"
"ortools/linear_solver/*.proto"
"ortools/sat/*.proto"
"ortools/util/*.proto"
)
list(REMOVE_ITEM proto_dotnet_files "ortools/constraint_solver/demon_profiler.proto")
list(REMOVE_ITEM proto_dotnet_files "ortools/constraint_solver/assignment.proto")
foreach(PROTO_FILE IN LISTS proto_dotnet_files)
#message(STATUS "protoc proto(dotnet): ${PROTO_FILE}")
get_filename_component(PROTO_DIR ${PROTO_FILE} DIRECTORY)
get_filename_component(PROTO_NAME ${PROTO_FILE} NAME_WE)
set(PROTO_DOTNET ${DOTNET_PROJECT_DIR}/${PROTO_DIR}/${PROTO_NAME}.pb.cs)
#message(STATUS "protoc dotnet: ${PROTO_DOTNET}")
add_custom_command(
OUTPUT ${PROTO_DOTNET}
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/dotnet/${PROTO_DIR}
COMMAND ${PROTOC_PRG}
"--proto_path=${PROJECT_SOURCE_DIR}"
${PROTO_DIRS}
"--csharp_out=${DOTNET_PROJECT_DIR}/${PROTO_DIR}"
"--csharp_opt=file_extension=.pb.cs"
${PROTO_FILE}
DEPENDS ${PROTO_FILE} ${PROTOC_PRG}
COMMENT "Generate C# protocol buffer for ${PROTO_FILE}"
VERBATIM)
list(APPEND PROTO_DOTNETS ${PROTO_DOTNET})
endforeach()
add_custom_target(Dotnet${PROJECT_NAME}_proto DEPENDS ${PROTO_DOTNETS} ${PROJECT_NAMESPACE}::ortools)
############################
## .Net SNK file ##
############################

View File

@@ -8,7 +8,7 @@ set_property(SOURCE knapsack_solver.i PROPERTY COMPILE_OPTIONS
swig_add_library(dotnet_algorithms
TYPE OBJECT
LANGUAGE csharp
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/${PROJECT_NAME}/algorithms
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/ortools/algorithms
SOURCES knapsack_solver.i)
#target_include_directories(dotnet_algorithms PRIVATE ${DOTNET_INCLUDE_DIRS})

View File

@@ -8,7 +8,7 @@ set_property(SOURCE routing.i PROPERTY COMPILE_OPTIONS
swig_add_library(dotnet_constraint_solver
TYPE OBJECT
LANGUAGE csharp
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/constraint_solver
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/ortools/constraint_solver
SOURCES routing.i)
#target_include_directories(dotnet_constraint_solver PRIVATE ${DOTNET_INCLUDE_DIRS})

View File

@@ -31,43 +31,43 @@
</PropertyGroup>
<ItemGroup>
<Compile Include="@DOTNET_PROJECT_DIR@/algorithms/*.cs">
<Compile Include="@DOTNET_PROJECT_DIR@/ortools/algorithms/*.cs">
<Link>algorithms/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@DOTNET_PROJECT_DIR@/graph/*.cs">
<Compile Include="@DOTNET_PROJECT_DIR@/ortools/graph/*.cs">
<Link>graph/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@PROJECT_SOURCE_DIR@/ortools/graph/csharp/*.cs">
<Link>graph/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@DOTNET_PROJECT_DIR@/linear_solver/*.cs">
<Compile Include="@DOTNET_PROJECT_DIR@/ortools/linear_solver/*.cs">
<Link>linear_solver/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@PROJECT_SOURCE_DIR@/ortools/linear_solver/csharp/*.cs">
<Link>linear_solver/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@DOTNET_PROJECT_DIR@/constraint_solver/*.cs">
<Compile Include="@DOTNET_PROJECT_DIR@/ortools/constraint_solver/*.cs">
<Link>constraint_solver/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@PROJECT_SOURCE_DIR@/ortools/constraint_solver/csharp/*.cs">
<Link>constraint_solver/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@DOTNET_PROJECT_DIR@/init/*.cs">
<Compile Include="@DOTNET_PROJECT_DIR@/ortools/init/*.cs">
<Link>init/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@DOTNET_PROJECT_DIR@/sat/*.cs">
<Compile Include="@DOTNET_PROJECT_DIR@/ortools/sat/*.cs">
<Link>sat/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@PROJECT_SOURCE_DIR@/ortools/sat/csharp/*.cs">
<Link>sat/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@DOTNET_PROJECT_DIR@/util/*.cs">
<Compile Include="@DOTNET_PROJECT_DIR@/ortools/util/*.cs">
<Link>util/%(Filename)%(Extension)</Link>
</Compile>
<Compile Include="@PROJECT_SOURCE_DIR@/ortools/util/csharp/*.cs">

View File

@@ -8,7 +8,7 @@ set_property(SOURCE graph.i PROPERTY COMPILE_OPTIONS
swig_add_library(dotnet_graph
TYPE OBJECT
LANGUAGE csharp
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/graph
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/ortools/graph
SOURCES graph.i)
#target_include_directories(dotnet_graph PRIVATE ${DOTNET_INCLUDE_DIRS})

View File

@@ -8,7 +8,7 @@ set_property(SOURCE init.i PROPERTY COMPILE_OPTIONS
swig_add_library(dotnet_init
TYPE OBJECT
LANGUAGE csharp
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/init
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/ortools/init
SOURCES init.i)
#target_include_directories(dotnet_init PRIVATE ${DOTNET_INCLUDE_DIRS})

View File

@@ -8,7 +8,7 @@ set_property(SOURCE linear_solver.i PROPERTY COMPILE_OPTIONS
swig_add_library(dotnet_linear_solver
TYPE OBJECT
LANGUAGE csharp
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/linear_solver
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/ortools/linear_solver
SOURCES linear_solver.i)
#target_include_directories(dotnet_linear_solver PRIVATE ${DOTNET_INCLUDE_DIRS})

View File

@@ -8,7 +8,7 @@ set_property(SOURCE sat.i PROPERTY COMPILE_OPTIONS
swig_add_library(dotnet_sat
TYPE OBJECT
LANGUAGE csharp
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/sat
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/ortools/sat
SOURCES sat.i)
#target_include_directories(dotnet_sat PRIVATE ${DOTNET_INCLUDE_DIRS})

View File

@@ -8,7 +8,7 @@ set_property(SOURCE sorted_interval_list.i PROPERTY COMPILE_OPTIONS
swig_add_library(dotnet_util
TYPE OBJECT
LANGUAGE csharp
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/util
OUTPUT_DIR ${DOTNET_PROJECT_DIR}/ortools/util
SOURCES sorted_interval_list.i)
#target_include_directories(dotnet_util PRIVATE ${DOTNET_INCLUDE_DIRS})