Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move cmdline from system to dedicated module #1410

Merged
merged 4 commits into from
Apr 17, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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