diff --git a/CMakeLists.txt b/CMakeLists.txt index 2fdc7f7d28..38c2f77f1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -240,8 +240,11 @@ include(dotnet) # Since samples mix all languages we must parse them once we have included all # .cmake files -if(BUILD_SAMPLES) - foreach(SAMPLES IN ITEMS algorithms graph linear_solver constraint_solver sat) - add_subdirectory(ortools/${SAMPLES}/samples) - endforeach() -endif() +foreach(SAMPLES IN ITEMS algorithms graph linear_solver constraint_solver sat) + add_subdirectory(ortools/${SAMPLES}/samples) +endforeach() + +# Same for examples/contrib +foreach(EXAMPLES IN ITEMS contrib cpp python java dotnet) + add_subdirectory(examples/${EXAMPLES}) +endforeach() diff --git a/cmake/cpp.cmake b/cmake/cpp.cmake index a327369697..29ea2f0d81 100644 --- a/cmake/cpp.cmake +++ b/cmake/cpp.cmake @@ -304,14 +304,8 @@ foreach(SUBPROJECT IN ITEMS add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}::${SUBPROJECT}) endforeach() -# Examples -if(BUILD_EXAMPLES) - add_subdirectory(examples/cpp) -endif() - # Install rules include(GNUInstallDirs) - include(GenerateExportHeader) GENERATE_EXPORT_HEADER(${PROJECT_NAME}) install(FILES ${PROJECT_BINARY_DIR}/${PROJECT_NAME}_export.h diff --git a/cmake/dotnet.cmake b/cmake/dotnet.cmake index c2055dcb6e..b0b730a04e 100644 --- a/cmake/dotnet.cmake +++ b/cmake/dotnet.cmake @@ -199,7 +199,3 @@ add_custom_target(dotnet_package ALL dotnet/packages WORKING_DIRECTORY dotnet ) - -if(BUILD_EXAMPLES) - #add_subdirectory(examples/dotnet) -endif() diff --git a/cmake/java.cmake b/cmake/java.cmake index ea8d82e1e7..365e468cf6 100644 --- a/cmake/java.cmake +++ b/cmake/java.cmake @@ -213,7 +213,3 @@ if(BUILD_TESTING) COMMAND ${MAVEN_EXECUTABLE} exec:java -Dexec.mainClass=com.google.ortools.Test WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/java/${JAVA_TEST_PROJECT}) endif() - -if(BUILD_EXAMPLES) - #add_subdirectory(examples/java) -endif() diff --git a/cmake/python.cmake b/cmake/python.cmake index 6c75646b06..74d42c4b7c 100644 --- a/cmake/python.cmake +++ b/cmake/python.cmake @@ -184,8 +184,3 @@ if(BUILD_TESTING) add_test(NAME pytest_venv COMMAND ${VENV_Python_EXECUTABLE} ${VENV_DIR}/test.py) endif() - -if(BUILD_EXAMPLES) - #add_subdirectory(examples/python) - #add_subdirectory(examples/notebook) -endif() diff --git a/examples/contrib/CMakeLists.txt b/examples/contrib/CMakeLists.txt index be47cb4a80..236e080643 100644 --- a/examples/contrib/CMakeLists.txt +++ b/examples/contrib/CMakeLists.txt @@ -1,4 +1,4 @@ -if (NOT BUILD_EXAMPLES) +if(NOT BUILD_EXAMPLES) return() endif() @@ -6,23 +6,18 @@ if(BUILD_CXX_EXAMPLES) endif() -if(BUILD_PYTHON) +if(BUILD_PYTHON_EXAMPLES) foreach(TEST IN ITEMS - hidato_table - integer_programming - knapsack - linear_programming - pyflow_example - tsp - vrp - vrpgs - cvrp - cvrptw) + assignment + costas_array + hidato + knapsack_cp + knapsack_mip + ) add_test(py${TEST}_venv ${VENV_BIN_DIR}/python ${CMAKE_CURRENT_SOURCE_DIR}/${TEST}.py) set_tests_properties(py${TEST}_venv PROPERTIES DEPENDS build_venv) endforeach() - include(GNUInstallDirs) install(DIRECTORY . DESTINATION ${CMAKE_INSTALL_DATADIR}/ortools/examples/python FILES_MATCHING PATTERN "*.py") diff --git a/examples/data/CMakeLists.txt b/examples/data/CMakeLists.txt index 866fc348d4..57c735ed7e 100644 --- a/examples/data/CMakeLists.txt +++ b/examples/data/CMakeLists.txt @@ -1,4 +1,4 @@ -if (NOT BUILD_PYTHON) +if(NOT BUILD_PYTHON_EXAMPLES) return() endif() diff --git a/examples/notebook/CMakeLists.txt b/examples/notebook/CMakeLists.txt index 6ccc1514fc..c2068297f5 100644 --- a/examples/notebook/CMakeLists.txt +++ b/examples/notebook/CMakeLists.txt @@ -1,4 +1,4 @@ -if (NOT BUILD_PYTHON) +if(NOT BUILD_PYTHON_EXAMPLES) return() endif()