From 1e0dd27dea1a2467cca3596bc967c77acfb5cede Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Sat, 17 Sep 2022 23:18:44 +0200 Subject: [PATCH] Reuse common add_cxx_sample function for Sat Runner Add an optional parameter to leave out the example from testing. --- cmake/cpp.cmake | 8 +++++--- ortools/sat/CMakeLists.txt | 17 +---------------- 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/cmake/cpp.cmake b/cmake/cpp.cmake index c9ea3838523..7fa7dc8dd91 100644 --- a/cmake/cpp.cmake +++ b/cmake/cpp.cmake @@ -459,7 +459,8 @@ function(add_cxx_sample FILE_NAME) install(TARGETS ${SAMPLE_NAME}) - if(BUILD_TESTING) + set(SKIP_TEST (${ARGC} GREATER 1) AND ${ARG1}) + if(BUILD_TESTING AND NOT SKIP_TEST) add_test(NAME cxx_${COMPONENT_NAME}_${SAMPLE_NAME} COMMAND ${SAMPLE_NAME}) endif() message(STATUS "Configuring sample ${FILE_NAME}: ...DONE") @@ -496,8 +497,9 @@ function(add_cxx_example FILE_NAME) install(TARGETS ${EXAMPLE_NAME}) - if(BUILD_TESTING) - add_test(NAME cxx_${COMPONENT_NAME}_${EXAMPLE_NAME} COMMAND ${EXAMPLE_NAME}) + set(SKIP_TEST (${ARGC} GREATER 1) AND ${ARG1}) + if(BUILD_TESTING AND NOT SKIP_TEST) + add_test(NAME cxx_${COMPONENT_NAME}_${EXAMPLE_NAME} COMMAND ${EXAMPLE_NAME}) endif() message(STATUS "Configuring example ${FILE_NAME}: ...DONE") endfunction() diff --git a/ortools/sat/CMakeLists.txt b/ortools/sat/CMakeLists.txt index 19bd83f7388..8416f81e1a4 100644 --- a/ortools/sat/CMakeLists.txt +++ b/ortools/sat/CMakeLists.txt @@ -40,19 +40,4 @@ target_link_libraries(${NAME} PRIVATE #add_library(${PROJECT_NAME}::sat ALIAS ${NAME}) # Sat Runner -include(GNUInstallDirs) -if(APPLE) - set(CMAKE_INSTALL_RPATH - "@loader_path/../${CMAKE_INSTALL_LIBDIR};@loader_path") -elseif(UNIX) - set(CMAKE_INSTALL_RPATH - "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}:$ORIGIN/../lib64:$ORIGIN/../lib:$ORIGIN") -endif() - -add_executable(sat_runner) -target_sources(sat_runner PRIVATE "sat_runner.cc") -target_include_directories(sat_runner PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) -target_compile_features(sat_runner PRIVATE cxx_std_17) -target_link_libraries(sat_runner PRIVATE ${PROJECT_NAMESPACE}::ortools) - -install(TARGETS sat_runner) +add_cxx_sample("${CMAKE_CURRENT_LIST_DIR}/sat_runner.cc" TRUE)