-
Notifications
You must be signed in to change notification settings - Fork 23
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
- error Files are not created for
cppfront
in the build folder
CMakeLists.txt
cmake_minimum_required(VERSION 3.28)
project(std_module_example CXX)
# Turning off extensions avoids an issue with the clang 16 compiler
# clang 17 and greater can avoid this setting
set(CMAKE_CXX_EXTENSIONS OFF)
# Set the version of C++ for the project
set(CMAKE_CXX_STANDARD 20)
add_subdirectory(cppfront)
# Create a library
add_library(foo)
# Add the module file to the library
target_sources(foo
PUBLIC
FILE_SET CXX_MODULES FILES
foo.cpp2
)
# Create an executable
add_executable(hello main.cxx)
# Link to the library foo
target_link_libraries(hello foo cppfront)
main.cxx
import shalom;
int main()
{
foo f;
f.helloworld();
return 0;
}
foo.cpp2 (change to foo.cxx
and it will work)
// Global module fragment where #includes can happen
module;
#include <iostream>
// first thing after the Global module fragment must be a module command
export module shalom;
export class foo {
public:
foo();
~foo();
void helloworld();
};
foo::foo() = default;
foo::~foo() = default;
void foo::helloworld() { std::cout << "hello world\n"; }
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working