diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d4e89bc3..6b9a7a3af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.0.2) +cmake_minimum_required(VERSION 3.16.3) set(EXTERNAL_DIR "${CMAKE_SOURCE_DIR}/external_imported") @@ -78,14 +78,7 @@ endif() message(STATUS "VCPKG TRIPLET: ${VCPKG_TARGET_TRIPLET}") # Don't specify languages yet in case we need to bump the cmake version -project(EternalTCP VERSION 6.2.8 LANGUAGES NONE) - -if(WIN32) - message(STATUS "Windows detected. Bumping up cmake version.") - - # Hack to force a higher minimum version on windows - cmake_minimum_required(VERSION 3.15.0) -endif() +project(EternalTCP VERSION 6.2.9 LANGUAGES NONE) enable_language(C) enable_language(CXX) @@ -186,14 +179,6 @@ if(USE_SENTRY) endif() endif() -set(CMAKE_MODULE_PATH "${EXTERNAL_DIR}/cotire/CMake" - ${CMAKE_MODULE_PATH}) -include(cotire) - -if(POLICY CMP0058) - cmake_policy(SET CMP0058 NEW) # Needed for cotire -endif() - option(CODE_COVERAGE "Enable code coverage" OFF) option(FUZZING "Enable builds for fuzz testing" OFF) option(BUILD_TESTING "Build tests" ON) @@ -326,14 +311,7 @@ ENDIF() macro(DECORATE_TARGET TARGET_NAME) add_sanitizers(${TARGET_NAME}) - set_target_properties(${TARGET_NAME} PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT - "src/base/Headers.hpp") - - if(CMAKE_CROSSCOMPILING) - # Doesn't work when cross-compiling - else() - cotire(${TARGET_NAME}) - endif() + target_precompile_headers(${TARGET_NAME} PUBLIC "src/base/Headers.hpp") endmacro() macro(DECORATE_FUZZER TARGET_NAME) diff --git a/docs/creating_release.md b/docs/creating_release.md new file mode 100644 index 000000000..cf535af14 --- /dev/null +++ b/docs/creating_release.md @@ -0,0 +1,17 @@ +# Instructions to creating a new ET Release + +1. Increment the project(...) version in CMakeLists.txt and push to master. +2. Switch to the release branch +3. Pull in the lastest changes: `git merge master` +4. Run `git submodule update --recursive --init` to ensure that the submodules are updated to the latest master/release commit. +5. Run `import_submodules.sh` to create an in-repo copy of the submodules +6. `git add external_imported` and commit/push any changes +7. Create a github release using the latest commit and tag it with `et-vA.B.C` where A/B/C is the major/minor/patch version. +8. Switch to the deployment branch +9. Edit the `deployment/debian_SOURCE/changelog` file and add a entry for the new release. +10. Copy id_rsa / id_rsa.pub / .gnupg to the deploymen directory. The rsa key needs to have write access to the debian-et github repo and the gnupg key needs to have write access to launchpad +11. Build and run a docker image interactively from ubuntu.Dockerfile +12. inside the docker image, run deploy_ubuntu_ppa.sh +13. Exit the docker image and create a vagrant VM for debian +14. inside the vagrant vm, run build_all_deb.sh +15. Follow the instructions at the end of the build_all_deb command to push the new debian artifacts. Do not push the dbgsym (debug symbols) because github cannot handle files that large \ No newline at end of file