From c3b7a68984b5edcdbdf94c87a2714905bd94cd6b Mon Sep 17 00:00:00 2001 From: Mizux Seiha Date: Mon, 24 Aug 2020 17:29:56 +0200 Subject: [PATCH] cmake: Add cpp samples --- ortools/algorithms/samples/CMakeLists.txt | 33 +++++++++++ .../constraint_solver/samples/CMakeLists.txt | 56 +++++++++++++++++++ ortools/graph/samples/CMakeLists.txt | 34 +++++++++++ ortools/linear_solver/samples/CMakeLists.txt | 26 +++++---- ortools/sat/samples/CMakeLists.txt | 55 ++++++++++++++++++ 5 files changed, 193 insertions(+), 11 deletions(-) diff --git a/ortools/algorithms/samples/CMakeLists.txt b/ortools/algorithms/samples/CMakeLists.txt index e69de29bb2..5d475083f6 100644 --- a/ortools/algorithms/samples/CMakeLists.txt +++ b/ortools/algorithms/samples/CMakeLists.txt @@ -0,0 +1,33 @@ +if(NOT BUILD_SAMPLES) + return() +endif() + +if(BUILD_CXX) + if(APPLE) + set(CMAKE_INSTALL_RPATH + "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") + elseif(UNIX) + set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN") + endif() + + include(GNUInstallDirs) + foreach(EXECUTABLE IN ITEMS knapsack simple_knapsack_program) + add_executable(${EXECUTABLE} ${EXECUTABLE}.cc) + target_include_directories(${EXECUTABLE} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + target_compile_features(${EXECUTABLE} PRIVATE cxx_std_17) + target_link_libraries(${EXECUTABLE} PRIVATE ortools::ortools) + install(TARGETS ${EXECUTABLE}) + endforeach() +endif() + +if(BUILD_PYTHON) + +endif() + +if(BUILD_JAVA) + +endif() + +if(BUILD_DOTNET) + +endif() diff --git a/ortools/constraint_solver/samples/CMakeLists.txt b/ortools/constraint_solver/samples/CMakeLists.txt index e69de29bb2..5e81983703 100644 --- a/ortools/constraint_solver/samples/CMakeLists.txt +++ b/ortools/constraint_solver/samples/CMakeLists.txt @@ -0,0 +1,56 @@ +if(NOT BUILD_SAMPLES) + return() +endif() + +if(BUILD_CXX) + if(APPLE) + set(CMAKE_INSTALL_RPATH + "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") + elseif(UNIX) + set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN") + endif() + + include(GNUInstallDirs) + foreach( + EXECUTABLE IN + ITEMS minimal_jobshop_cp + nurses_cp + rabbits_and_pheasants_cp + simple_cp_program + simple_ls_program + simple_routing_program + tsp + tsp_circuit_board + tsp_cities + tsp_distance_matrix + vrp_capacity + vrp + vrp_drop_nodes + vrp_global_span + vrp_initial_routes + vrp_pickup_delivery + vrp_pickup_delivery_fifo + vrp_pickup_delivery_lifo + vrp_resources + vrp_starts_ends + vrp_time_windows + vrp_with_time_limit) + add_executable(${EXECUTABLE} ${EXECUTABLE}.cc) + target_include_directories(${EXECUTABLE} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + target_compile_features(${EXECUTABLE} PRIVATE cxx_std_17) + target_link_libraries(${EXECUTABLE} PRIVATE ortools::ortools) + install(TARGETS ${EXECUTABLE}) + endforeach() +endif() + +if(BUILD_PYTHON) + +endif() + +if(BUILD_JAVA) + +endif() + +if(BUILD_DOTNET) + +endif() diff --git a/ortools/graph/samples/CMakeLists.txt b/ortools/graph/samples/CMakeLists.txt index e69de29bb2..b433f0c7b3 100644 --- a/ortools/graph/samples/CMakeLists.txt +++ b/ortools/graph/samples/CMakeLists.txt @@ -0,0 +1,34 @@ +if(NOT BUILD_SAMPLES) + return() +endif() + +if(BUILD_CXX) + if(APPLE) + set(CMAKE_INSTALL_RPATH + "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") + elseif(UNIX) + set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN") + endif() + + include(GNUInstallDirs) + foreach(EXECUTABLE IN ITEMS simple_max_flow_program + simple_min_cost_flow_program) + add_executable(${EXECUTABLE} ${EXECUTABLE}.cc) + target_include_directories(${EXECUTABLE} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + target_compile_features(${EXECUTABLE} PRIVATE cxx_std_17) + target_link_libraries(${EXECUTABLE} PRIVATE ortools::ortools) + install(TARGETS ${EXECUTABLE}) + endforeach() +endif() + +if(BUILD_PYTHON) + +endif() + +if(BUILD_JAVA) + +endif() + +if(BUILD_DOTNET) + +endif() diff --git a/ortools/linear_solver/samples/CMakeLists.txt b/ortools/linear_solver/samples/CMakeLists.txt index 2952b8b8e4..1a1553ec27 100644 --- a/ortools/linear_solver/samples/CMakeLists.txt +++ b/ortools/linear_solver/samples/CMakeLists.txt @@ -1,25 +1,26 @@ if(NOT BUILD_SAMPLES) - return() + return() endif() if(BUILD_CXX) if(APPLE) set(CMAKE_INSTALL_RPATH - "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") + "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") elseif(UNIX) set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN") endif() include(GNUInstallDirs) - foreach(EXECUTABLE IN ITEMS - assignment_mip - bin_packing_mip - integer_programming_example - linear_programming_example - mip_var_array - multiple_knapsack_mip - simple_lp_program - simple_mip_program) + foreach( + EXECUTABLE IN + ITEMS assignment_mip + bin_packing_mip + integer_programming_example + linear_programming_example + mip_var_array + multiple_knapsack_mip + simple_lp_program + simple_mip_program) add_executable(${EXECUTABLE} ${EXECUTABLE}.cc) target_include_directories(${EXECUTABLE} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_compile_features(${EXECUTABLE} PRIVATE cxx_std_17) @@ -29,10 +30,13 @@ if(BUILD_CXX) endif() if(BUILD_PYTHON) + endif() if(BUILD_JAVA) + endif() if(BUILD_DOTNET) + endif() diff --git a/ortools/sat/samples/CMakeLists.txt b/ortools/sat/samples/CMakeLists.txt index e69de29bb2..ad6c83b427 100644 --- a/ortools/sat/samples/CMakeLists.txt +++ b/ortools/sat/samples/CMakeLists.txt @@ -0,0 +1,55 @@ +if(NOT BUILD_SAMPLES) + return() +endif() + +if(BUILD_CXX) + if(APPLE) + set(CMAKE_INSTALL_RPATH + "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") + elseif(UNIX) + set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN") + endif() + + include(GNUInstallDirs) + foreach( + EXECUTABLE IN + ITEMS assignment_sat + binpacking_problem_sat + bool_or_sample_sat + channeling_sample_sat + cp_is_fun_sat + earliness_tardiness_cost_sample_sat + interval_sample_sat + literal_sample_sat + multiple_knapsack_sat + no_overlap_sample_sat + optional_interval_sample_sat + rabbits_and_pheasants_sat + ranking_sample_sat + reified_sample_sat + search_for_all_solutions_sample_sat + simple_sat_program + solution_hinting_sample_sat + solve_and_print_intermediate_solutions_sample_sat + solve_with_time_limit_sample_sat + step_function_sample_sat + stop_after_n_solutions_sample_sat) + add_executable(${EXECUTABLE} ${EXECUTABLE}.cc) + target_include_directories(${EXECUTABLE} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + target_compile_features(${EXECUTABLE} PRIVATE cxx_std_17) + target_link_libraries(${EXECUTABLE} PRIVATE ortools::ortools) + install(TARGETS ${EXECUTABLE}) + endforeach() +endif() + +if(BUILD_PYTHON) + +endif() + +if(BUILD_JAVA) + +endif() + +if(BUILD_DOTNET) + +endif()