fix module compilation with clang on windows when std module is disabled

This commit is contained in:
Arthur LAURENT 2023-10-20 10:50:58 +02:00
parent 7f5de9ab25
commit 24569f69e8
2 changed files with 12 additions and 2 deletions

View File

@ -29,15 +29,22 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE. SOFTWARE.
*/ */
module;
#ifndef ARGPARSE_MODULE_USE_STD_MODULE
#include <argparse/argparse.hpp>
#endif
export module argparse; export module argparse;
#ifdef ARGPARSE_MODULE_USE_STD_MODULE #ifdef ARGPARSE_MODULE_USE_STD_MODULE
import std; import std;
#endif
extern "C++" { extern "C++" {
#include <argparse/argparse.hpp> #include <argparse/argparse.hpp>
} }
#endif
export namespace argparse { export namespace argparse {
using argparse::nargs_pattern; using argparse::nargs_pattern;

View File

@ -4,6 +4,7 @@ set_project("argparse")
set_version("2.9.0", { build = "%Y%m%d%H%M" }) set_version("2.9.0", { build = "%Y%m%d%H%M" })
option("enable_module") option("enable_module")
option("enable_std_import", { defines = "ARGPARSE_MODULE_USE_STD_MODULE" })
option("enable_tests") option("enable_tests")
option("enable_samples") option("enable_samples")
@ -28,7 +29,9 @@ target("argparse", function()
if get_config("enable_module") then if get_config("enable_module") then
set_languages("c++20") set_languages("c++20")
set_kind("static") -- static atm because of a XMake bug, headeronly doesn't generate package module metadata set_kind("static") -- static atm because of a XMake bug, headeronly doesn't generate package module metadata
else end
add_options("enable_std_import")
add_includedirs("include", { public = true }) add_includedirs("include", { public = true })
add_headerfiles("include/argparse/argparse.hpp") add_headerfiles("include/argparse/argparse.hpp")