From ccd0754eed3421652a3f7523a6ae94ffa1a88744 Mon Sep 17 00:00:00 2001 From: Bam4d Date: Fri, 16 Dec 2022 18:28:32 +0000 Subject: [PATCH 1/4] trying to get conan to build all the dependencies --- cmake/settings/Conan.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/settings/Conan.cmake b/cmake/settings/Conan.cmake index cb771ced1..22db882e1 100644 --- a/cmake/settings/Conan.cmake +++ b/cmake/settings/Conan.cmake @@ -22,6 +22,6 @@ macro(run_conan) NO_OUTPUT_DIRS CMAKE_TARGETS # individual targets to link to KEEP_RPATHS - BUILD missing + BUILD all ) endmacro() From da7bdf6d3fa282451006eaa03165dac627eadae9 Mon Sep 17 00:00:00 2001 From: Bam4d Date: Fri, 16 Dec 2022 19:00:09 +0000 Subject: [PATCH 2/4] doing some formatting and setting a flag for rebuilding everything if running with manylinux to get rid of horrible glibc errors --- CMakeLists.txt | 217 ++++++++++--------- cmake/settings/Cache.cmake | 11 +- cmake/settings/CompilerWarnings.cmake | 136 ++++++------ cmake/settings/Conan.cmake | 52 +++-- cmake/settings/Sanitizers.cmake | 10 +- cmake/settings/StandardProjectSettings.cmake | 10 +- cmake/settings/StaticAnalyzers.cmake | 5 +- cmake/settings/Utilities.cmake | 199 ++++++++--------- cmake/targets/griddly.cmake | 62 +++--- cmake/targets/python_griddly.cmake | 12 +- cmake/targets/test.cmake | 32 +-- cmake/targets/wasm.cmake | 44 ++-- python/manylinux/build-wheels.sh | 2 +- 13 files changed, 418 insertions(+), 374 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 81e29f758..e75fc8be8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,26 +12,37 @@ set(PROJ_CXX_STANDARD C++17) # Require (at least) it set(CMAKE_CXX_STANDARD_REQUIRED ON) + # Don't use e.g. GNU extension (like -std=gnu++11) for portability set(CMAKE_CXX_EXTENSIONS OFF) + # Relevant cmake files are in this folder set(CMAKE_CONFIG_FOLDER ${CMAKE_SOURCE_DIR}/cmake) + # the main library name set(GRIDDLY_LIB_NAME Griddly) + # the griddly test target name set(GRIDDLY_TEST_BIN_NAME ${GRIDDLY_LIB_NAME}_Test) + # project main directory for all c++ related files set(GRIDDLY_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src) + # project main directory for all c++ related files set(GRIDDLY_PYBINDING_DIR ${CMAKE_CURRENT_SOURCE_DIR}/bindings) + # project test directory set(GRIDDLY_TEST_DIR ${CMAKE_CURRENT_SOURCE_DIR}/tests) + # main test sources folder set(GRIDDLY_TEST_SRC_DIR ${GRIDDLY_TEST_DIR}/src) + # project resources folder (e.g. map files, shaders, configs etc.) set(GRIDDLY_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/resources) + # the dependency folder specifying all required libs for conan set(GRIDDLY_DEPS_DIR deps) + # The dependencies to load by Conan are in this file set(CONANFILE conanfile.txt) @@ -52,54 +63,53 @@ option(ENABLE_PYTHON_BINDINGS "Enable to build the bindings to other languages." option(ENABLE_TESTING "Enable Test Builds" ON) option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" OFF) - set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIR}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIR}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${BIN_OUTPUT_DIR}) - # Link this 'library' to set the c++ standard / compile-time options requested add_library(project_options INTERFACE) + # Link this 'library' to use the warnings specified in CompilerWarnings.cmake add_library(project_warnings INTERFACE) message(STATUS ${CMAKE_SYSTEM_NAME}) -if (${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten") - set(WASM ON) - message(STATUS "Compiling for webassembly using emscripten") - target_compile_definitions(project_options INTERFACE "-DWASM") - target_compile_options(project_options INTERFACE "-fexceptions") -else () - set(WASM OFF) -endif () -if (MSVC) - message("Compiling with MSVC") +if(${CMAKE_SYSTEM_NAME} STREQUAL "Emscripten") + set(WASM ON) + message(STATUS "Compiling for webassembly using emscripten") + target_compile_definitions(project_options INTERFACE "-DWASM") + target_compile_options(project_options INTERFACE "-fexceptions") +else() + set(WASM OFF) +endif() - target_compile_options(project_options INTERFACE "/bigobj") - set_target_properties(project_options PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) +if(MSVC) + message("Compiling with MSVC") -endif () + target_compile_options(project_options INTERFACE "/bigobj") + set_target_properties(project_options PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) +endif() target_compile_features(project_options INTERFACE ${PROJ_CXX_STD_FEATURE}) -if (ENABLE_PCH) - target_precompile_headers(project_options - INTERFACE - - - - - - - - ) -endif () +if(ENABLE_PCH) + target_precompile_headers(project_options + INTERFACE + + + + + + + + ) +endif() # import utility methods for cmake include(${CMAKE_CONFIG_FOLDER}/settings/Utilities.cmake) -#enable clang-format and clang-tidy project wide +# enable clang-format and clang-tidy project wide include(${CMAKE_CONFIG_FOLDER}/settings/Clang-cxx-dev-tools.cmake) # enable cache system @@ -123,6 +133,7 @@ include(${PROJECT_BINARY_DIR}/conan_paths.cmake) # find the dependencies from conan set(PYBIND11_FINDPYTHON FALSE) + # set(Python_ROOT_DIR /opt/python/$ENV{PYBIN}) find_package(Python COMPONENTS Interpreter Development.Module REQUIRED) message(STATUS "PYTHON INFO::") @@ -149,88 +160,94 @@ message(STATUS "Python_LIBRARIES = ${Python_LIBRARIES}") message(STATUS "Python_LIBRARY_DIRS = ${Python_LIBRARY_DIRS}") message(STATUS "Python_RUNTIME_LIBRARY_DIRS = ${Python_RUNTIME_LIBRARY_DIRS}") message(STATUS "Python_VERSION = ${Python_VERSION}") + # pybind11 find_package(pybind11 REQUIRED) -#glm + +# glm find_package(glm REQUIRED) + # Yaml-Cpp find_package(yaml-cpp REQUIRED) + # stb find_package(stb REQUIRED) + # Vulkan find_package(volk REQUIRED) + # GTest -if (ENABLE_TESTING) - find_package(GTest REQUIRED) -endif () +if(ENABLE_TESTING) + find_package(GTest REQUIRED) +endif() include(${CMAKE_CONFIG_FOLDER}/targets/griddly.cmake) -if (WASM) - include(${CMAKE_CONFIG_FOLDER}/targets/wasm.cmake) -else () - # Compile shaders and copy them into resources directory in build output - if (NOT WASM) - message(STATUS "Compiling shaders...") - - set(ENV{GLSLC_BIN} ${CONAN_BIN_DIRS_SHADERC}/glslc) - - if (MSVC) - execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/compile_shaders.bat RESULT_VARIABLE rv) - else () - execute_process(COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/compile_shaders.sh RESULT_VARIABLE rv) - endif () - endif () - - if (ENABLE_PYTHON_BINDINGS) - message("Configuring Python Bindings.") - include(${CMAKE_CONFIG_FOLDER}/targets/python_griddly.cmake) - endif () - - if (ENABLE_TESTING) - message("Configuring Tests.") - set_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1) # prevent CTest from flooding the target space with CI/CD targets - include(CTest) - enable_testing() - include(${CMAKE_CONFIG_FOLDER}/targets/test.cmake) - endif () - - include(CMakePackageConfigHelpers) - - # Want the python lib to be output in the same directory as the other dll/so - if (MSVC) - foreach (OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) - string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) - set_target_properties(${PYTHON_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${BIN_OUTPUT_DIR}) - endforeach (OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES) - endif () - - write_basic_package_version_file( - "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}ConfigVersion.cmake" - VERSION ${PROJECT_VERSION} - COMPATIBILITY AnyNewerVersion - ) - install(TARGETS project_options EXPORT ${PROJECT_NAME_LOWERCASE}Options) - install(TARGETS ${GRIDDLY_LIB_NAME}_interface ${GRIDDLY_LIB_NAME}_shared ${GRIDDLY_LIB_NAME}_static - EXPORT ${PROJECT_NAME_LOWERCASE}Targets - LIBRARY DESTINATION lib COMPONENT Runtime - ARCHIVE DESTINATION lib COMPONENT Development - RUNTIME DESTINATION bin COMPONENT Runtime - PUBLIC_HEADER DESTINATION include COMPONENT Development - BUNDLE DESTINATION bin COMPONENT Runtime - ) - - include(CMakePackageConfigHelpers) - configure_package_config_file( - "${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME_LOWERCASE}Config.cmake.in" - "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}Config.cmake" - INSTALL_DESTINATION lib/cmake/${PROJECT_NAME_LOWERCASE} - ) - install(EXPORT ${PROJECT_NAME_LOWERCASE}Options DESTINATION lib/cmake/${PROJECT_NAME_LOWERCASE}) - install(EXPORT ${PROJECT_NAME_LOWERCASE}Targets DESTINATION lib/cmake/${PROJECT_NAME_LOWERCASE}) - install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}ConfigVersion.cmake" - "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}Config.cmake" - DESTINATION lib/cmake/${PROJECT_NAME_LOWERCASE}) - install(FILES ${GRIDDLY_HEADERS} DESTINATION include) - install(DIRECTORY ${GRIDDLY_RESOURCE_DIR} DESTINATION resources) -endif () +if(WASM) + include(${CMAKE_CONFIG_FOLDER}/targets/wasm.cmake) +else() + # Compile shaders and copy them into resources directory in build output + if(NOT WASM) + message(STATUS "Compiling shaders...") + + set(ENV{GLSLC_BIN} ${CONAN_BIN_DIRS_SHADERC}/glslc) + + if(MSVC) + execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/compile_shaders.bat RESULT_VARIABLE rv) + else() + execute_process(COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/compile_shaders.sh RESULT_VARIABLE rv) + endif() + endif() + + if(ENABLE_PYTHON_BINDINGS) + message("Configuring Python Bindings.") + include(${CMAKE_CONFIG_FOLDER}/targets/python_griddly.cmake) + endif() + + if(ENABLE_TESTING) + message("Configuring Tests.") + set_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1) # prevent CTest from flooding the target space with CI/CD targets + include(CTest) + enable_testing() + include(${CMAKE_CONFIG_FOLDER}/targets/test.cmake) + endif() + + include(CMakePackageConfigHelpers) + + # Want the python lib to be output in the same directory as the other dll/so + if(MSVC) + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) + string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) + set_target_properties(${PYTHON_MODULE} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${BIN_OUTPUT_DIR}) + endforeach(OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES) + endif() + + write_basic_package_version_file( + "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}ConfigVersion.cmake" + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion + ) + install(TARGETS project_options EXPORT ${PROJECT_NAME_LOWERCASE}Options) + install(TARGETS ${GRIDDLY_LIB_NAME}_interface ${GRIDDLY_LIB_NAME}_shared ${GRIDDLY_LIB_NAME}_static + EXPORT ${PROJECT_NAME_LOWERCASE}Targets + LIBRARY DESTINATION lib COMPONENT Runtime + ARCHIVE DESTINATION lib COMPONENT Development + RUNTIME DESTINATION bin COMPONENT Runtime + PUBLIC_HEADER DESTINATION include COMPONENT Development + BUNDLE DESTINATION bin COMPONENT Runtime + ) + + include(CMakePackageConfigHelpers) + configure_package_config_file( + "${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME_LOWERCASE}Config.cmake.in" + "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}Config.cmake" + INSTALL_DESTINATION lib/cmake/${PROJECT_NAME_LOWERCASE} + ) + install(EXPORT ${PROJECT_NAME_LOWERCASE}Options DESTINATION lib/cmake/${PROJECT_NAME_LOWERCASE}) + install(EXPORT ${PROJECT_NAME_LOWERCASE}Targets DESTINATION lib/cmake/${PROJECT_NAME_LOWERCASE}) + install(FILES "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}ConfigVersion.cmake" + "${PROJECT_BINARY_DIR}/${PROJECT_NAME_LOWERCASE}Config.cmake" + DESTINATION lib/cmake/${PROJECT_NAME_LOWERCASE}) + install(FILES ${GRIDDLY_HEADERS} DESTINATION include) + install(DIRECTORY ${GRIDDLY_RESOURCE_DIR} DESTINATION resources) +endif() diff --git a/cmake/settings/Cache.cmake b/cmake/settings/Cache.cmake index 2b9ea661f..140073c45 100644 --- a/cmake/settings/Cache.cmake +++ b/cmake/settings/Cache.cmake @@ -1,5 +1,5 @@ if(NOT ENABLE_CACHE) - return() + return() endif() set(CACHE_OPTION "ccache" CACHE STRING "Compiler cache to be used") @@ -8,13 +8,14 @@ set_property(CACHE CACHE_OPTION PROPERTY STRINGS ${CACHE_OPTION_VALUES}) list(FIND CACHE_OPTION_VALUES ${CACHE_OPTION} CACHE_OPTION_INDEX) if(${CACHE_OPTION_INDEX} EQUAL -1) - message(STATUS "Using custom compiler cache system: '${CACHE_OPTION}', explicitly supported entries are ${CACHE_OPTION_VALUES}") + message(STATUS "Using custom compiler cache system: '${CACHE_OPTION}', explicitly supported entries are ${CACHE_OPTION_VALUES}") endif() find_program(CACHE_BINARY ${CACHE_OPTION}) + if(CACHE_BINARY) - message(STATUS "${CACHE_OPTION} found and enabled") - set(CMAKE_CXX_COMPILER_LAUNCHER ${CACHE_BINARY}) + message(STATUS "${CACHE_OPTION} found and enabled") + set(CMAKE_CXX_COMPILER_LAUNCHER ${CACHE_BINARY}) else() - message(WARNING "${CACHE_OPTION} is enabled but was not found. Not using it") + message(WARNING "${CACHE_OPTION} is enabled but was not found. Not using it") endif() \ No newline at end of file diff --git a/cmake/settings/CompilerWarnings.cmake b/cmake/settings/CompilerWarnings.cmake index e638dbbda..51b9377a8 100644 --- a/cmake/settings/CompilerWarnings.cmake +++ b/cmake/settings/CompilerWarnings.cmake @@ -1,75 +1,90 @@ function(set_project_warnings project_name) - set(MSVC_WARNINGS - /W4 # Baseline reasonable warnings - /w14242 # 'identifier': conversion from 'type1' to 'type1', possible loss - # of data - /w14254 # 'operator': conversion from 'type1:field_bits' to - # 'type2:field_bits', possible loss of data - /w14263 # 'function': member function does not override any base class - # virtual member function - /w14265 # 'classname': class has virtual functions, but destructor is not - # virtual instances of this class may not be destructed correctly - /w14287 # 'operator': unsigned/negative constant mismatch - /we4289 # nonstandard extension used: 'variable': loop control variable - # declared in the for-loop is used outside the for-loop scope - /w14296 # 'operator': expression is always 'boolean_value' - /w14311 # 'variable': pointer truncation from 'type1' to 'type2' - /w14545 # expression before comma evaluates to a function which is missing - # an argument list - /w14546 # function call before comma missing argument list - /w14547 # 'operator': operator before comma has no effect; expected - # operator with side-effect - /w14549 # 'operator': operator before comma has no effect; did you intend - # 'operator'? - /w14555 # expression has no effect; expected expression with side- effect - /w14619 # pragma warning: there is no warning number 'number' - /w14640 # Enable warning on thread un-safe static member initialization - /w14826 # Conversion from 'type1' to 'type_2' is sign-extended. This may - # cause unexpected runtime behavior. - /w14905 # wide string literal cast to 'LPSTR' - /w14906 # string literal cast to 'LPWSTR' - /w14928 # illegal copy-initialization; more than one user-defined - # conversion has been implicitly applied - /permissive- # standards conformance mode for MSVC compiler. + /W4 # Baseline reasonable warnings + /w14242 # 'identifier': conversion from 'type1' to 'type1', possible loss + + # of data + /w14254 # 'operator': conversion from 'type1:field_bits' to + + # 'type2:field_bits', possible loss of data + /w14263 # 'function': member function does not override any base class + + # virtual member function + /w14265 # 'classname': class has virtual functions, but destructor is not + + # virtual instances of this class may not be destructed correctly + /w14287 # 'operator': unsigned/negative constant mismatch + /we4289 # nonstandard extension used: 'variable': loop control variable + + # declared in the for-loop is used outside the for-loop scope + /w14296 # 'operator': expression is always 'boolean_value' + /w14311 # 'variable': pointer truncation from 'type1' to 'type2' + /w14545 # expression before comma evaluates to a function which is missing + + # an argument list + /w14546 # function call before comma missing argument list + /w14547 # 'operator': operator before comma has no effect; expected + + # operator with side-effect + /w14549 # 'operator': operator before comma has no effect; did you intend + + # 'operator'? + /w14555 # expression has no effect; expected expression with side- effect + /w14619 # pragma warning: there is no warning number 'number' + /w14640 # Enable warning on thread un-safe static member initialization + /w14826 # Conversion from 'type1' to 'type_2' is sign-extended. This may + + # cause unexpected runtime behavior. + /w14905 # wide string literal cast to 'LPSTR' + /w14906 # string literal cast to 'LPWSTR' + /w14928 # illegal copy-initialization; more than one user-defined + + # conversion has been implicitly applied + /permissive- # standards conformance mode for MSVC compiler. ) set(CLANG_WARNINGS - -Wall - -Wextra # reasonable and standard - -Wshadow # warn the user if a variable declaration shadows one from a - # parent context - -Wnon-virtual-dtor # warn the user if a class with virtual functions has a - # non-virtual destructor. This helps catch hard to - # track down memory errors - -Wold-style-cast # warn for c-style casts - -Wcast-align # warn for potential performance problem casts - -Wunused # warn on anything being unused - -Woverloaded-virtual # warn if you overload (not override) a virtual - # function - -Wpedantic # warn if non-standard C++ is used - -Wconversion # warn on type conversions that may lose data - -Wsign-conversion # warn on sign conversions - -Wnull-dereference # warn if a null dereference is detected - -Wdouble-promotion # warn if float is implicit promoted to double - -Wformat=2 # warn on security issues around functions that format output - # (ie printf) + -Wall + -Wextra # reasonable and standard + -Wshadow # warn the user if a variable declaration shadows one from a + + # parent context + -Wnon-virtual-dtor # warn the user if a class with virtual functions has a + + # non-virtual destructor. This helps catch hard to + # track down memory errors + -Wold-style-cast # warn for c-style casts + -Wcast-align # warn for potential performance problem casts + -Wunused # warn on anything being unused + -Woverloaded-virtual # warn if you overload (not override) a virtual + + # function + -Wpedantic # warn if non-standard C++ is used + -Wconversion # warn on type conversions that may lose data + -Wsign-conversion # warn on sign conversions + -Wnull-dereference # warn if a null dereference is detected + -Wdouble-promotion # warn if float is implicit promoted to double + -Wformat=2 # warn on security issues around functions that format output + + # (ie printf) ) - if (WARNINGS_AS_ERRORS) + if(WARNINGS_AS_ERRORS) set(CLANG_WARNINGS ${CLANG_WARNINGS} -Werror) set(MSVC_WARNINGS ${MSVC_WARNINGS} /WX) endif() set(GCC_WARNINGS - ${CLANG_WARNINGS} - -Wmisleading-indentation # warn if indentation implies blocks where blocks - # do not exist - -Wduplicated-cond # warn if if / else chain has duplicated conditions - -Wduplicated-branches # warn if if / else branches have duplicated code - -Wlogical-op # warn about logical operations being used where bitwise were - # probably wanted - -Wuseless-cast # warn if you perform a cast to the same type + ${CLANG_WARNINGS} + -Wmisleading-indentation # warn if indentation implies blocks where blocks + + # do not exist + -Wduplicated-cond # warn if if / else chain has duplicated conditions + -Wduplicated-branches # warn if if / else branches have duplicated code + -Wlogical-op # warn about logical operations being used where bitwise were + + # probably wanted + -Wuseless-cast # warn if you perform a cast to the same type ) if(MSVC) @@ -83,5 +98,4 @@ function(set_project_warnings project_name) endif() target_compile_options(${project_name} INTERFACE ${PROJECT_WARNINGS}) - endfunction() \ No newline at end of file diff --git a/cmake/settings/Conan.cmake b/cmake/settings/Conan.cmake index 22db882e1..a3908342c 100644 --- a/cmake/settings/Conan.cmake +++ b/cmake/settings/Conan.cmake @@ -1,27 +1,35 @@ macro(run_conan) - # Download automatically - if (NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake") - message( - STATUS - "Downloading conan.cmake from https://github.com/conan-io/cmake-conan") - file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/release/0.17/conan.cmake" - "${CMAKE_BINARY_DIR}/conan.cmake") - endif () + # Download automatically + if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake") + message( + STATUS + "Downloading conan.cmake from https://github.com/conan-io/cmake-conan") + file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/release/0.18/conan.cmake" + "${CMAKE_BINARY_DIR}/conan.cmake") + endif() - include(${CMAKE_BINARY_DIR}/conan.cmake) + include(${CMAKE_BINARY_DIR}/conan.cmake) - find_program(CONAN conan PATHS ${CONAN_PATH}) + find_program(CONAN conan PATHS ${CONAN_PATH}) - conan_cmake_run( - CONANFILE ${GRIDDLY_DEPS_DIR}/${CONANFILE} - CONAN_COMMAND ${CONAN} - ${CONAN_EXTRA_REQUIRES} - OPTIONS - ${CONAN_EXTRA_OPTIONS} - BASIC_SETUP - NO_OUTPUT_DIRS - CMAKE_TARGETS # individual targets to link to - KEEP_RPATHS - BUILD all - ) + set(CONAN_DISABLE_CHECK_COMPILER on) + + if(MANYLINUX) + set(BUILD_OPTION all) + else() + set(BUILD_OPTION missing) + endif() + + conan_cmake_run( + CONANFILE ${GRIDDLY_DEPS_DIR}/${CONANFILE} + CONAN_COMMAND ${CONAN} + ${CONAN_EXTRA_REQUIRES} + OPTIONS + ${CONAN_EXTRA_OPTIONS} + BASIC_SETUP + NO_OUTPUT_DIRS + CMAKE_TARGETS # individual targets to link to + KEEP_RPATHS + BUILD ${BUILD_OPTION} + ) endmacro() diff --git a/cmake/settings/Sanitizers.cmake b/cmake/settings/Sanitizers.cmake index a18d82ae2..393c062c0 100644 --- a/cmake/settings/Sanitizers.cmake +++ b/cmake/settings/Sanitizers.cmake @@ -1,8 +1,6 @@ function(enable_sanitizers project_name) - if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES - ".*Clang") - + ".*Clang") if(ENABLE_COVERAGE) target_compile_options(${project_name} INTERFACE --coverage -O0 -g) target_link_libraries(${project_name} INTERFACE --coverage) @@ -31,16 +29,14 @@ function(enable_sanitizers project_name) endif() list(JOIN SANITIZERS "," LIST_OF_SANITIZERS) - endif() if(LIST_OF_SANITIZERS) if(NOT "${LIST_OF_SANITIZERS}" STREQUAL "") target_compile_options(${project_name} - INTERFACE -fsanitize=${LIST_OF_SANITIZERS}) + INTERFACE -fsanitize=${LIST_OF_SANITIZERS}) target_link_libraries(${project_name} - INTERFACE -fsanitize=${LIST_OF_SANITIZERS}) + INTERFACE -fsanitize=${LIST_OF_SANITIZERS}) endif() endif() - endfunction() diff --git a/cmake/settings/StandardProjectSettings.cmake b/cmake/settings/StandardProjectSettings.cmake index 20133966e..3a7ebd863 100644 --- a/cmake/settings/StandardProjectSettings.cmake +++ b/cmake/settings/StandardProjectSettings.cmake @@ -3,11 +3,12 @@ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message( STATUS "Setting build type to 'RelWithDebInfo' as none was specified.") set(CMAKE_BUILD_TYPE - RelWithDebInfo - CACHE STRING "Choose the type of build." FORCE) + RelWithDebInfo + CACHE STRING "Choose the type of build." FORCE) + # Set the possible values of build type for cmake-gui, ccmake set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" - "MinSizeRel" "RelWithDebInfo") + "MinSizeRel" "RelWithDebInfo") endif() # Generate compile_commands.json to make it easier to work with clang based @@ -17,11 +18,10 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON) if(ENABLE_IPO) include(CheckIPOSupported) check_ipo_supported(RESULT result OUTPUT output) + if(result) set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) else() message(SEND_ERROR "IPO is not supported: ${output}") endif() endif() - - diff --git a/cmake/settings/StaticAnalyzers.cmake b/cmake/settings/StaticAnalyzers.cmake index 61151c1d7..f954fd242 100644 --- a/cmake/settings/StaticAnalyzers.cmake +++ b/cmake/settings/StaticAnalyzers.cmake @@ -4,9 +4,10 @@ option(ENABLE_INCLUDE_WHAT_YOU_USE "Enable static analysis with include-what-you if(ENABLE_CPPCHECK) find_program(CPPCHECK cppcheck) + if(CPPCHECK) set(CMAKE_CXX_CPPCHECK ${CPPCHECK} --suppress=missingInclude --enable=all - --inline-suppr --inconclusive -i ${CMAKE_SOURCE_DIR}/imgui/lib) + --inline-suppr --inconclusive -i ${CMAKE_SOURCE_DIR}/imgui/lib) else() message(SEND_ERROR "cppcheck requested but executable not found") endif() @@ -14,6 +15,7 @@ endif() if(ENABLE_CLANG_TIDY) find_program(CLANGTIDY clang-tidy) + if(CLANGTIDY) set(CMAKE_CXX_CLANG_TIDY ${CLANGTIDY} -extra-arg=-Wno-unknown-warning-option) else() @@ -23,6 +25,7 @@ endif() if(ENABLE_INCLUDE_WHAT_YOU_USE) find_program(INCLUDE_WHAT_YOU_USE include-what-you-use) + if(INCLUDE_WHAT_YOU_USE) set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE ${INCLUDE_WHAT_YOU_USE}) else() diff --git a/cmake/settings/Utilities.cmake b/cmake/settings/Utilities.cmake index 712e8631f..af87c402d 100644 --- a/cmake/settings/Utilities.cmake +++ b/cmake/settings/Utilities.cmake @@ -1,117 +1,122 @@ function(register_nor_target target_name) - if (NOT ARGN) - message(FATAL_ERROR "You must pass at least one source file to define the target '${target_name}'") - endif () - set(${target_name}_sources_list ${ARGN}) - # this set needs to be set in the parent scope as well in order to remain present - set(${target_name}_sources_list ${ARGN} PARENT_SCOPE) - list(APPEND REGISTERED_TARGET_NAMES_LIST ${target_name}) - list(APPEND REGISTERED_TEST_SOURCES_LIST ${target_name}_sources_list) - # update the lists in the parent scope, since function holds copies of these variables for its own scope - set(REGISTERED_TARGET_NAMES_LIST ${REGISTERED_TARGET_NAMES_LIST} PARENT_SCOPE) - set(REGISTERED_TEST_SOURCES_LIST ${REGISTERED_TEST_SOURCES_LIST} PARENT_SCOPE) - - message(STATUS "Target: ${target_name}") - message(STATUS "Target Source Contents: ${${target_name}_sources_list}") - - list(TRANSFORM ${target_name}_sources_list PREPEND "${PROJECT_TEST_DIR}/libnor/") - - message(STATUS "Target Source Contents (pathed): ${${target_name}_sources_list}") - - add_executable( - ${target_name} - ${PROJECT_TEST_DIR}/main_tests.cpp - ${${target_name}_sources_list}) # a list of source files to append - - target_link_libraries( - ${target_name} - PRIVATE - shared_test_libs - ) - - add_test( - NAME Test_${target_name} - COMMAND ${target_name} - ) -endfunction() + if(NOT ARGN) + message(FATAL_ERROR "You must pass at least one source file to define the target '${target_name}'") + endif() + set(${target_name}_sources_list ${ARGN}) -function(register_game_target target_name lib_name game_folder_name) - if (NOT ARGN) - message(FATAL_ERROR "You must pass at least one source file to define the target '${target_name}'") - endif () - # append the prefix 'game' and suffix 'test' to each target name - set(target_name "game_${target_name}_test") - set(${target_name}_sources_list ${ARGN}) - # this set needs to be set in the parent scope as well in order to remain present - set(${target_name}_sources_list ${ARGN} PARENT_SCOPE) - - list(APPEND REGISTERED_GAME_TARGET_NAMES_LIST ${target_name}) - list(APPEND REGISTERED_GAME_TEST_SOURCES_LIST ${target_name}_sources_list) - # update the lists in the parent scope, since function holds copies of these variables for its own scope - set(REGISTERED_TARGET_NAMES_LIST ${REGISTERED_TARGET_NAMES_LIST} PARENT_SCOPE) - set(REGISTERED_TEST_SOURCES_LIST ${REGISTERED_TEST_SOURCES_LIST} PARENT_SCOPE) - - message(STATUS "Target: ${target_name}") - message(STATUS "Target Source Contents: ${${target_name}_sources_list}") - list(TRANSFORM ${target_name}_sources_list PREPEND "${PROJECT_TEST_DIR}/games/${game_folder_name}/") - message(STATUS "Target Source Contents (pathed): ${${target_name}_sources_list}") - - add_executable( - ${target_name} - ${PROJECT_TEST_DIR}/main_tests.cpp - ${${target_name}_sources_list}) # a list of source files to append - - set_target_properties(${target_name} PROPERTIES - EXCLUDE_FROM_ALL True # don't build tests when ALL is asked to be built. Only on demand. - ) - - target_link_libraries( - ${target_name} - PRIVATE - shared_test_libs - ${lib_name} - ) - - add_test( - NAME Test_${target_name} - COMMAND ${target_name} - ) + # this set needs to be set in the parent scope as well in order to remain present + set(${target_name}_sources_list ${ARGN} PARENT_SCOPE) + list(APPEND REGISTERED_TARGET_NAMES_LIST ${target_name}) + list(APPEND REGISTERED_TEST_SOURCES_LIST ${target_name}_sources_list) + + # update the lists in the parent scope, since function holds copies of these variables for its own scope + set(REGISTERED_TARGET_NAMES_LIST ${REGISTERED_TARGET_NAMES_LIST} PARENT_SCOPE) + set(REGISTERED_TEST_SOURCES_LIST ${REGISTERED_TEST_SOURCES_LIST} PARENT_SCOPE) + + message(STATUS "Target: ${target_name}") + message(STATUS "Target Source Contents: ${${target_name}_sources_list}") + + list(TRANSFORM ${target_name}_sources_list PREPEND "${PROJECT_TEST_DIR}/libnor/") + + message(STATUS "Target Source Contents (pathed): ${${target_name}_sources_list}") + + add_executable( + ${target_name} + ${PROJECT_TEST_DIR}/main_tests.cpp + ${${target_name}_sources_list}) # a list of source files to append + + target_link_libraries( + ${target_name} + PRIVATE + shared_test_libs + ) + + add_test( + NAME Test_${target_name} + COMMAND ${target_name} + ) endfunction() +function(register_game_target target_name lib_name game_folder_name) + if(NOT ARGN) + message(FATAL_ERROR "You must pass at least one source file to define the target '${target_name}'") + endif() + + # append the prefix 'game' and suffix 'test' to each target name + set(target_name "game_${target_name}_test") + set(${target_name}_sources_list ${ARGN}) + + # this set needs to be set in the parent scope as well in order to remain present + set(${target_name}_sources_list ${ARGN} PARENT_SCOPE) + + list(APPEND REGISTERED_GAME_TARGET_NAMES_LIST ${target_name}) + list(APPEND REGISTERED_GAME_TEST_SOURCES_LIST ${target_name}_sources_list) + + # update the lists in the parent scope, since function holds copies of these variables for its own scope + set(REGISTERED_TARGET_NAMES_LIST ${REGISTERED_TARGET_NAMES_LIST} PARENT_SCOPE) + set(REGISTERED_TEST_SOURCES_LIST ${REGISTERED_TEST_SOURCES_LIST} PARENT_SCOPE) + + message(STATUS "Target: ${target_name}") + message(STATUS "Target Source Contents: ${${target_name}_sources_list}") + list(TRANSFORM ${target_name}_sources_list PREPEND "${PROJECT_TEST_DIR}/games/${game_folder_name}/") + message(STATUS "Target Source Contents (pathed): ${${target_name}_sources_list}") + + add_executable( + ${target_name} + ${PROJECT_TEST_DIR}/main_tests.cpp + ${${target_name}_sources_list}) # a list of source files to append + + set_target_properties(${target_name} PROPERTIES + EXCLUDE_FROM_ALL True # don't build tests when ALL is asked to be built. Only on demand. + ) + + target_link_libraries( + ${target_name} + PRIVATE + shared_test_libs + ${lib_name} + ) + + add_test( + NAME Test_${target_name} + COMMAND ${target_name} + ) +endfunction() # Get all propreties that cmake supports if(NOT CMAKE_PROPERTY_LIST) - execute_process(COMMAND cmake --help-property-list OUTPUT_VARIABLE CMAKE_PROPERTY_LIST) + execute_process(COMMAND cmake --help-property-list OUTPUT_VARIABLE CMAKE_PROPERTY_LIST) - # Convert command output into a CMake list - string(REGEX REPLACE ";" "\\\\;" CMAKE_PROPERTY_LIST "${CMAKE_PROPERTY_LIST}") - string(REGEX REPLACE "\n" ";" CMAKE_PROPERTY_LIST "${CMAKE_PROPERTY_LIST}") + # Convert command output into a CMake list + string(REGEX REPLACE ";" "\\\\;" CMAKE_PROPERTY_LIST "${CMAKE_PROPERTY_LIST}") + string(REGEX REPLACE "\n" ";" CMAKE_PROPERTY_LIST "${CMAKE_PROPERTY_LIST}") endif() function(print_properties) - message("CMAKE_PROPERTY_LIST = ${CMAKE_PROPERTY_LIST}") + message("CMAKE_PROPERTY_LIST = ${CMAKE_PROPERTY_LIST}") endfunction() function(print_target_properties target) - if(NOT TARGET ${target}) - message(STATUS "There is no target named '${target}'") - return() - endif() + if(NOT TARGET ${target}) + message(STATUS "There is no target named '${target}'") + return() + endif() - foreach(property ${CMAKE_PROPERTY_LIST}) - string(REPLACE "" "${CMAKE_BUILD_TYPE}" property ${property}) + foreach(property ${CMAKE_PROPERTY_LIST}) + string(REPLACE "" "${CMAKE_BUILD_TYPE}" property ${property}) - # Fix https://stackoverflow.com/questions/32197663/how-can-i-remove-the-the-location-property-may-not-be-read-from-target-error-i - if(property STREQUAL "LOCATION" OR property MATCHES "^LOCATION_" OR property MATCHES "_LOCATION$") - continue() - endif() + # Fix https://stackoverflow.com/questions/32197663/how-can-i-remove-the-the-location-property-may-not-be-read-from-target-error-i + if(property STREQUAL "LOCATION" OR property MATCHES "^LOCATION_" OR property MATCHES "_LOCATION$") + continue() + endif() + + get_property(was_set TARGET ${target} PROPERTY ${property} SET) - get_property(was_set TARGET ${target} PROPERTY ${property} SET) - if(was_set) - get_target_property(value ${target} ${property}) - message("${target} ${property} = ${value}") - endif() - endforeach() + if(was_set) + get_target_property(value ${target} ${property}) + message("${target} ${property} = ${value}") + endif() + endforeach() endfunction() \ No newline at end of file diff --git a/cmake/targets/griddly.cmake b/cmake/targets/griddly.cmake index 5fe7bc5bf..81f7a65fa 100644 --- a/cmake/targets/griddly.cmake +++ b/cmake/targets/griddly.cmake @@ -7,46 +7,46 @@ set(GRIDDLY_INCLUDE_DIRS ${GRIDDLY_SRC_DIR}) add_library(${GRIDDLY_LIB_NAME}_interface INTERFACE) target_include_directories( - ${GRIDDLY_LIB_NAME}_interface - INTERFACE - $ - $ + ${GRIDDLY_LIB_NAME}_interface + INTERFACE + $ + $ ) target_link_libraries( - ${GRIDDLY_LIB_NAME}_interface - INTERFACE - project_options - CONAN_PKG::yaml-cpp - CONAN_PKG::glm - CONAN_PKG::spdlog - CONAN_PKG::stb + ${GRIDDLY_LIB_NAME}_interface + INTERFACE + project_options + CONAN_PKG::yaml-cpp + CONAN_PKG::glm + CONAN_PKG::spdlog + CONAN_PKG::stb ) -if (NOT WASM) - target_link_libraries( - ${GRIDDLY_LIB_NAME}_interface - INTERFACE - volk::volk - ) -endif () +if(NOT WASM) + target_link_libraries( + ${GRIDDLY_LIB_NAME}_interface + INTERFACE + volk::volk + ) +endif() add_library(${GRIDDLY_LIB_NAME}_static STATIC ${GRIDDLY_SOURCES}) add_library(${GRIDDLY_LIB_NAME}_shared SHARED ${GRIDDLY_SOURCES}) set_target_properties(${GRIDDLY_LIB_NAME}_static - PROPERTIES - POSITION_INDEPENDENT_CODE ON - ) + PROPERTIES + POSITION_INDEPENDENT_CODE ON +) target_link_libraries(${GRIDDLY_LIB_NAME}_static - PRIVATE - $ - PUBLIC - ${GRIDDLY_LIB_NAME}_interface - ) + PRIVATE + $ + PUBLIC + ${GRIDDLY_LIB_NAME}_interface +) target_link_libraries(${GRIDDLY_LIB_NAME}_shared - PRIVATE - $ - PUBLIC - ${GRIDDLY_LIB_NAME}_interface - ) \ No newline at end of file + PRIVATE + $ + PUBLIC + ${GRIDDLY_LIB_NAME}_interface +) \ No newline at end of file diff --git a/cmake/targets/python_griddly.cmake b/cmake/targets/python_griddly.cmake index 6e46a6293..7d4813f09 100644 --- a/cmake/targets/python_griddly.cmake +++ b/cmake/targets/python_griddly.cmake @@ -6,10 +6,10 @@ file(GLOB_RECURSE GRIDDLY_PYBINDING_SOURCES ${GRIDDLY_PYBINDING_DIR}/**.cpp) pybind11_add_module(${PYTHON_MODULE} ${GRIDDLY_PYBINDING_SOURCES}) set_target_properties( - ${PYTHON_MODULE} - PROPERTIES - POSITION_INDEPENDENT_CODE ON - ) + ${PYTHON_MODULE} + PROPERTIES + POSITION_INDEPENDENT_CODE ON +) target_link_libraries(${PYTHON_MODULE} PRIVATE - ${GRIDDLY_LIB_NAME}_static - ) + ${GRIDDLY_LIB_NAME}_static +) diff --git a/cmake/targets/test.cmake b/cmake/targets/test.cmake index 10638f982..690c3a1f2 100644 --- a/cmake/targets/test.cmake +++ b/cmake/targets/test.cmake @@ -3,26 +3,26 @@ file(GLOB_RECURSE TEST_SOURCES "${GRIDDLY_TEST_SRC_DIR}/*.cpp") add_executable( - ${GRIDDLY_TEST_BIN_NAME} - ${TEST_SOURCES} + ${GRIDDLY_TEST_BIN_NAME} + ${TEST_SOURCES} ) add_test( - NAME ${GRIDDLY_TEST_BIN_NAME} - COMMAND ${GRIDDLY_TEST_BIN_NAME} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} # this needs to be the griddly project dir! + NAME ${GRIDDLY_TEST_BIN_NAME} + COMMAND ${GRIDDLY_TEST_BIN_NAME} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} # this needs to be the griddly project dir! ) -target_include_directories ( - ${GRIDDLY_TEST_BIN_NAME} - PRIVATE - ${GRIDDLY_TEST_SRC_DIR} +target_include_directories( + ${GRIDDLY_TEST_BIN_NAME} + PRIVATE + ${GRIDDLY_TEST_SRC_DIR} ) target_link_libraries( - ${GRIDDLY_TEST_BIN_NAME} - PRIVATE - project_warnings - ${GRIDDLY_LIB_NAME}_static - CONAN_PKG::gtest - CONAN_PKG::stb - ) + ${GRIDDLY_TEST_BIN_NAME} + PRIVATE + project_warnings + ${GRIDDLY_LIB_NAME}_static + CONAN_PKG::gtest + CONAN_PKG::stb +) diff --git a/cmake/targets/wasm.cmake b/cmake/targets/wasm.cmake index 1159fa182..f81bc76f4 100644 --- a/cmake/targets/wasm.cmake +++ b/cmake/targets/wasm.cmake @@ -1,37 +1,37 @@ list( - REMOVE_ITEM - GRIDDLY_SOURCES - ${CMAKE_CURRENT_SOURCE_DIR}/src/Griddly/Core/Observers/SpriteObserver.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/Griddly/Core/Observers/BlockObserver.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/Griddly/Core/Observers/IsometricSpriteObserver.cpp - ${CMAKE_CURRENT_SOURCE_DIR}/src/Griddly/Core/Observers/VulkanGridObserver.cpp + REMOVE_ITEM + GRIDDLY_SOURCES + ${CMAKE_CURRENT_SOURCE_DIR}/src/Griddly/Core/Observers/SpriteObserver.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/Griddly/Core/Observers/BlockObserver.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/Griddly/Core/Observers/IsometricSpriteObserver.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/src/Griddly/Core/Observers/VulkanGridObserver.cpp ) list( - FILTER - GRIDDLY_SOURCES - EXCLUDE - REGEX - "src/Griddly/Core/Observers/Vulkan/.*" + FILTER + GRIDDLY_SOURCES + EXCLUDE + REGEX + "src/Griddly/Core/Observers/Vulkan/.*" ) file(GLOB_RECURSE JIDDLY_SOURCES "js/bindings/*.cpp") add_executable(griddlyjs ${JIDDLY_SOURCES}) target_link_libraries( - griddlyjs - PRIVATE - ${GRIDDLY_LIB_NAME} - project_options - project_warnings - CONAN_PKG::yaml-cpp - CONAN_PKG::glm + griddlyjs + PRIVATE + ${GRIDDLY_LIB_NAME} + project_options + project_warnings + CONAN_PKG::yaml-cpp + CONAN_PKG::glm ) # These properties specify what kind of Emscripten build to perform and are assigned to our 'a-simple-triangle' executable target. set_target_properties( - griddlyjs - PROPERTIES - LINK_FLAGS - "-lembind -fexceptions -s ENVIRONMENT=web -s ALLOW_MEMORY_GROWTH=1 -sNO_DISABLE_EXCEPTION_THROWING -sASYNCIFY -sMODULARIZE=1" + griddlyjs + PROPERTIES + LINK_FLAGS + "-lembind -fexceptions -s ENVIRONMENT=web -s ALLOW_MEMORY_GROWTH=1 -sNO_DISABLE_EXCEPTION_THROWING -sASYNCIFY -sMODULARIZE=1" ) \ No newline at end of file diff --git a/python/manylinux/build-wheels.sh b/python/manylinux/build-wheels.sh index adffe9419..4cb3bdbbb 100755 --- a/python/manylinux/build-wheels.sh +++ b/python/manylinux/build-wheels.sh @@ -19,7 +19,7 @@ echo "Conan Build Finished" # # Cmake Build Griddly cd /opt/Griddly -/opt/python/$PYBIN/bin/cmake . -GNinja -DCMAKE_BUILD_TYPE=Release -DPython_ROOT_DIR:STRING=/opt/python/$PYBIN -DPYTHON_EXECUTABLE:FILEPATH=/opt/python/$PYBIN/bin/python -S /opt/Griddly -B /opt/Griddly/build_manylinux +/opt/python/$PYBIN/bin/cmake . -GNinja -DCMAKE_BUILD_TYPE=Release -DMANYLINUX=ON -DPython_ROOT_DIR:STRING=/opt/python/$PYBIN -DPYTHON_EXECUTABLE:FILEPATH=/opt/python/$PYBIN/bin/python -S /opt/Griddly -B /opt/Griddly/build_manylinux /opt/python/$PYBIN/bin/cmake --build /opt/Griddly/build_manylinux --target python_griddly # # # Create Wheel From f13be1bdca0388fb534ebdb3862a284abb9f1c6a Mon Sep 17 00:00:00 2001 From: Bam4d Date: Fri, 16 Dec 2022 19:22:47 +0000 Subject: [PATCH 3/4] adding manylinux builds for all linux compatibilities and adding python 3.11 --- azure-pipelines.yml | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index f04576d47..46acb6f81 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -70,22 +70,34 @@ jobs: vmImage: "ubuntu-20.04" strategy: matrix: - ManyLinux_p37: - PythonVersion: 3.7 - PyBin: cp37-cp37m - PLAT: manylinux_2_28_x86_64 - ManyLinux_p38: + ManyLinux_2_28_p38: PythonVersion: 3.8 PyBin: cp38-cp38 PLAT: manylinux_2_28_x86_64 - ManyLinux_p39: + ManyLinux_2_28_p39: PythonVersion: 3.9 PyBin: cp39-cp39 PLAT: manylinux_2_28_x86_64 - ManyLinux_p310: + ManyLinux_2_28_p310: PythonVersion: 3.10 PyBin: cp310-cp310 PLAT: manylinux_2_28_x86_64 + ManyLinux_2_28_p311: + PythonVersion: 3.11 + PyBin: cp311-cp311 + PLAT: manylinux_2_28_x86_64 + ManyLinux_2014_p38: + PythonVersion: 3.8 + PyBin: cp38-cp38 + PLAT: manylinux2014_x86_64 + ManyLinux_2014_p39: + PythonVersion: 3.9 + PyBin: cp39-cp39 + PLAT: manylinux2014_x86_64 + ManyLinux_2014_p310: + PythonVersion: 3.10 + PyBin: cp310-cp310 + PLAT: manylinux2014_x86_64 steps: - task: InstallSSHKey@0 inputs: From d64acc5910d4c2e5780e41cf6d13e4532f24a1ae Mon Sep 17 00:00:00 2001 From: Bam4d Date: Fri, 16 Dec 2022 20:14:58 +0000 Subject: [PATCH 4/4] version bumping --- .github/ISSUE_TEMPLATE/bug_report.md | 2 +- CMakeLists.txt | 2 +- bindings/python.cpp | 2 +- docs/conf.py | 2 +- js/griddlyjs-app/package.json | 2 +- python/setup.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 4eb29721d..47880dc0f 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -24,7 +24,7 @@ If applicable, add screenshots to help explain your problem. **Desktop (please complete the following information):** - OS: [e.g. mac/linux/windows] - - Version [e.g. 1.6.2] + - Version [e.g. 1.6.3] **Additional context** Add any other context about the problem here. diff --git a/CMakeLists.txt b/CMakeLists.txt index e75fc8be8..d6138c22f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.18.0) set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X deployment version") -project(Griddly VERSION 1.6.2) +project(Griddly VERSION 1.6.3) string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWERCASE) diff --git a/bindings/python.cpp b/bindings/python.cpp index f5d4e0742..3f794050b 100644 --- a/bindings/python.cpp +++ b/bindings/python.cpp @@ -12,7 +12,7 @@ namespace griddly { PYBIND11_MODULE(python_griddly, m) { m.doc() = "Griddly python bindings"; - m.attr("version") = "1.6.2"; + m.attr("version") = "1.6.3"; #ifndef NDEBUG spdlog::set_level(spdlog::level::debug); diff --git a/docs/conf.py b/docs/conf.py index c3ce9bb8e..cb66ed04e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -22,7 +22,7 @@ author = 'Chris Bamford' # The full version, including alpha/beta/rc tags -release = '1.6.2' +release = '1.6.3' # -- General configuration --------------------------------------------------- diff --git a/js/griddlyjs-app/package.json b/js/griddlyjs-app/package.json index 4f09ebe1c..8bb6149b2 100644 --- a/js/griddlyjs-app/package.json +++ b/js/griddlyjs-app/package.json @@ -1,6 +1,6 @@ { "name": "griddlyjs-app", - "version": "1.6.2", + "version": "1.6.3", "private": true, "dependencies": { "@fortawesome/fontawesome-svg-core": "^6.1.1", diff --git a/python/setup.py b/python/setup.py index 3cac66739..6ee470abb 100644 --- a/python/setup.py +++ b/python/setup.py @@ -71,7 +71,7 @@ def griddly_package_data(config='Debug'): setup( name='griddly', - version="1.6.2", + version="1.6.3", author_email="chrisbam4d@gmail.com", description="Griddly Python Libraries", long_description=long_description,