diff --git a/CMakeLists.txt b/CMakeLists.txt index 7198c5dfb..7f0b09e3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -105,7 +105,7 @@ endif() if(MSVC) set(Boost_USE_STATIC_LIBS 1) endif() -find_package(Boost 1.40 COMPONENTS serialization system chrono REQUIRED) +find_package(Boost 1.40 COMPONENTS serialization system chrono filesystem REQUIRED) # General build settings include_directories( diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 00a93904a..f92312296 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -1,4 +1,6 @@ -add_custom_target(examples) +if(NOT MSVC) + add_custom_target(examples) +endif() # Build example executables FILE(GLOB example_srcs "*.cpp") @@ -6,7 +8,9 @@ foreach(example_src ${example_srcs} ) get_filename_component(example_base ${example_src} NAME_WE) set( example_bin ${example_base} ) message(STATUS "Adding Example ${example_bin}") - add_dependencies(examples ${example_bin}) + if(NOT MSVC) + add_dependencies(examples ${example_bin}) + endif() add_executable(${example_bin} ${example_src}) # Disable building during make all/install @@ -18,6 +22,12 @@ foreach(example_src ${example_srcs} ) if(NOT MSVC) add_custom_target(${example_bin}.run ${EXECUTABLE_OUTPUT_PATH}${example_bin} ${ARGN}) endif() + + # Set up Visual Studio folder + if(MSVC) + set_property(TARGET ${example_bin} PROPERTY FOLDER "Examples") + endif() + endforeach(example_src) add_subdirectory(vSLAMexample) diff --git a/examples/vSLAMexample/CMakeLists.txt b/examples/vSLAMexample/CMakeLists.txt index 57fd6bf6d..e231a03e6 100644 --- a/examples/vSLAMexample/CMakeLists.txt +++ b/examples/vSLAMexample/CMakeLists.txt @@ -3,12 +3,20 @@ message(STATUS "Adding Example vISAMexample") add_executable(vISAMexample vISAMexample.cpp vSLAMutils.cpp) target_link_libraries(vISAMexample gtsam-static) -add_dependencies(examples vISAMexample) +if(NOT MSVC) + add_dependencies(examples vISAMexample) +else() + set_property(TARGET vISAMexample PROPERTY FOLDER "Examples") +endif() message(STATUS "Adding Example vSFMexample") add_executable(vSFMexample vSFMexample.cpp vSLAMutils.cpp) target_link_libraries(vSFMexample gtsam-static) -add_dependencies(examples vSFMexample) +if(NOT MSVC) + add_dependencies(examples vSFMexample) +else() + set_property(TARGET vSFMexample PROPERTY FOLDER "Examples") +endif()