cmake: WORKING_DIRECTORY Fixup
This commit is contained in:
@@ -27,6 +27,28 @@ else()
|
||||
message(STATUS "Found dotnet Program: ${DOTNET_EXECUTABLE}")
|
||||
endif()
|
||||
|
||||
# Needed by dotnet/CMakeLists.txt
|
||||
set(DOTNET_PACKAGE Google.OrTools)
|
||||
set(DOTNET_PACKAGES_DIR "${PROJECT_BINARY_DIR}/dotnet/packages")
|
||||
if(APPLE)
|
||||
set(RUNTIME_IDENTIFIER osx-x64)
|
||||
elseif(UNIX)
|
||||
set(RUNTIME_IDENTIFIER linux-x64)
|
||||
elseif(WIN32)
|
||||
set(RUNTIME_IDENTIFIER win-x64)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported system !")
|
||||
endif()
|
||||
set(DOTNET_NATIVE_PROJECT ${DOTNET_PACKAGE}.runtime.${RUNTIME_IDENTIFIER})
|
||||
message(STATUS ".Net runtime project: ${DOTNET_NATIVE_PROJECT}")
|
||||
set(DOTNET_NATIVE_PROJECT_DIR ${PROJECT_BINARY_DIR}/dotnet/${DOTNET_NATIVE_PROJECT})
|
||||
message(STATUS ".Net runtime project build path: ${DOTNET_NATIVE_PROJECT_DIR}")
|
||||
|
||||
set(DOTNET_PROJECT ${DOTNET_PACKAGE})
|
||||
message(STATUS ".Net project: ${DOTNET_PROJECT}")
|
||||
set(DOTNET_PROJECT_DIR ${PROJECT_BINARY_DIR}/dotnet/${DOTNET_PROJECT})
|
||||
message(STATUS ".Net project build path: ${DOTNET_PROJECT_DIR}")
|
||||
|
||||
# Create the native library
|
||||
add_library(google-ortools-native SHARED "")
|
||||
set_target_properties(google-ortools-native PROPERTIES
|
||||
@@ -60,28 +82,6 @@ if(USE_SCIP)
|
||||
endif()
|
||||
list(APPEND CMAKE_SWIG_FLAGS ${FLAGS} "-I${PROJECT_SOURCE_DIR}")
|
||||
|
||||
# Needed by dotnet/CMakeLists.txt
|
||||
set(DOTNET_PACKAGE Google.OrTools)
|
||||
set(DOTNET_PACKAGES_DIR "${PROJECT_BINARY_DIR}/dotnet/packages")
|
||||
if(APPLE)
|
||||
set(RUNTIME_IDENTIFIER osx-x64)
|
||||
elseif(UNIX)
|
||||
set(RUNTIME_IDENTIFIER linux-x64)
|
||||
elseif(WIN32)
|
||||
set(RUNTIME_IDENTIFIER win-x64)
|
||||
else()
|
||||
message(FATAL_ERROR "Unsupported system !")
|
||||
endif()
|
||||
set(DOTNET_NATIVE_PROJECT ${DOTNET_PACKAGE}.runtime.${RUNTIME_IDENTIFIER})
|
||||
message(STATUS ".Net runtime project: ${DOTNET_NATIVE_PROJECT}")
|
||||
set(DOTNET_NATIVE_PROJECT_DIR ${PROJECT_BINARY_DIR}/dotnet/${DOTNET_NATIVE_PROJECT})
|
||||
message(STATUS ".Net runtime project build path: ${DOTNET_NATIVE_PROJECT_DIR}")
|
||||
|
||||
set(DOTNET_PROJECT ${DOTNET_PACKAGE})
|
||||
message(STATUS ".Net project: ${DOTNET_PROJECT}")
|
||||
set(DOTNET_PROJECT_DIR ${PROJECT_BINARY_DIR}/dotnet/${DOTNET_PROJECT})
|
||||
message(STATUS ".Net project build path: ${DOTNET_PROJECT_DIR}")
|
||||
|
||||
# Swig wrap all libraries
|
||||
foreach(SUBPROJECT IN ITEMS algorithms graph init linear_solver constraint_solver sat util)
|
||||
add_subdirectory(ortools/${SUBPROJECT}/csharp)
|
||||
@@ -173,10 +173,10 @@ file(GENERATE
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_NATIVE_PROJECT_DIR}/${DOTNET_NATIVE_PROJECT}.csproj
|
||||
DEPENDS ${DOTNET_NATIVE_PROJECT_DIR}/$<CONFIG>/${DOTNET_NATIVE_PROJECT}.csproj.in
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ./$<CONFIG>/${DOTNET_NATIVE_PROJECT}.csproj.in ${DOTNET_NATIVE_PROJECT}.csproj
|
||||
WORKING_DIRECTORY ${DOTNET_NATIVE_PROJECT_DIR}
|
||||
)
|
||||
DEPENDS
|
||||
${DOTNET_NATIVE_PROJECT_DIR}/$<CONFIG>/${DOTNET_NATIVE_PROJECT}.csproj.in
|
||||
WORKING_DIRECTORY ${DOTNET_NATIVE_PROJECT_DIR})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_NATIVE_PROJECT_DIR}/timestamp
|
||||
@@ -192,13 +192,12 @@ add_custom_command(
|
||||
${DOTNET_NATIVE_PROJECT_DIR}/bin
|
||||
${DOTNET_NATIVE_PROJECT_DIR}/obj
|
||||
COMMENT "Generate .Net native package ${DOTNET_NATIVE_PROJECT} (${DOTNET_NATIVE_PROJECT_DIR}/timestamp)"
|
||||
WORKING_DIRECTORY ${DOTNET_NATIVE_PROJECT_DIR}
|
||||
)
|
||||
WORKING_DIRECTORY ${DOTNET_NATIVE_PROJECT_DIR})
|
||||
|
||||
add_custom_target(dotnet_native_package
|
||||
DEPENDS
|
||||
${DOTNET_NATIVE_PROJECT_DIR}/timestamp
|
||||
WORKING_DIRECTORY dotnet)
|
||||
WORKING_DIRECTORY ${DOTNET_NATIVE_PROJECT_DIR})
|
||||
|
||||
####################
|
||||
## .Net Package ##
|
||||
@@ -210,10 +209,10 @@ configure_file(
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_PROJECT_DIR}/${DOTNET_PROJECT}.csproj
|
||||
DEPENDS ${DOTNET_PROJECT_DIR}/${DOTNET_PROJECT}.csproj.in
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${DOTNET_PROJECT}.csproj.in ${DOTNET_PROJECT}.csproj
|
||||
WORKING_DIRECTORY ${DOTNET_PROJECT_DIR}
|
||||
)
|
||||
DEPENDS
|
||||
${DOTNET_PROJECT_DIR}/${DOTNET_PROJECT}.csproj.in
|
||||
WORKING_DIRECTORY ${DOTNET_PROJECT_DIR})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_PROJECT_DIR}/timestamp
|
||||
@@ -228,13 +227,12 @@ add_custom_command(
|
||||
${DOTNET_PROJECT_DIR}/bin
|
||||
${DOTNET_PROJECT_DIR}/obj
|
||||
COMMENT "Generate .Net package ${DOTNET_PROJECT} (${DOTNET_PROJECT_DIR}/timestamp)"
|
||||
WORKING_DIRECTORY ${DOTNET_PROJECT_DIR}
|
||||
)
|
||||
WORKING_DIRECTORY ${DOTNET_PROJECT_DIR})
|
||||
|
||||
add_custom_target(dotnet_package ALL
|
||||
DEPENDS
|
||||
${DOTNET_PROJECT_DIR}/timestamp
|
||||
WORKING_DIRECTORY dotnet)
|
||||
WORKING_DIRECTORY ${DOTNET_PROJECT_DIR})
|
||||
|
||||
#################
|
||||
## .Net Test ##
|
||||
@@ -253,20 +251,22 @@ function(add_dotnet_test FILE_NAME)
|
||||
|
||||
set(DOTNET_TEST_DIR ${PROJECT_BINARY_DIR}/dotnet/${COMPONENT_NAME}/${TEST_NAME})
|
||||
message(STATUS "build path: ${DOTNET_TEST_DIR}")
|
||||
file(MAKE_DIRECTORY ${DOTNET_TEST_DIR})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_TEST_DIR}/${TEST_NAME}.cs
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${FILE_NAME} ${DOTNET_TEST_DIR}/
|
||||
MAIN_DEPENDENCY ${FILE_NAME}
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
configure_file(
|
||||
${PROJECT_SOURCE_DIR}/ortools/dotnet/Test.csproj.in
|
||||
${DOTNET_TEST_DIR}/${TEST_NAME}.csproj
|
||||
@ONLY)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_TEST_DIR}/${TEST_NAME}.cs
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOTNET_TEST_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${FILE_NAME}
|
||||
${DOTNET_TEST_DIR}/
|
||||
MAIN_DEPENDENCY ${FILE_NAME}
|
||||
VERBATIM
|
||||
WORKING_DIRECTORY ${DOTNET_TEST_DIR})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_TEST_DIR}/timestamp
|
||||
COMMAND ${DOTNET_EXECUTABLE} build -c Release
|
||||
@@ -284,7 +284,7 @@ function(add_dotnet_test FILE_NAME)
|
||||
add_custom_target(dotnet_${COMPONENT_NAME}_${TEST_NAME} ALL
|
||||
DEPENDS
|
||||
${DOTNET_TEST_DIR}/timestamp
|
||||
WORKING_DIRECTORY dotnet)
|
||||
WORKING_DIRECTORY ${DOTNET_TEST_DIR})
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_test(
|
||||
@@ -313,20 +313,22 @@ function(add_dotnet_sample FILE_NAME)
|
||||
|
||||
set(DOTNET_SAMPLE_DIR ${PROJECT_BINARY_DIR}/dotnet/${COMPONENT_NAME}/${SAMPLE_NAME})
|
||||
message(STATUS "build path: ${DOTNET_SAMPLE_DIR}")
|
||||
file(MAKE_DIRECTORY ${DOTNET_SAMPLE_DIR})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_SAMPLE_DIR}/${SAMPLE_NAME}.cs
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${FILE_NAME} ${DOTNET_SAMPLE_DIR}/
|
||||
MAIN_DEPENDENCY ${FILE_NAME}
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
configure_file(
|
||||
${PROJECT_SOURCE_DIR}/ortools/dotnet/Sample.csproj.in
|
||||
${DOTNET_SAMPLE_DIR}/${SAMPLE_NAME}.csproj
|
||||
@ONLY)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_SAMPLE_DIR}/${SAMPLE_NAME}.cs
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOTNET_SAMPLE_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${FILE_NAME}
|
||||
${DOTNET_SAMPLE_DIR}/
|
||||
MAIN_DEPENDENCY ${FILE_NAME}
|
||||
VERBATIM
|
||||
WORKING_DIRECTORY ${DOTNET_SAMPLE_DIR})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_SAMPLE_DIR}/timestamp
|
||||
COMMAND ${DOTNET_EXECUTABLE} build -c Release
|
||||
@@ -345,7 +347,7 @@ function(add_dotnet_sample FILE_NAME)
|
||||
add_custom_target(dotnet_${COMPONENT_NAME}_${SAMPLE_NAME} ALL
|
||||
DEPENDS
|
||||
${DOTNET_SAMPLE_DIR}/timestamp
|
||||
WORKING_DIRECTORY dotnet)
|
||||
WORKING_DIRECTORY ${DOTNET_SAMPLE_DIR})
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_test(
|
||||
@@ -373,14 +375,6 @@ function(add_dotnet_example FILE_NAME)
|
||||
|
||||
set(DOTNET_EXAMPLE_DIR ${PROJECT_BINARY_DIR}/dotnet/${COMPONENT_NAME}/${EXAMPLE_NAME})
|
||||
message(STATUS "build path: ${DOTNET_EXAMPLE_DIR}")
|
||||
file(MAKE_DIRECTORY ${DOTNET_EXAMPLE_DIR})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_EXAMPLE_DIR}/${EXAMPLE_NAME}.cs
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${FILE_NAME} ${DOTNET_EXAMPLE_DIR}/
|
||||
MAIN_DEPENDENCY ${FILE_NAME}
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
set(SAMPLE_NAME ${EXAMPLE_NAME})
|
||||
configure_file(
|
||||
@@ -388,6 +382,16 @@ function(add_dotnet_example FILE_NAME)
|
||||
${DOTNET_EXAMPLE_DIR}/${EXAMPLE_NAME}.csproj
|
||||
@ONLY)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_EXAMPLE_DIR}/${EXAMPLE_NAME}.cs
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOTNET_EXAMPLE_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy
|
||||
${FILE_NAME}
|
||||
${DOTNET_EXAMPLE_DIR}/
|
||||
MAIN_DEPENDENCY ${FILE_NAME}
|
||||
VERBATIM
|
||||
WORKING_DIRECTORY ${DOTNET_EXAMPLE_DIR})
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${DOTNET_EXAMPLE_DIR}/timestamp
|
||||
COMMAND ${DOTNET_EXECUTABLE} build -c Release
|
||||
@@ -406,7 +410,7 @@ function(add_dotnet_example FILE_NAME)
|
||||
add_custom_target(dotnet_${COMPONENT_NAME}_${EXAMPLE_NAME} ALL
|
||||
DEPENDS
|
||||
${DOTNET_EXAMPLE_DIR}/timestamp
|
||||
WORKING_DIRECTORY dotnet)
|
||||
WORKING_DIRECTORY ${DOTNET_EXAMPLE_DIR})
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_test(
|
||||
|
||||
@@ -174,7 +174,7 @@ add_custom_command(
|
||||
add_custom_target(java_native_package
|
||||
DEPENDS
|
||||
${JAVA_NATIVE_PROJECT_DIR}/timestamp
|
||||
WORKING_DIRECTORY java)
|
||||
WORKING_DIRECTORY ${JAVA_NATIVE_PROJECT_DIR})
|
||||
|
||||
##########################
|
||||
## Java Maven Package ##
|
||||
@@ -219,9 +219,9 @@ add_custom_command(
|
||||
COMMAND ${MAVEN_EXECUTABLE} install -B $<$<BOOL:${SKIP_GPG}>:-Dgpg.skip=true>
|
||||
COMMAND ${CMAKE_COMMAND} -E touch ${JAVA_PROJECT_DIR}/timestamp
|
||||
DEPENDS
|
||||
${JAVA_PROJECT_DIR}/pom.xml
|
||||
${JAVA_SRCS}
|
||||
Java${PROJECT_NAME}_proto
|
||||
${JAVA_PROJECT_DIR}/pom.xml
|
||||
${JAVA_SRCS}
|
||||
Java${PROJECT_NAME}_proto
|
||||
java_native_package
|
||||
BYPRODUCTS
|
||||
${JAVA_PROJECT_DIR}/target
|
||||
@@ -231,7 +231,7 @@ add_custom_command(
|
||||
add_custom_target(java_package ALL
|
||||
DEPENDS
|
||||
${JAVA_PROJECT_DIR}/timestamp
|
||||
WORKING_DIRECTORY java)
|
||||
WORKING_DIRECTORY ${JAVA_PROJECT_DIR})
|
||||
|
||||
#################
|
||||
## Java Test ##
|
||||
@@ -284,7 +284,7 @@ function(add_java_test FILE_NAME)
|
||||
add_custom_target(java_${COMPONENT_NAME}_${TEST_NAME} ALL
|
||||
DEPENDS
|
||||
${JAVA_TEST_DIR}/timestamp
|
||||
WORKING_DIRECTORY java)
|
||||
WORKING_DIRECTORY ${JAVA_TEST_DIR})
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_test(
|
||||
@@ -350,7 +350,7 @@ function(add_java_sample FILE_NAME)
|
||||
add_custom_target(java_${COMPONENT_NAME}_${SAMPLE_NAME} ALL
|
||||
DEPENDS
|
||||
${SAMPLE_DIR}/timestamp
|
||||
WORKING_DIRECTORY java)
|
||||
WORKING_DIRECTORY ${SAMPLE_DIR})
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_test(
|
||||
@@ -414,7 +414,7 @@ function(add_java_example FILE_NAME)
|
||||
add_custom_target(java_${COMPONENT_NAME}_${EXAMPLE_NAME} ALL
|
||||
DEPENDS
|
||||
${JAVA_EXAMPLE_DIR}/timestamp
|
||||
WORKING_DIRECTORY java)
|
||||
WORKING_DIRECTORY ${JAVA_EXAMPLE_DIR})
|
||||
|
||||
if(BUILD_TESTING)
|
||||
add_test(
|
||||
|
||||
Reference in New Issue
Block a user