summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCésar García Tapia <cesargt@jfrog.com>2021-09-14 12:11:27 +0200
committerGitHub <noreply@github.com>2021-09-14 12:11:27 +0200
commit3dbc4eac00370b0c04f1f848d4a165412f952350 (patch)
treea6c2a99079e9785a90594d9013e211f68b11c2af
parent5f2a6c836fc809588601d2ab5f3b4886647543da (diff)
Change default cmake_layout() source folder (#9596)
-rw-r--r--conan/tools/layout/__init__.py4
-rw-r--r--conans/assets/templates/new_v2_cmake.py18
-rw-r--r--conans/test/assets/pkg_cmake.py22
-rw-r--r--conans/test/functional/toolchains/cmake/cmakedeps/test_weird_library_names.py16
-rw-r--r--conans/test/integration/command/new_test.py2
5 files changed, 31 insertions, 31 deletions
diff --git a/conan/tools/layout/__init__.py b/conan/tools/layout/__init__.py
index 9f63efdc..78a8ab9c 100644
--- a/conan/tools/layout/__init__.py
+++ b/conan/tools/layout/__init__.py
@@ -14,7 +14,7 @@ def cmake_layout(conanfile, generator=None):
else:
multi = False
- conanfile.folders.source = "src"
+ conanfile.folders.source = "."
if multi:
conanfile.folders.build = "build"
conanfile.folders.generators = "build/conan"
@@ -23,7 +23,7 @@ def cmake_layout(conanfile, generator=None):
conanfile.folders.build = "cmake-build-{}".format(build_type)
conanfile.folders.generators = os.path.join(conanfile.folders.build, "conan")
- conanfile.cpp.source.includedirs = ["."]
+ conanfile.cpp.source.includedirs = ["src"]
if multi:
conanfile.cpp.build.libdirs = ["{}".format(conanfile.settings.build_type)]
conanfile.cpp.build.bindirs = ["{}".format(conanfile.settings.build_type)]
diff --git a/conans/assets/templates/new_v2_cmake.py b/conans/assets/templates/new_v2_cmake.py
index 5b9a299b..db2b2330 100644
--- a/conans/assets/templates/new_v2_cmake.py
+++ b/conans/assets/templates/new_v2_cmake.py
@@ -20,7 +20,7 @@ class {package_name}Conan(ConanFile):
default_options = {{"shared": False, "fPIC": True}}
# Sources are located in the same place as this recipe, copy them to the recipe
- exports_sources = "src/*"
+ exports_sources = "CMakeLists.txt", "src/*"
def config_options(self):
if self.settings.os == "Windows":
@@ -81,7 +81,7 @@ project(PackageTest CXX)
find_package({name} CONFIG REQUIRED)
-add_executable(example example.cpp)
+add_executable(example src/example.cpp)
target_link_libraries(example {name}::{name})
"""
@@ -89,9 +89,9 @@ target_link_libraries(example {name}::{name})
cmake_v2 = """cmake_minimum_required(VERSION 3.15)
project({name} CXX)
-add_library({name} {name}.cpp)
+add_library({name} src/{name}.cpp)
-set_target_properties({name} PROPERTIES PUBLIC_HEADER "{name}.h")
+set_target_properties({name} PROPERTIES PUBLIC_HEADER "src/{name}.h")
install(TARGETS {name} DESTINATION "."
PUBLIC_HEADER DESTINATION include
RUNTIME DESTINATION bin
@@ -216,12 +216,12 @@ def get_cmake_lib_files(name, version, package_name="Pkg"):
package_name=package_name),
"src/{}.cpp".format(name): source_cpp.format(name=name, version=version),
"src/{}.h".format(name): source_h.format(name=name, version=version),
- "src/CMakeLists.txt": cmake_v2.format(name=name, version=version),
+ "CMakeLists.txt": cmake_v2.format(name=name, version=version),
"test_package/conanfile.py": test_conanfile_v2.format(name=name,
version=version,
package_name=package_name),
"test_package/src/example.cpp": test_main.format(name=name),
- "test_package/src/CMakeLists.txt": test_cmake_v2.format(name=name)}
+ "test_package/CMakeLists.txt": test_cmake_v2.format(name=name)}
return files
@@ -245,7 +245,7 @@ class {package_name}Conan(ConanFile):
settings = "os", "compiler", "build_type", "arch"
# Sources are located in the same place as this recipe, copy them to the recipe
- exports_sources = "src/*"
+ exports_sources = "CMakeLists.txt", "src/*"
def layout(self):
cmake_layout(self)
@@ -267,7 +267,7 @@ class {package_name}Conan(ConanFile):
cmake_exe_v2 = """cmake_minimum_required(VERSION 3.15)
project({name} CXX)
-add_executable({name} {name}.cpp main.cpp)
+add_executable({name} src/{name}.cpp src/main.cpp)
install(TARGETS {name} DESTINATION "."
RUNTIME DESTINATION bin
@@ -299,7 +299,7 @@ def get_cmake_exe_files(name, version, package_name="Pkg"):
"src/{}.cpp".format(name): source_cpp.format(name=name, version=version),
"src/{}.h".format(name): source_h.format(name=name, version=version),
"src/main.cpp": test_main.format(name=name),
- "src/CMakeLists.txt": cmake_exe_v2.format(name=name, version=version),
+ "CMakeLists.txt": cmake_exe_v2.format(name=name, version=version),
"test_package/conanfile.py": test_conanfile_exe_v2.format(name=name,
version=version,
package_name=package_name)
diff --git a/conans/test/assets/pkg_cmake.py b/conans/test/assets/pkg_cmake.py
index b0f15e10..ebd5fefe 100644
--- a/conans/test/assets/pkg_cmake.py
+++ b/conans/test/assets/pkg_cmake.py
@@ -18,7 +18,7 @@ def pkg_cmake(name, version, requires=None, exe=False):
class Pkg(ConanFile):
name = "{pkg_name}"
version = "{version}"
- exports_sources = "src/*"
+ exports_sources = "CMakeLists.txt", "src/*"
{deps}
settings = "os", "compiler", "arch", "build_type"
options = {{"shared": [True, False]}}
@@ -34,7 +34,7 @@ def pkg_cmake(name, version, requires=None, exe=False):
cmake.build()
def package(self):
- self.copy("*.h", dst="include")
+ self.copy("*.h", dst="include", src="src")
self.copy("*.lib", dst="lib", keep_path=False)
self.copy("*.dll", dst="bin", keep_path=False)
self.copy("*.dylib*", dst="lib", keep_path=False)
@@ -60,11 +60,11 @@ def pkg_cmake(name, version, requires=None, exe=False):
if exe:
src_app = gen_function_cpp(name="main", includes=[name], calls=[name])
files["src/{}_app.cpp".format(name)] = src_app
- cmake = gen_cmakelists(appname="{}_app".format(name), appsources=["{}_app.cpp".format(name)],
- libname=name, libsources=["{}.cpp".format(name)], find_package=deps)
+ cmake = gen_cmakelists(appname="{}_app".format(name), appsources=["src/{}_app.cpp".format(name)],
+ libname=name, libsources=["src/{}.cpp".format(name)], find_package=deps)
else:
- cmake = gen_cmakelists(libname=name, libsources=["{}.cpp".format(name)], find_package=deps)
- files["src/CMakeLists.txt"] = cmake
+ cmake = gen_cmakelists(libname=name, libsources=["src/{}.cpp".format(name)], find_package=deps)
+ files["CMakeLists.txt"] = cmake
return files
@@ -94,10 +94,10 @@ def pkg_cmake_test(require_name):
deps = [require_name]
src = gen_function_cpp(name="main", includes=deps, calls=deps)
- cmake = gen_cmakelists(appname="test", appsources=["test.cpp"], find_package=deps)
+ cmake = gen_cmakelists(appname="test", appsources=["src/test.cpp"], find_package=deps)
return {"test_package/src/test.cpp": src,
- "test_package/src/CMakeLists.txt": cmake,
+ "test_package/CMakeLists.txt": cmake,
"test_package/conanfile.py": conanfile}
@@ -114,7 +114,7 @@ def pkg_cmake_app(name, version, requires=None):
class Pkg(ConanFile):
name = "{pkg_name}"
version = "{version}"
- exports_sources = "src/*"
+ exports_sources = "CMakeLists.txt", "src/*"
{deps}
settings = "os", "compiler", "arch", "build_type"
generators = "CMakeToolchain", "CMakeDeps"
@@ -137,8 +137,8 @@ def pkg_cmake_app(name, version, requires=None):
deps = [r.name.replace(".", "_") for r in refs]
src = gen_function_cpp(name="main", includes=deps, calls=deps)
deps = [r.name for r in refs]
- cmake = gen_cmakelists(appname=name, appsources=["{}.cpp".format(name)], find_package=deps)
+ cmake = gen_cmakelists(appname=name, appsources=["src/{}.cpp".format(name)], find_package=deps)
return {"src/{}.cpp".format(name): src,
- "src/CMakeLists.txt": cmake,
+ "CMakeLists.txt": cmake,
"conanfile.py": conanfile}
diff --git a/conans/test/functional/toolchains/cmake/cmakedeps/test_weird_library_names.py b/conans/test/functional/toolchains/cmake/cmakedeps/test_weird_library_names.py
index 3110e03e..56c15941 100644
--- a/conans/test/functional/toolchains/cmake/cmakedeps/test_weird_library_names.py
+++ b/conans/test/functional/toolchains/cmake/cmakedeps/test_weird_library_names.py
@@ -18,7 +18,7 @@ def client_weird_lib_name():
from conan.tools.layout import cmake_layout
class Pkg(ConanFile):
- exports_sources = "src/*"
+ exports_sources = "CMakeLists.txt", "src/*"
settings = "os", "compiler", "arch", "build_type"
generators = "CMakeToolchain", "CMakeDeps"
@@ -31,7 +31,7 @@ def client_weird_lib_name():
cmake.build()
def package(self):
- self.copy("*.h", dst="include")
+ self.copy("*.h", dst="include", src="src")
self.copy("*.lib", dst="lib", keep_path=False)
self.copy("*.a", dst="lib", keep_path=False)
ext = "a" if platform.system() != "Windows" else "lib"
@@ -46,11 +46,11 @@ def client_weird_lib_name():
hdr = gen_function_h(name="hello")
src = gen_function_cpp(name="hello")
- cmake = gen_cmakelists(libname="hello_0.1", libsources=["hello.cpp"])
+ cmake = gen_cmakelists(libname="hello_0.1", libsources=["src/hello.cpp"])
c.save({"src/hello.h": hdr,
"src/hello.cpp": src,
- "src/CMakeLists.txt": cmake,
+ "CMakeLists.txt": cmake,
"conanfile.py": conanfile})
c.run("create . hello/0.1@")
return c
@@ -74,14 +74,14 @@ def test_cmake_find_package(client_weird_lib_name):
from conans import ConanFile, CMake
class Pkg(ConanFile):
- exports_sources = "src/*"
+ exports_sources = "CMakeLists.txt", "src/*"
settings = "os", "compiler", "arch", "build_type"
generators = "cmake_find_package"
requires = "hello/0.1"
def build(self):
cmake = CMake(self)
- cmake.configure(source_folder="src")
+ cmake.configure()
cmake.build()
""")
files["conanfile.py"] = conanfile
@@ -100,14 +100,14 @@ def test_cmake_find_package_multi(client_weird_lib_name):
from conans import ConanFile, CMake
class Pkg(ConanFile):
- exports_sources = "src/*"
+ exports_sources = "CMakeLists.txt", "src/*"
settings = "os", "compiler", "arch", "build_type"
generators = "cmake_find_package_multi"
requires = "hello/0.1"
def build(self):
cmake = CMake(self)
- cmake.configure(source_folder="src")
+ cmake.configure()
cmake.build()
""")
files["conanfile.py"] = conanfile
diff --git a/conans/test/integration/command/new_test.py b/conans/test/integration/command/new_test.py
index 2401d9f5..95731f38 100644
--- a/conans/test/integration/command/new_test.py
+++ b/conans/test/integration/command/new_test.py
@@ -384,7 +384,7 @@ class NewCommandTest(unittest.TestCase):
self.assertIn("CMakeToolchain", conanfile)
conanfile = client.load("test_package/conanfile.py")
self.assertIn("CMakeToolchain", conanfile)
- cmake = client.load("test_package/src/CMakeLists.txt")
+ cmake = client.load("test_package/CMakeLists.txt")
self.assertIn("find_package", cmake)
def test_new_reference(self):