cmake: Add cpp samples

This commit is contained in:
Mizux Seiha
2020-08-24 17:29:56 +02:00
parent f9549b53d9
commit c3b7a68984
5 changed files with 193 additions and 11 deletions

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()