From 00466f3e4cfba9ce173db39f7c86be5809bf242e Mon Sep 17 00:00:00 2001 From: Andreas Reischuck Date: Sun, 2 Jun 2024 01:01:04 +0200 Subject: [PATCH] Upgrade to Conan 2.0 (5) --- .github/workflows/conan.yml | 5 ++--- conan/conanfile.py | 30 ++++++++++++++------------ conan/profiles/clang15-libcxx | 2 -- conan/profiles/clang15-libstdcpp | 2 -- conan/profiles/clang18-libstdcpp | 11 ++++++++++ conan/profiles/gcc12 | 2 -- conan/profiles/msvc2022 | 11 +++++----- conan/tests/array19/CMakeLists.txt | 3 --- conan/tests/array19/conanfile.txt | 2 +- conan/tests/coro19/CMakeLists.txt | 3 --- conan/tests/coro19/conanfile.txt | 2 +- conan/tests/enum19/CMakeLists.txt | 3 --- conan/tests/enum19/conanfile.txt | 2 +- conan/tests/lookup19/CMakeLists.txt | 3 --- conan/tests/lookup19/conanfile.txt | 2 +- conan/tests/meta19/CMakeLists.txt | 3 --- conan/tests/meta19/conanfile.txt | 2 +- conan/tests/optional19/CMakeLists.txt | 3 --- conan/tests/optional19/conanfile.txt | 2 +- conan/tests/partial19/CMakeLists.txt | 3 --- conan/tests/partial19/conanfile.txt | 2 +- conan/tests/serialize19/CMakeLists.txt | 3 --- conan/tests/serialize19/conanfile.txt | 2 +- conan/tests/signal19/CMakeLists.txt | 3 --- conan/tests/signal19/conanfile.txt | 2 +- conan/tests/string19/CMakeLists.txt | 3 --- conan/tests/string19/conanfile.txt | 2 +- conan/tests/strong19/CMakeLists.txt | 3 --- conan/tests/strong19/conanfile.txt | 2 +- conan/tests/tuple19/CMakeLists.txt | 3 --- conan/tests/tuple19/conanfile.txt | 2 +- conan/tests/variant19/CMakeLists.txt | 3 --- conan/tests/variant19/conanfile.txt | 2 +- script/ci/conan.sh | 2 +- script/create_conan.sh | 3 +-- script/test_conan.bat | 13 ++++++----- script/test_conan.sh | 11 ++++++---- 37 files changed, 65 insertions(+), 92 deletions(-) create mode 100644 conan/profiles/clang18-libstdcpp diff --git a/.github/workflows/conan.yml b/.github/workflows/conan.yml index 3038016..61bcb6e 100644 --- a/.github/workflows/conan.yml +++ b/.github/workflows/conan.yml @@ -21,15 +21,14 @@ jobs: - name: Create conan package run: | - cd conan - conan create . --build=missing --profile profiles/msvc2022 + conan create conan/ --build=missing --profile:all=./conan/profiles/msvc2022 - name: Test package components shell: pwsh run: | foreach ($folder in (Get-ChildItem -Path ./conan/tests -Directory | Foreach-Object {$_.Name})) { echo "Running ${folder}" - & script\test_conan.bat "${folder}" --profile "$pwd/conan/profiles/msvc2022" + & script\test_conan.bat "${folder}" --profile:all="$pwd/conan/profiles/msvc2022" if ($LASTEXITCODE -ne 0) { exit(1) } diff --git a/conan/conanfile.py b/conan/conanfile.py index 081d5c7..9a2c267 100644 --- a/conan/conanfile.py +++ b/conan/conanfile.py @@ -1,7 +1,7 @@ -from conans import ConanFile +from conan import ConanFile from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout -from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, replace_in_file, rm, rmdir -from conans import tools +from conan.tools.files import copy, rmdir +from conan.tools.build import check_min_cppstd import os @@ -24,7 +24,7 @@ class Cocpp19Conan(ConanFile): "shared": False, "fPIC": True } - requires = [("gtest/1.11.0", "private")] + test_requires = "gtest/1.11.0" generators = "CMakeDeps" def layout(self): @@ -32,19 +32,20 @@ def layout(self): cmake_layout(self) def export_sources(self): - self.copy("CMakeLists.txt", src="..") - self.copy("CoCpp19Config.cmake.in", src="..") - self.copy("LICENSE", src="..") - self.copy("src/*", src="..", excludes="*.qbs") - self.copy("third_party/CMakeLists.txt", src="..") - self.copy("third_party/googletest.cmake", src="..") + folder = os.path.join(self.recipe_folder, "..") + copy(self, "CMakeLists.txt", folder, self.export_sources_folder) + copy(self, "CoCpp19Config.cmake.in", folder, self.export_sources_folder) + copy(self, "LICENSE", folder, self.export_sources_folder) + copy(self, "src/*", folder, self.export_sources_folder, excludes="*.qbs") + copy(self, "third_party/CMakeLists.txt", folder, self.export_sources_folder) + copy(self, "third_party/googletest.cmake", folder, self.export_sources_folder) def config_options(self): if self.settings.os == "Windows": del self.options.fPIC def validate(self): - tools.check_min_cppstd(self, "20") + check_min_cppstd(self, "20") def generate(self): tc = CMakeToolchain(self) @@ -56,7 +57,7 @@ def build(self): cmake.build() def package(self): - self.copy("LICENSE") + copy(self, "LICENSE", self.source_folder, self.package_folder) cmake = CMake(self) cmake.install() rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig")) @@ -65,6 +66,7 @@ def package(self): def package_info(self): self.cpp_info.set_property("cmake_find_mode", "both") self.cpp_info.set_property("cmake_file_name", "CoCpp19") + self.cpp_info.set_property("cmake_target_name", "CoCpp19") components = [ {"name": "array19"}, @@ -90,8 +92,8 @@ def package_info(self): if "libs" in comp: self.cpp_info.components[name].libs = comp["libs"] - self.cpp_info.names["cmake_find_package"] = "CoCpp19" - self.cpp_info.names["cmake_find_package_multi"] = "CoCpp19" + # self.cpp_info.names["cmake_find_package"] = "CoCpp19" + # self.cpp_info.names["cmake_find_package_multi"] = "CoCpp19" def test(self): cmake = CMake(self) diff --git a/conan/profiles/clang15-libcxx b/conan/profiles/clang15-libcxx index 23c0df3..a1b8009 100644 --- a/conan/profiles/clang15-libcxx +++ b/conan/profiles/clang15-libcxx @@ -1,8 +1,6 @@ [settings] os=Linux -os_build=Linux arch=x86_64 -arch_build=x86_64 compiler=clang compiler.libcxx=libc++ compiler.version=15 diff --git a/conan/profiles/clang15-libstdcpp b/conan/profiles/clang15-libstdcpp index 5ca35de..b44e270 100644 --- a/conan/profiles/clang15-libstdcpp +++ b/conan/profiles/clang15-libstdcpp @@ -1,8 +1,6 @@ [settings] os=Linux -os_build=Linux arch=x86_64 -arch_build=x86_64 compiler=clang compiler.libcxx=libstdc++11 compiler.version=15 diff --git a/conan/profiles/clang18-libstdcpp b/conan/profiles/clang18-libstdcpp new file mode 100644 index 0000000..c14c03c --- /dev/null +++ b/conan/profiles/clang18-libstdcpp @@ -0,0 +1,11 @@ +[settings] +os=Linux +arch=x86_64 +compiler=clang +compiler.libcxx=libstdc++11 +compiler.version=18 +compiler.cppstd=20 +build_type=Release + +[options] +*:shared=False diff --git a/conan/profiles/gcc12 b/conan/profiles/gcc12 index b08c131..3bad563 100644 --- a/conan/profiles/gcc12 +++ b/conan/profiles/gcc12 @@ -1,8 +1,6 @@ [settings] os=Linux -os_build=Linux arch=x86_64 -arch_build=x86_64 compiler=gcc compiler.libcxx=libstdc++11 compiler.version=12 diff --git a/conan/profiles/msvc2022 b/conan/profiles/msvc2022 index a9c9c6e..d08c7d7 100644 --- a/conan/profiles/msvc2022 +++ b/conan/profiles/msvc2022 @@ -1,13 +1,14 @@ [settings] os=Windows -os_build=Windows arch=x86_64 -arch_build=x86_64 -compiler=Visual Studio -compiler.version=17 +compiler=msvc +compiler.version=194 compiler.cppstd=20 -compiler.runtime=MD +compiler.runtime=dynamic build_type=Release [options] *:shared=False + +[conf] +tools.cmake.cmaketoolchain:generator=Ninja Multi-Config diff --git a/conan/tests/array19/CMakeLists.txt b/conan/tests/array19/CMakeLists.txt index f2992bc..0828240 100644 --- a/conan/tests/array19/CMakeLists.txt +++ b/conan/tests/array19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(conan-array19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS array19 REQUIRED) diff --git a/conan/tests/array19/conanfile.txt b/conan/tests/array19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/array19/conanfile.txt +++ b/conan/tests/array19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/coro19/CMakeLists.txt b/conan/tests/coro19/CMakeLists.txt index c05d5de..471a08b 100644 --- a/conan/tests/coro19/CMakeLists.txt +++ b/conan/tests/coro19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(conan-coro19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS coro19 REQUIRED) diff --git a/conan/tests/coro19/conanfile.txt b/conan/tests/coro19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/coro19/conanfile.txt +++ b/conan/tests/coro19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/enum19/CMakeLists.txt b/conan/tests/enum19/CMakeLists.txt index b03026d..9910478 100644 --- a/conan/tests/enum19/CMakeLists.txt +++ b/conan/tests/enum19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-enum19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS enum19 REQUIRED) diff --git a/conan/tests/enum19/conanfile.txt b/conan/tests/enum19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/enum19/conanfile.txt +++ b/conan/tests/enum19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/lookup19/CMakeLists.txt b/conan/tests/lookup19/CMakeLists.txt index 8d7b1bf..cb1ea5f 100644 --- a/conan/tests/lookup19/CMakeLists.txt +++ b/conan/tests/lookup19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-lookup19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS lookup19 REQUIRED) diff --git a/conan/tests/lookup19/conanfile.txt b/conan/tests/lookup19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/lookup19/conanfile.txt +++ b/conan/tests/lookup19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/meta19/CMakeLists.txt b/conan/tests/meta19/CMakeLists.txt index 20c2f3d..3d67da4 100644 --- a/conan/tests/meta19/CMakeLists.txt +++ b/conan/tests/meta19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-meta19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS meta19 REQUIRED) diff --git a/conan/tests/meta19/conanfile.txt b/conan/tests/meta19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/meta19/conanfile.txt +++ b/conan/tests/meta19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/optional19/CMakeLists.txt b/conan/tests/optional19/CMakeLists.txt index 41d40d9..0b77a21 100644 --- a/conan/tests/optional19/CMakeLists.txt +++ b/conan/tests/optional19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-optional19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS optional19 REQUIRED) diff --git a/conan/tests/optional19/conanfile.txt b/conan/tests/optional19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/optional19/conanfile.txt +++ b/conan/tests/optional19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/partial19/CMakeLists.txt b/conan/tests/partial19/CMakeLists.txt index ab7e2ce..de086d8 100644 --- a/conan/tests/partial19/CMakeLists.txt +++ b/conan/tests/partial19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-partial19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS partial19 REQUIRED) diff --git a/conan/tests/partial19/conanfile.txt b/conan/tests/partial19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/partial19/conanfile.txt +++ b/conan/tests/partial19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/serialize19/CMakeLists.txt b/conan/tests/serialize19/CMakeLists.txt index 420825d..002b29c 100644 --- a/conan/tests/serialize19/CMakeLists.txt +++ b/conan/tests/serialize19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-serialize19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS serialize19 REQUIRED) diff --git a/conan/tests/serialize19/conanfile.txt b/conan/tests/serialize19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/serialize19/conanfile.txt +++ b/conan/tests/serialize19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/signal19/CMakeLists.txt b/conan/tests/signal19/CMakeLists.txt index 20bd6df..625b584 100644 --- a/conan/tests/signal19/CMakeLists.txt +++ b/conan/tests/signal19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-signal19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS signal19 REQUIRED) diff --git a/conan/tests/signal19/conanfile.txt b/conan/tests/signal19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/signal19/conanfile.txt +++ b/conan/tests/signal19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/string19/CMakeLists.txt b/conan/tests/string19/CMakeLists.txt index dcd00da..de5c17a 100644 --- a/conan/tests/string19/CMakeLists.txt +++ b/conan/tests/string19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-string19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS string19 REQUIRED) diff --git a/conan/tests/string19/conanfile.txt b/conan/tests/string19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/string19/conanfile.txt +++ b/conan/tests/string19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/strong19/CMakeLists.txt b/conan/tests/strong19/CMakeLists.txt index d4e2863..7917bd5 100644 --- a/conan/tests/strong19/CMakeLists.txt +++ b/conan/tests/strong19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-strong19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS strong19 REQUIRED) diff --git a/conan/tests/strong19/conanfile.txt b/conan/tests/strong19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/strong19/conanfile.txt +++ b/conan/tests/strong19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/tuple19/CMakeLists.txt b/conan/tests/tuple19/CMakeLists.txt index 27ae95c..e32bd13 100644 --- a/conan/tests/tuple19/CMakeLists.txt +++ b/conan/tests/tuple19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-tuple19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS tuple19 REQUIRED) diff --git a/conan/tests/tuple19/conanfile.txt b/conan/tests/tuple19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/tuple19/conanfile.txt +++ b/conan/tests/tuple19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/conan/tests/variant19/CMakeLists.txt b/conan/tests/variant19/CMakeLists.txt index 0824fe2..6f9433b 100644 --- a/conan/tests/variant19/CMakeLists.txt +++ b/conan/tests/variant19/CMakeLists.txt @@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.15) project(cocpp19-variant19) set(CMAKE_CXX_STANDARD 20) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() - set(CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_MODULE_PATH}) find_package(GTest REQUIRED) find_package(CoCpp19 COMPONENTS variant19 REQUIRED) diff --git a/conan/tests/variant19/conanfile.txt b/conan/tests/variant19/conanfile.txt index 8a52deb..e60e0d8 100644 --- a/conan/tests/variant19/conanfile.txt +++ b/conan/tests/variant19/conanfile.txt @@ -3,5 +3,5 @@ co-cpp19/1.0 gtest/1.11.0 [generators] -cmake CMakeDeps +CMakeToolchain diff --git a/script/ci/conan.sh b/script/ci/conan.sh index f063af1..61acee5 100755 --- a/script/ci/conan.sh +++ b/script/ci/conan.sh @@ -13,5 +13,5 @@ script/create_conan.sh "${ConanProfile}" for test in conan/tests/*/ do - script/test_conan.sh "$(basename "${test}")" --profile "${BASE_DIR}/conan/profiles/${ConanProfile}" + script/test_conan.sh "$(basename "${test}")" --profile:all="${BASE_DIR}/conan/profiles/${ConanProfile}" done diff --git a/script/create_conan.sh b/script/create_conan.sh index 34fe650..36b3dfc 100755 --- a/script/create_conan.sh +++ b/script/create_conan.sh @@ -9,5 +9,4 @@ shift cd "$(dirname "${BASH_SOURCE[0]}")/.." BASE_DIR="$(pwd)" -cd conan -conan create . --build=missing --profile "conan/profiles/${ConanProfile}" +conan create conan --build=missing --profile:all="./conan/profiles/${ConanProfile}" diff --git a/script/test_conan.bat b/script/test_conan.bat index c0e66b6..a13473d 100644 --- a/script/test_conan.bat +++ b/script/test_conan.bat @@ -9,25 +9,28 @@ if "%~1"=="" ( set ConanCase=%1 ) -set "BUILD_PATH=build/%ConanCase%" +set "BUILD_PATH=build/conan-%ConanCase%" set "SOURCE_PATH=conan/tests/%ConanCase%" set "BASE_DIR=%~dp0.." +set "ConfigPreset=conan-default" +set "BuildPreset=conan-release" +set "TestPreset=conan-release" pushd "%~dp0.." mkdir "%BUILD_PATH%" cd "%BUILD_PATH%" -conan install "%BASE_DIR%/%SOURCE_PATH%" %2 %3 %4 %5 +conan install "%BASE_DIR%/%SOURCE_PATH%" --output-folder=. %2 %3 %4 %5 if !errorlevel! neq 0 exit /b !errorlevel! -cmake "%BASE_DIR%/%SOURCE_PATH%" "-DCMAKE_BUILD_TYPE=Release" -G "Ninja" +cmake "%BASE_DIR%/%SOURCE_PATH%" --preset "%ConfigPreset%" if !errorlevel! neq 0 exit /b !errorlevel! -cmake --build . +cmake --build --preset "%BuildPreset%" if !errorlevel! neq 0 exit /b !errorlevel! -ctest +ctest --preset "%TestPreset%" if !errorlevel! neq 0 exit /b !errorlevel! popd diff --git a/script/test_conan.sh b/script/test_conan.sh index 64bb187..d02b961 100755 --- a/script/test_conan.sh +++ b/script/test_conan.sh @@ -8,13 +8,16 @@ shift BUILD_PATH="build/conan-${ConanCase}" SOURCE_PATH="conan/tests/${ConanCase}" +ConfigPreset="conan-release" # "conan-default" for multi config generators +BuildPreset="conan-release" +TestPreset="conan-release" cd "$(dirname "${BASH_SOURCE[0]}")/.." BASE_DIR="$(pwd)" mkdir -p ${BUILD_PATH} cd ${BUILD_PATH} -conan install "${BASE_DIR}/${SOURCE_PATH}" "$@" -cmake "${BASE_DIR}/${SOURCE_PATH}" "-DCMAKE_BUILD_TYPE=Release" -cmake --build . -ctest +conan install "${BASE_DIR}/${SOURCE_PATH}" --output-folder=. "$@" +cmake "${BASE_DIR}/${SOURCE_PATH}" --preset "${ConfigPreset}" +cmake --build --preset "${BuildPreset}" +ctest --preset "${TestPreset}"