diff options
-rw-r--r-- | .github/workflows/ci.yml | 8 | ||||
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | Makefile | 23 | ||||
-rw-r--r-- | README.md | 2 | ||||
m--------- | cmake | 0 |
6 files changed, 13 insertions, 24 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ab8d34..d5065c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,7 @@ jobs: - name: Cache Boost uses: actions/cache@v3 with: - path: '${{ runner.workspace }}/build/boost_*.tar.gz' + path: './build/boost_*.tar.gz' key: 'boost_${{ env.BOOST_VERSION }}' - name: Set up Python uses: actions/setup-python@v4 @@ -70,7 +70,7 @@ jobs: uses: actions/upload-artifact@v3 with: name: 'winapi-utf8-${{ matrix.toolset }}-${{ matrix.platform }}-${{ matrix.configuration }}' - path: '${{ runner.workspace }}/build/install/' + path: './build/install/' if-no-files-found: error - name: Test run: make test @@ -83,8 +83,6 @@ jobs: if: github.ref == 'refs/heads/master' env: TOOLSET: mingw - PLATFORM: auto - CONFIGURATION: Debug CMAKE_FLAGS: -D WINAPI_UTF8_TESTS=OFF steps: # This is rather stupid. In order to build Doxygen docs, I need a working @@ -113,5 +111,5 @@ jobs: uses: JamesIves/github-pages-deploy-action@v4 with: branch: gh-pages - folder: ../build/cmake/html + folder: ./build/cmake/html single-commit: true @@ -1 +1 @@ -/.build/ +/build/ diff --git a/CMakeLists.txt b/CMakeLists.txt index 7ac0562..29b226c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) # for Boost::* imported targets +cmake_minimum_required(VERSION 3.8) project(winapi_utf8 CXX) enable_testing() @@ -1,6 +1,7 @@ include prelude.mk TOOLSET ?= mingw +PLATFORM ?= auto CONFIGURATION ?= Debug BOOST_VERSION ?= 1.72.0 BOOST_LIBRARIES := --with-test @@ -8,16 +9,13 @@ CMAKE_FLAGS ?= -D WINAPI_UTF8_TESTS=ON this_dir := $(dir $(realpath $(firstword $(MAKEFILE_LIST)))) src_dir := $(this_dir) -ifdef CI -build_dir := $(this_dir)../build -else -build_dir := $(this_dir).build -endif +build_dir := $(this_dir)build boost_dir := $(build_dir)/boost cmake_dir := $(build_dir)/cmake DESTDIR ?= $(build_dir)/install $(eval $(call noexpand,TOOLSET)) +$(eval $(call noexpand,PLATFORM)) $(eval $(call noexpand,CONFIGURATION)) $(eval $(call noexpand,BOOST_VERSION)) $(eval $(call noexpand,CMAKE_FLAGS)) @@ -38,34 +36,27 @@ $(boost_dir)/: '$(call escape,$(boost_dir))' .PHONY: deps -ifdef CI -deps: - cd cmake && python3 -m project.ci.boost -- $(BOOST_LIBRARIES) -else deps: $(boost_dir)/ cd cmake && python3 -m project.boost.build \ --toolset '$(call escape,$(TOOLSET))' \ + --platform '$(call escape,$(PLATFORM))' \ --configuration '$(call escape,$(CONFIGURATION))' \ -- \ '$(call escape,$(boost_dir))' \ $(BOOST_LIBRARIES) -endif .PHONY: build build: -ifdef CI - cd cmake && python3 -m project.ci.cmake --install -- $(CMAKE_FLAGS) -else - cd cmake && python3 -m project.cmake.build \ + cd cmake && python3 -m project.build \ --toolset '$(call escape,$(TOOLSET))' \ + --platform '$(call escape,$(PLATFORM))' \ --configuration '$(call escape,$(CONFIGURATION))' \ - --build '$(call escape,$(cmake_dir))' \ --install '$(call escape,$(DESTDIR))' \ --boost '$(call escape,$(boost_dir))' \ -- \ '$(call escape,$(src_dir))' \ + '$(call escape,$(cmake_dir))' \ $(CMAKE_FLAGS) -endif .PHONY: install install: build @@ -30,7 +30,7 @@ Depends on Boost.Test. The project is Windows-only, so building with either MSVC or MinGW-w64 is required. -There's a Makefile with useful shortcuts to build the project in the .build/ +There's a Makefile with useful shortcuts to build the project in the build/ directory (defaults to building with MinGW-w64): make deps diff --git a/cmake b/cmake -Subproject b230fffce638cdac8837ba9d9d343d9a93cef2e +Subproject 23a96df0cedd7236fbd70087c8e3ee12b222040 |