diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a5acd81..22ccfc0 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -48,7 +48,7 @@ jobs: timeout-minutes: 30 strategy: matrix: - gcc-version: [9, 10, 11, 12, 13] + gcc-version: [11, 12, 13, 14, 15] cmake-version: ["3.25.0"] cmake-type: ["binary"] runs-on: ubuntu-latest @@ -69,11 +69,12 @@ jobs: run: | apt-get update && apt-get install -y -q wget python3 python3-dev libpng-dev wget https://bootstrap.pypa.io/pip/get-pip.py && PIP_BREAK_SYSTEM_PACKAGES=1 python3 get-pip.py - pip3 install --break-system-packages --upgrade "conan<2" urllib3 - conan install . --build + pip3 install --break-system-packages --upgrade "conan>=2,<3" urllib3 + conan profile detect --force + conan install . --build=missing - name: Build P(NG)Convert run: | - cmake . + cmake . -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release make - name: Test P(NG)Convert run: | @@ -87,13 +88,14 @@ jobs: - uses: actions/checkout@v4 - name: Build & Install Dependencies run: | - pip3 install --upgrade "conan<2" urllib3 - conan install . --build + pip3 install --upgrade "conan>=2,<3" urllib3 + conan profile detect --force + conan install . --build=missing - name: Setup msbuild uses: microsoft/setup-msbuild@v1.1 - name: Build P(NG)Convert run: | - cmake . -DCMAKE_CL_64=1 -DCMAKE_GENERATOR_PLATFORM=x64 -Ax64 + cmake . "-DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake" -DCMAKE_CL_64=1 -DCMAKE_GENERATOR_PLATFORM=x64 -Ax64 msbuild ALL_BUILD.vcxproj /P:Configuration=Release - name: Test P(NG)Convert run: | @@ -102,17 +104,17 @@ jobs: build-macos-cmake: name: Build macOS CMake timeout-minutes: 30 - runs-on: macos-14 + runs-on: macos-latest steps: - uses: actions/checkout@v4 - name: Build & Install Dependencies run: | - export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/2.7/bin - pip3 install --break-system-packages --upgrade "conan>1.50.0, <2" "urllib3<1.27" - conan install . --build + pip3 install --break-system-packages --upgrade "conan>=2,<3" "urllib3<1.27" + conan profile detect --force + conan install . --build=missing - name: Build P(NG)Convert run: | - cmake . -DCMAKE_POLICY_VERSION_MINIMUM=3.5 + cmake . -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Release make - name: Test P(NG)Convert run: | diff --git a/CHANGELOG.md b/CHANGELOG.md index 882e923..5a46a0b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -* +* Migrated from Conan 1 to Conan 2 - updated generators, CMake integration, and CI workflow ### Fixed diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f54126..a836efe 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,9 +1,15 @@ -cmake_minimum_required(VERSION 3.0.0) +cmake_minimum_required(VERSION 3.15.0) project(pconvert) -include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) -conan_basic_setup() +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin) +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/lib) +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/lib) +find_package(PNG REQUIRED) +find_package(ZLIB REQUIRED) find_package(PythonLibs) add_definitions(-DNO_PRAGMA_LIB) @@ -12,5 +18,9 @@ add_definitions(-D_CRT_SECURE_NO_WARNINGS) aux_source_directory(src/pconvert SOURCES) add_executable(pconvert ${SOURCES}) -target_include_directories(pconvert PUBLIC ${PYTHON_INCLUDE_PATH}) -target_link_libraries(pconvert ${CONAN_LIBS} ${PYTHON_LIBRARY}) +target_link_libraries(pconvert PNG::PNG ZLIB::ZLIB) + +if(PythonLibs_FOUND) + target_include_directories(pconvert PUBLIC ${PYTHON_INCLUDE_PATH}) + target_link_libraries(pconvert ${PYTHON_LIBRARY}) +endif() diff --git a/Makefile b/Makefile index 3ecab35..5be6208 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ --include conanbuildinfo.mak +-include conandeps.mak CC=gcc CPP=g++ diff --git a/conanfile.txt b/conanfile.txt index f2f80a0..12ca27d 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -3,5 +3,6 @@ libpng/[>1.0] zlib/[>1.2.0] [generators] -make -cmake +CMakeToolchain +CMakeDeps +MakeDeps