Skip to content

Commit be0a1a5

Browse files
committed
cmake: fix sat/java/CMakeLists.txt
note: * need to introduce a new target `java_cp_model_proto` which depends on the custom cmd generating the java/cp_model_proto.swig * then use SWIG_MODULE_jnicp_model_proto_EXTRA_DEPS to force generation of it. ref: https://cmake.org/cmake/help/latest/module/UseSWIG.html#cmake-variables
1 parent 5776b1e commit be0a1a5

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

ortools/sat/java/CMakeLists.txt

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,29 @@ elseif(UNIX)
4242
endif()
4343

4444
add_custom_command(
45-
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cp_model_proto.swig"
45+
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/java_cp_model_proto_timestamp
4646
COMMAND gen_sat_java_swig > "${CMAKE_CURRENT_BINARY_DIR}/cp_model_proto.swig"
47+
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_CURRENT_BINARY_DIR}/java_cp_model_proto_timestamp
4748
DEPENDS gen_sat_java_swig
48-
COMMENT "Generate cp_model_proto.swig"
49+
BYPRODUCTS
50+
${CMAKE_CURRENT_BINARY_DIR}/cp_model_proto.swig
51+
COMMENT "Generate java/cp_model_proto.swig (java_cp_model_proto_timestamp)"
4952
VERBATIM)
5053

54+
add_custom_target(java_cp_model_proto
55+
DEPENDS
56+
${CMAKE_CURRENT_BINARY_DIR}/java_cp_model_proto_timestamp
57+
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
58+
5159
# cp_model_proto
5260
set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/cp_model_proto.swig" PROPERTY CPLUSPLUS ON)
5361
set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/cp_model_proto.swig" PROPERTY SWIG_MODULE_NAME cp_model_proto)
5462
set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/cp_model_proto.swig" PROPERTY COMPILE_DEFINITIONS
5563
${OR_TOOLS_COMPILE_DEFINITIONS} ABSL_MUST_USE_RESULT=)
5664
set_property(SOURCE "${CMAKE_CURRENT_BINARY_DIR}/cp_model_proto.swig" PROPERTY COMPILE_OPTIONS
5765
-package ${JAVA_PACKAGE}.sat)
66+
67+
set(SWIG_MODULE_jnicp_model_proto_EXTRA_DEPS java_cp_model_proto)
5868
swig_add_library(jnicp_model_proto
5969
TYPE OBJECT
6070
LANGUAGE java

0 commit comments

Comments
 (0)