Skip to content

Commit

Permalink
Merge pull request #1410 from alicevision/dev/CmdLineModule
Browse files Browse the repository at this point in the history
Move cmdline from system to dedicated module
  • Loading branch information
fabiencastan authored Apr 17, 2023
2 parents f53faf2 + 21429e2 commit fd93e88
Show file tree
Hide file tree
Showing 96 changed files with 201 additions and 102 deletions.
1 change: 1 addition & 0 deletions src/aliceVision/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
add_subdirectory(image)
add_subdirectory(numeric)
add_subdirectory(system)
add_subdirectory(cmdline)
add_subdirectory(stl)
add_subdirectory(utils)
add_subdirectory(panorama)
Expand Down
12 changes: 12 additions & 0 deletions src/aliceVision/cmdline/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Sources
set(cmdline_files_sources
cmdline.cpp
)

alicevision_add_library(aliceVision_cmdline
SOURCES ${cmdline_files_sources}
PUBLIC_LINKS
Boost::program_options
PRIVATE_LINKS
aliceVision_system
)
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#include "cmdline.hpp"

#include "cpu.hpp"
#include "MemoryInfo.hpp"
#include <aliceVision/system/cpu.hpp>
#include <aliceVision/system/MemoryInfo.hpp>
#include <aliceVision/alicevision_omp.hpp>

namespace aliceVision {
Expand All @@ -17,7 +17,13 @@ bool CmdLine::execute(int argc, char** argv)
_allParams.add(logParams);

boost::program_options::options_description hardwareParams("Hardware parameters");
_hContext.setupFromCommandLine(hardwareParams);

size_t uma = _hContext.getUserMaxMemoryAvailable();
unsigned int uca = _hContext.getUserMaxCoresAvailable();

hardwareParams.add_options()
("maxMemoryAvailable", boost::program_options::value<size_t>(&uma)->default_value(uma), "User specified available RAM")
("maxCoresAvailable", boost::program_options::value<unsigned int>(&uca)->default_value(uca), "User specified available number of cores");

_allParams.add(hardwareParams);

Expand Down Expand Up @@ -52,6 +58,8 @@ bool CmdLine::execute(int argc, char** argv)
// set verbose level
system::Logger::get()->setLogLevel(verboseLevel);

_hContext.setUserMaxMemoryAvailable(uma);
_hContext.setUserMaxCoresAvailable(uca);
_hContext.displayHardware();

return true;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

#pragma once

#include "Logger.hpp"
#include "Timer.hpp"
#include "hardwareContext.hpp"
#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/Timer.hpp>
#include <aliceVision/system/hardwareContext.hpp>

#include <boost/program_options/variables_map.hpp>
#include <boost/program_options/option.hpp>
Expand Down
2 changes: 0 additions & 2 deletions src/aliceVision/system/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ set(system_files_sources
Logger.cpp
ProgressDisplay.cpp
nvtx.cpp
cmdline.cpp
hardwareContext.cpp
)

Expand All @@ -31,7 +30,6 @@ alicevision_add_library(aliceVision_system
Boost::thread
Boost::system
Boost::date_time
Boost::program_options
${ALICEVISION_NVTX_LIBRARY}
PRIVATE_LINKS
Boost::boost
Expand Down
6 changes: 0 additions & 6 deletions src/aliceVision/system/hardwareContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,6 @@

namespace aliceVision {

void HardwareContext::setupFromCommandLine(boost::program_options::options_description & options)
{
options.add_options()
("maxMemoryAvailable", boost::program_options::value<size_t>(&_maxUserMemoryAvailable)->default_value(_maxUserMemoryAvailable), "User specified available RAM")
("maxCoresAvailable", boost::program_options::value<unsigned int>(&_maxUserCoresAvailable)->default_value(_maxUserCoresAvailable), "User specified available number of cores");
}

void HardwareContext::displayHardware()
{
Expand Down
13 changes: 10 additions & 3 deletions src/aliceVision/system/hardwareContext.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
#include "Logger.hpp"
#include "Timer.hpp"

#include <boost/program_options/options_description.hpp>

namespace aliceVision {

Expand All @@ -23,18 +22,26 @@ class HardwareContext
return _maxUserMemoryAvailable;
}

void setUserMaxMemoryAvailable(size_t val)
{
_maxUserCoresAvailable = val;
}

unsigned int getUserMaxCoresAvailable() const
{
return _maxUserCoresAvailable;
}

void setUserMaxCoresAvailable(unsigned int val)
{
_maxUserCoresAvailable = val;
}

void setUserCoresLimit(unsigned int coresLimit)
{
_limitUserCores = coresLimit;
}

void setupFromCommandLine(boost::program_options::options_description & options);

unsigned int getMaxThreads() const;

private:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#include <aliceVision/matching/RegionsMatcher.hpp>

#include <aliceVision/system/main.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>

#include <dependencies/vectorGraphics/svgDrawer.hpp>

Expand Down
1 change: 1 addition & 0 deletions src/samples/imageCaching/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ alicevision_add_software(aliceVision_samples_imageCaching
FOLDER ${FOLDER_SAMPLES}
LINKS aliceVision_system
aliceVision_image
aliceVision_cmdline
Boost::program_options
)
2 changes: 1 addition & 1 deletion src/samples/imageCaching/main_imageCaching.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include <aliceVision/image/ImageCache.hpp>

#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <aliceVision/system/main.hpp>

#include <boost/program_options.hpp>
Expand Down
2 changes: 1 addition & 1 deletion src/samples/kvldFilter/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ add_definitions(-DTHIS_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}")
alicevision_add_software(aliceVision_samples_kvldFilter
SOURCE main_kvldFilter.cpp
FOLDER ${FOLDER_SAMPLES}
LINKS aliceVision_system
LINKS aliceVision_cmdline
aliceVision_image
aliceVision_multiview
aliceVision_kvld
Expand Down
2 changes: 1 addition & 1 deletion src/samples/multiBandBlending/main_multibandtest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include <aliceVision/image/io.hpp>
#include <aliceVision//mvsData/Color.hpp>
#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>

#include <boost/program_options.hpp>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#include <aliceVision/matchingImageCollection/GeometricFilterMatrix_HGrowing.hpp>
#include <aliceVision/matching/svgVisualization.hpp>

#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <boost/program_options.hpp>
#include <dependencies/vectorGraphics/svgDrawer.hpp>

Expand Down
2 changes: 1 addition & 1 deletion src/samples/texturing/main_evcorrection.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

#include <aliceVision/sfmData/SfMData.hpp>
#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <aliceVision/image/io.hpp>
#include <aliceVision/image/pixelTypes.hpp>

Expand Down
5 changes: 5 additions & 0 deletions src/software/convert/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ alicevision_add_software(aliceVision_convertSfMFormat
SOURCE main_convertSfMFormat.cpp
FOLDER ${FOLDER_SOFTWARE_CONVERT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_feature
aliceVision_sfmData
aliceVision_sfmDataIO
Expand All @@ -24,6 +25,7 @@ alicevision_add_software(aliceVision_convertFloatDescriptorToUchar
FOLDER ${FOLDER_SOFTWARE_CONVERT}
LINKS aliceVision_localization
aliceVision_feature
aliceVision_cmdline
Boost::program_options
Boost::filesystem
Boost::boost
Expand All @@ -37,6 +39,7 @@ alicevision_add_software(aliceVision_importKnownPoses
aliceVision_feature
aliceVision_sfmData
aliceVision_sfmDataIO
aliceVision_cmdline
Boost::program_options
Boost::filesystem
Boost::boost
Expand All @@ -50,6 +53,7 @@ alicevision_add_software(aliceVision_convertRAW
FOLDER ${FOLDER_SOFTWARE_CONVERT}
LINKS aliceVision_system
aliceVision_image
aliceVision_cmdline
Boost::program_options
Boost::filesystem
)
Expand All @@ -62,6 +66,7 @@ alicevision_add_software(aliceVision_convertMesh
FOLDER ${FOLDER_SOFTWARE_CONVERT}
LINKS aliceVision_system
aliceVision_numeric
aliceVision_cmdline
aliceVision_mesh
${Boost_LIBRARIES}
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

#include <aliceVision/feature/Descriptor.hpp>
#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <aliceVision/system/main.hpp>

#include <boost/filesystem.hpp>
Expand Down
2 changes: 1 addition & 1 deletion src/software/convert/main_convertMesh.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// You can obtain one at https://mozilla.org/MPL/2.0/.

#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <aliceVision/system/main.hpp>
#include <aliceVision/system/Timer.hpp>
#include <aliceVision/mesh/Texturing.hpp>
Expand Down
2 changes: 1 addition & 1 deletion src/software/convert/main_convertRAW.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include <aliceVision/image/all.hpp>
#include <aliceVision/image/io.hpp>
#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <aliceVision/system/main.hpp>

#include <boost/program_options.hpp>
Expand Down
2 changes: 1 addition & 1 deletion src/software/convert/main_convertSfMFormat.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <aliceVision/sfmData/SfMData.hpp>
#include <aliceVision/sfmDataIO/sfmDataIO.hpp>
#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <aliceVision/system/main.hpp>
#include <aliceVision/stl/regex.hpp>
#include <aliceVision/config.hpp>
Expand Down
2 changes: 1 addition & 1 deletion src/software/convert/main_importKnownPoses.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include <aliceVision/sfmData/SfMData.hpp>
#include <aliceVision/sfmDataIO/sfmDataIO.hpp>
#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <aliceVision/system/main.hpp>
#include <aliceVision/config.hpp>
#include <aliceVision/utils/regexFilter.hpp>
Expand Down
13 changes: 13 additions & 0 deletions src/software/export/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ if(ALICEVISION_HAVE_ALEMBIC)
SOURCE main_exportAnimatedCamera.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_sfmData
aliceVision_sfmDataIO
Boost::program_options
Expand All @@ -25,6 +26,7 @@ alicevision_add_software(aliceVision_exportKeypoints
SOURCE main_exportKeypoints.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_feature
aliceVision_sfm
aliceVision_sfmData
Expand All @@ -40,6 +42,7 @@ alicevision_add_software(aliceVision_exportMatches
SOURCE main_exportMatches.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_feature
aliceVision_sfm
aliceVision_sfmData
Expand All @@ -55,6 +58,7 @@ alicevision_add_software(aliceVision_exportTracks
SOURCE main_exportTracks.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_feature
aliceVision_sfm
aliceVision_sfmData
Expand All @@ -70,6 +74,7 @@ alicevision_add_software(aliceVision_exportPMVS
SOURCE main_exportPMVS.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_image
aliceVision_feature
aliceVision_sfmData
Expand All @@ -85,6 +90,7 @@ alicevision_add_software(aliceVision_exportColmap
SOURCE main_exportColmap.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_image
aliceVision_feature
aliceVision_sfmData
Expand All @@ -101,6 +107,7 @@ alicevision_add_software(aliceVision_exportColoredPointCloud
SOURCE main_exportColoredPointCloud.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_image
aliceVision_feature
aliceVision_sfmData
Expand All @@ -114,6 +121,7 @@ if(ALICEVISION_HAVE_ALEMBIC) # maya can read alembic file
SOURCE main_exportMeshroomMaya.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_image
aliceVision_feature
aliceVision_sfmData
Expand All @@ -131,6 +139,7 @@ alicevision_add_software(aliceVision_exportMVE2
SOURCE main_exportMVE2.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_image
aliceVision_feature
aliceVision_sfmData
Expand All @@ -146,6 +155,7 @@ alicevision_add_software(aliceVision_exportMeshlab
SOURCE main_exportMeshlab.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_image
aliceVision_feature
aliceVision_sfmData
Expand All @@ -161,6 +171,7 @@ alicevision_add_software(aliceVision_exportMVSTexturing
SOURCE main_exportMVSTexturing.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_image
aliceVision_feature
aliceVision_sfmData
Expand All @@ -174,6 +185,7 @@ alicevision_add_software(aliceVision_exportMatlab
SOURCE main_exportMatlab.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_image
aliceVision_feature
aliceVision_sfmData
Expand All @@ -189,6 +201,7 @@ alicevision_add_software(aliceVision_exportCameraFrustums
SOURCE main_exportCameraFrustums.cpp
FOLDER ${FOLDER_SOFTWARE_EXPORT}
LINKS aliceVision_system
aliceVision_cmdline
aliceVision_feature
aliceVision_sfm
aliceVision_sfmData
Expand Down
2 changes: 1 addition & 1 deletion src/software/export/main_exportAnimatedCamera.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
// You can obtain one at https://mozilla.org/MPL/2.0/.

#include <aliceVision/system/Logger.hpp>
#include <aliceVision/system/cmdline.hpp>
#include <aliceVision/cmdline/cmdline.hpp>
#include <aliceVision/system/main.hpp>
#include <aliceVision/system/Timer.hpp>
#include <aliceVision/sfmDataIO/sfmDataIO.hpp>
Expand Down
Loading

0 comments on commit fd93e88

Please sign in to comment.