Skip to content

Commit a91486a

Browse files
committed
feat: replace deprecated std_module with std import
Replaced all instances of `import :std_module` with `import std` to align with the latest C++ standards. Updated CMakeLists.txt to require CMake 3.29 and set experimental C++ module settings. Adjusted Taskfile.yml to disable benchmarks by default. Fixed a bug in InvertValidation struct.
1 parent a95a100 commit a91486a

15 files changed

+36
-23
lines changed

Argo/ArgoArg.cc

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
export module Argo:Arg;
22

3+
import std;
4+
35
import :ArgName;
46
import :Validation;
57
import :TypeTraits;
6-
import :std_module;
78

89
// generator start here
910

Argo/ArgoArgName.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export module Argo:ArgName;
22

3-
import :std_module;
3+
import std;
44

55
#include "Argo/ArgoMacros.hh"
66

Argo/ArgoExceptions.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export module Argo:Exceptions;
22

3-
import :std_module;
3+
import std;
44

55
// generator start here
66

Argo/ArgoHelpGenerator.cc

+3-1
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,11 @@ module;
44

55
export module Argo:HelpGenerator;
66

7+
8+
import std;
9+
710
import :Arg;
811
import :TypeTraits;
9-
import :std_module;
1012

1113
// generator start here
1214

Argo/ArgoInitializer.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import :Validation;
88
import :ArgName;
99
import :Arg;
1010

11-
import :std_module;
11+
import std;
1212

1313
// generator start here
1414

Argo/ArgoMetaAssigner.cc

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ module;
44

55
export module Argo:MetaAssigner;
66

7+
import std;
8+
79
import :Exceptions;
810
import :Validation;
911
import :TypeTraits;
1012
import :MetaLookup;
1113
import :Arg;
12-
import :std_module;
1314

1415
// generator start here
1516

Argo/ArgoMetaLookup.cc

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ module;
44

55
export module Argo:MetaLookup;
66

7+
import std;
8+
79
import :Exceptions;
8-
import :std_module;
910
import :TypeTraits;
1011
import :Arg;
1112
import :ArgName;

Argo/ArgoMetaParse.cc

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ module;
44

55
export module Argo:MetaParse;
66

7-
import :std_module;
7+
import std;
8+
89
import :Arg;
910
import :TypeTraits;
1011
import :ArgName;

Argo/ArgoParser.cc

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ module;
44

55
export module Argo:Parser;
66

7+
import std;
8+
79
import :Exceptions;
810
import :Initializer;
911
import :MetaParse;
1012
import :TypeTraits;
1113
import :MetaLookup;
1214
import :ArgName;
1315
import :Arg;
14-
import :std_module;
1516

1617
// generator start here
1718

Argo/ArgoParserImpl.cc

+4-2
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ module;
44

55
export module Argo:ParserImpl;
66

7+
import std;
8+
79
import :TypeTraits;
810
import :MetaAssigner;
911
import :Parser;
1012
import :MetaLookup;
1113
import :MetaParse;
1214
import :HelpGenerator;
1315
import :Arg;
14-
import :std_module;
1516
import :Exceptions;
1617

1718
// generator start here
@@ -370,7 +371,8 @@ constexpr auto Parser<ID, Args, PArgs, HArg, SubParsers>::formatHelp(
370371
bool no_color) const -> std::string {
371372
std::string ret;
372373

373-
AnsiEscapeCode ansi((::isatty(1) != 0) and !no_color);
374+
AnsiEscapeCode ansi(true and !no_color);
375+
// AnsiEscapeCode ansi((::isatty(1) != 0) and !no_color);
374376

375377
std::vector<ArgInfo> help_info;
376378
if constexpr (std::is_same_v<HArg, void>) {

Argo/ArgoTypeTraits.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
export module Argo:TypeTraits;
22

33
import :Exceptions;
4-
import :std_module;
4+
import std;
55

66
#include "Argo/ArgoMacros.hh"
77

Argo/ArgoValidation.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ export module Argo:Validation;
22

33
import :Exceptions;
44
import :TypeTraits;
5-
import :std_module;
5+
import std;
66

77
// generator start here
88

@@ -91,7 +91,7 @@ struct InvertValidation : ValidationBase {
9191
template <class U>
9292
auto isValid(const U& value, std::span<std::string_view> raw_values) const
9393
-> bool {
94-
return !this->lhs_(value, raw_values);
94+
return !this->rhs_(value, raw_values);
9595
};
9696
};
9797

CMakeLists.txt

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
cmake_minimum_required(VERSION 3.28)
2-
3-
project(Argo CXX)
4-
1+
cmake_minimum_required(VERSION 3.29.20240416 FATAL_ERROR)
2+
set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "0e5b6991-d74f-4b3d-a41c-cf096e0b2508")
3+
set(CMAKE_CXX_MODULE_STD 1)
4+
set(CMAKE_CXX_EXTENSIONS OFF)
55
set(CMAKE_CXX_STANDARD 23)
66

7+
project(Argo LANGUAGES CXX)
8+
79
option(ARGO_TESTS_ENABLE "Enable tests" OFF)
810
option(ARGO_BENCHMARKS_ENABLE "Enable benchmarks" OFF)
911
option(ARGO_CLANG_TIDY_ENABLE "Enable clang tidy" OFF)
@@ -15,8 +17,10 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_LIST_DIR})
1517

1618
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Werror -Winline")
1719
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wfloat-equal")
20+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
1821
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
19-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") # Force to use libc++
22+
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") # Force to use
23+
# libc++
2024

2125
message(STATUS "CXX Compiler: ${CMAKE_CXX_COMPILER}")
2226
message(STATUS "CXX Flags: ${CMAKE_CXX_FLAGS}")

Taskfile.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ vars:
77
tasks:
88
cmake:
99
cmds:
10-
- cmake -B build -S . -DARGO_TESTS_ENABLE=true -DARGO_BENCHMARKS_ENABLE=true -GNinja
10+
- cmake -B build -S . -DARGO_TESTS_ENABLE=true -DARGO_BENCHMARKS_ENABLE=false -GNinja
1111
sources:
1212
- ./CMakeLists.txt
1313
generates:
1414
- ./build/CMakeCache.txt
1515
cmake-debug:
1616
cmds:
17-
- cmake -B build_debug -S . -DARGO_TESTS_ENABLE=true -DARGO_BENCHMARKS_ENABLE=true -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_CXX_FLAGS_DEBUG="{{.CXXFLAGS_DEBUG}}"
17+
- cmake -B build_debug -S . -DARGO_TESTS_ENABLE=true -DARGO_BENCHMARKS_ENABLE=false -DCMAKE_BUILD_TYPE=Debug -GNinja -DCMAKE_CXX_FLAGS_DEBUG="{{.CXXFLAGS_DEBUG}}"
1818
sources:
1919
- ./CMakeLists.txt
2020
generates:
2121
- ./build_debug/CMakeCache.txt
2222
cmake-release:
2323
cmds:
24-
- cmake -B build_release -S . -DARGO_TESTS_ENABLE=true -DARGO_BENCHMARKS_ENABLE=true -DCMAKE_BUILD_TYPE=Release -GNinja -DCMAKE_CXX_FLAGS_RELEASE="{{.CXXFLAGS_RELEASE}}"
24+
- cmake -B build_release -S . -DARGO_TESTS_ENABLE=true -DARGO_BENCHMARKS_ENABLE=false -DCMAKE_BUILD_TYPE=Release -GNinja -DCMAKE_CXX_FLAGS_RELEASE="{{.CXXFLAGS_RELEASE}}"
2525
sources:
2626
- ./CMakeLists.txt
2727
generates:

main.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Argo;
22

3-
#include <print>
3+
import std;
44

55
using Argo::description;
66
using Argo::nargs;

0 commit comments

Comments
 (0)