From 86ac68e67e24e8b5120173571a76d0aead232fa5 Mon Sep 17 00:00:00 2001 From: Erik Strand <erik.strand@cba.mit.edu> Date: Thu, 16 Apr 2020 23:13:56 -0400 Subject: [PATCH] Remove VISUALIZE def --- CMakeLists.txt | 11 +--------- cmake/make_plot_target.cmake | 40 +++++++++++++++++------------------ optimization/CMakeLists.txt | 7 +----- optimization/utils/vis_only.h | 24 --------------------- 4 files changed, 21 insertions(+), 61 deletions(-) delete mode 100644 optimization/utils/vis_only.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f51bdc..9f9fe5a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,13 +7,6 @@ endif() message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") message(STATUS "C++ compiler: ${CMAKE_CXX_COMPILER}") -option(VISUALIZE "compiles extra code to allow visualization of optimization algorithms" ON) -if (VISUALIZE) - message(STATUS "Visualization tools enabled") -else() - message(STATUS "Visualization tools disabled") -endif() - find_package (Eigen3 3.3 REQUIRED NO_MODULE) include(cmake/shared_settings.cmake) include(cmake/make_plot_target.cmake) @@ -23,6 +16,4 @@ add_subdirectory(optimization) add_subdirectory(test) add_subdirectory(apps) -if (VISUALIZE) - make_meta_plot_target() -endif() +make_meta_plot_target() diff --git a/cmake/make_plot_target.cmake b/cmake/make_plot_target.cmake index c5fc5a2..6659173 100644 --- a/cmake/make_plot_target.cmake +++ b/cmake/make_plot_target.cmake @@ -3,30 +3,28 @@ # TODO Enable arguments to be passed to the C++ executable function(make_plot_target TARGET ID) cmake_parse_arguments(PLOT "" "" "ARGS" ${ARGN}) - if (VISUALIZE) - add_custom_command( - OUTPUT ${TARGET}_log_${ID}.json ${TARGET}_vis_${ID}.json - COMMAND ${TARGET} ${TARGET}_log_${ID}.json ${TARGET}_vis_${ID}.json ${PLOT_ARGS} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${TARGET} - ) + add_custom_command( + OUTPUT ${TARGET}_log_${ID}.json ${TARGET}_vis_${ID}.json + COMMAND ${TARGET} ${TARGET}_log_${ID}.json ${TARGET}_vis_${ID}.json ${PLOT_ARGS} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${TARGET} + ) - add_custom_command( - OUTPUT ${TARGET}_plot_${ID}.pdf - COMMAND python3 ${CMAKE_SOURCE_DIR}/apps/plots.py ${TARGET}_vis_${ID}.json ${TARGET}_plot_${ID}.pdf - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${CMAKE_SOURCE_DIR}/apps/plots.py ${TARGET}_vis_${ID}.json - ) + add_custom_command( + OUTPUT ${TARGET}_plot_${ID}.pdf + COMMAND python3 ${CMAKE_SOURCE_DIR}/apps/plots.py ${TARGET}_vis_${ID}.json ${TARGET}_plot_${ID}.pdf + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${CMAKE_SOURCE_DIR}/apps/plots.py ${TARGET}_vis_${ID}.json + ) - add_custom_target(${TARGET}_plot_${ID} - DEPENDS ${TARGET}_plot_${ID}.pdf - ) + add_custom_target(${TARGET}_plot_${ID} + DEPENDS ${TARGET}_plot_${ID}.pdf + ) - #message(STATUS "another one") - #list(APPEND PLOT_TARGETS ${TARGET}_plot_${ID}) - #set(PLOT_TARGETS ${PLOT_TARGETS} PARENT_SCOPE) - #message(STATUS ${PLOT_TARGETS}) - endif() + #message(STATUS "another one") + #list(APPEND PLOT_TARGETS ${TARGET}_plot_${ID}) + #set(PLOT_TARGETS ${PLOT_TARGETS} PARENT_SCOPE) + #message(STATUS ${PLOT_TARGETS}) endfunction() function(make_meta_plot_target) diff --git a/optimization/CMakeLists.txt b/optimization/CMakeLists.txt index a35d766..7882754 100644 --- a/optimization/CMakeLists.txt +++ b/optimization/CMakeLists.txt @@ -1,10 +1,5 @@ add_library(optimization_lib INTERFACE) target_include_directories(optimization_lib INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) -target_link_libraries(optimization_lib INTERFACE shared_settings Eigen3::Eigen) - -if (VISUALIZE) - target_compile_definitions(optimization_lib INTERFACE VISUALIZE) -endif() -target_link_libraries(optimization_lib INTERFACE cma-es json) +target_link_libraries(optimization_lib INTERFACE shared_settings Eigen3::Eigen cma-es json) add_subdirectory(optimizers) diff --git a/optimization/utils/vis_only.h b/optimization/utils/vis_only.h deleted file mode 100644 index 16505ac..0000000 --- a/optimization/utils/vis_only.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef OPTIMIZATION_UTILS_VIS_ONLY_H -#define OPTIMIZATION_UTILS_VIS_ONLY_H - -//-------------------------------------------------------------------------------------------------- -// Only calls the specified statement if we're compiling with visualization code. -#ifdef VISUALIZE -#define VIS_ONLY(X) X -#else -// The "do while" ensures this looks like a function call (i.e. should have a semicolon). The -// "if(0)" ensures that the call is parsed even if it will be optimized away. This helps prevent -// code rot when vis methods are ignored for long periods of time. -#define VIS_ONLY(X) do { if (0) { X } } while(0) -#endif - -//-------------------------------------------------------------------------------------------------- -// Makes a method no-op if we're not compiling with visualization code. Used like "void vis_method() -// VIS_ONLY_METHOD;". When we are compiling with vis code, a definition should follow out of line. -#ifdef VISUALIZE -#define VIS_ONLY_METHOD -#else -#define VIS_ONLY_METHOD {} -#endif - -#endif -- GitLab