conan-io / conan-io/examples2

[question] self.export_sources_folder in def export_sources(self) method

Open
#109 20 comments 0 reactions 1 assignee Claimed by @memsharded View on GitHub
question
Dominant language
Python
Stars
125
Forks
64
PR merge metrics
No merged PRs in 30d

Description

I am learning about conan and try migrate conan 1.x recipes to conan 2.x.
Could you please someone tell me where the `self.export_sources_folder` tis folder is define in following recipe file?

What is the value of `self.export_sources_folder` for following scenario?
```
import os
from conan import ConanFile
from conan.tools.files import load, copy
from conan.tools.cmake import CMake

class PkgSay(ConanFile):
name = "say"
version = "1.0"
settings = "os", "compiler", "build_type", "arch"
generators = "CMakeToolchain"

def layout(self):
# The root of the project is one level above
self.folders.root = ".."
# The source of the project (the root CMakeLists.txt) is the source folder
self.folders.source = "."
self.folders.build = "build"

def export_sources(self):
# The path of the CMakeLists.txt and sources we want to export are one level above
folder = os.path.join(self.recipe_folder, "..")
copy(self, "*.txt", folder, self.export_sources_folder)
copy(self, "src/*.cpp", folder, self.export_sources_folder)
copy(self, "include/*.h", folder, self.export_sources_folder)

def source(self):
# Check that we can see that the CMakeLists.txt is inside the source folder
cmake_file = load(self, "CMakeLists.txt")

def build(self):
# Check that the build() method can also access the CMakeLists.txt in the source folder
path = os.path.join(self.source_folder, "CMakeLists.txt")
cmake_file = load(self, path)

cmake = CMake(self)
cmake.configure()
cmake.build()

def package(self):
cmake = CMake(self)
cmake.install()
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.