From 322dd67c77ba2d332d1e27d1cbbcacdd441358cc Mon Sep 17 00:00:00 2001 From: PrimedErwin <1973609350@qq.com> Date: Wed, 14 May 2025 23:23:15 +0800 Subject: [PATCH] cmake update --- 3rd/math/CMakeLists.txt | 6 ++++-- CMakeLists.txt | 8 ++++---- cmake_build.py | 2 +- include/pocketpy/common/math.h | 2 +- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/3rd/math/CMakeLists.txt b/3rd/math/CMakeLists.txt index e16437ab..089ee1fa 100644 --- a/3rd/math/CMakeLists.txt +++ b/3rd/math/CMakeLists.txt @@ -8,11 +8,13 @@ set(CMAKE_C_STANDARD_REQUIRED ON) include_directories(${CMAKE_CURRENT_LIST_DIR}/include) AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_LIST_DIR}/src MUSL_LIBC_MATH_SRC) if(MSVC) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fp:precise /Od /Oi-") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /fp:precise /Ox /Oi-") # mute warning C4723: div by 0 because some function returns nan when a input is nan. add_compile_options( /wd4723) elseif(CMAKE_C_COMPILER_ID STREQUAL "Clang") - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffp-model=strict") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffp-model=strict -O2") +else() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") endif() add_library(${PROJECT_NAME} STATIC ${MUSL_LIBC_MATH_SRC}) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8d93aab6..3f7351d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,11 +45,11 @@ if(PK_ENABLE_OS) add_definitions(-DPK_ENABLE_OS=1) endif() -option(USE_MUSL_LIBC_MATH "" OFF) -if(USE_MUSL_LIBC_MATH) +option(PK_ENABLE_DETERMINISTIC_FLOAT "" OFF) +if(PK_ENABLE_DETERMINISTIC_FLOAT) add_subdirectory(3rd/math) include_directories(3rd/math) - add_definitions(-DUSE_MUSL_LIBC_MATH) + add_definitions(-DPK_ENABLE_DETERMINISTIC_FLOAT) endif() option(PK_BUILD_MODULE_LZ4 "" OFF) @@ -122,6 +122,6 @@ if(PK_BUILD_MODULE_LIBHV) target_link_libraries(${PROJECT_NAME} libhv_bindings) endif() -if(USE_MUSL_LIBC_MATH) +if(PK_ENABLE_DETERMINISTIC_FLOAT) target_link_libraries(${PROJECT_NAME} musl_math) endif() \ No newline at end of file diff --git a/cmake_build.py b/cmake_build.py index 48c8e820..5477525e 100644 --- a/cmake_build.py +++ b/cmake_build.py @@ -20,7 +20,7 @@ assert config in ['Debug', 'Release', 'RelWithDebInfo'] os.chdir("build") -code = os.system(f"cmake .. -DPK_ENABLE_OS=ON -DPK_BUILD_MODULE_LZ4=ON -DUSE_MUSL_LIBC_MATH=ON -DCMAKE_BUILD_TYPE={config} {extra_flags}") +code = os.system(f"cmake .. -DPK_ENABLE_OS=ON -DPK_BUILD_MODULE_LZ4=OFF -DPK_ENABLE_DETERMINISTIC_FLOAT=ON -DCMAKE_BUILD_TYPE={config} {extra_flags}") assert code == 0 code = os.system(f"cmake --build . --config {config} -j 4") assert code == 0 diff --git a/include/pocketpy/common/math.h b/include/pocketpy/common/math.h index bec49e55..8603f010 100644 --- a/include/pocketpy/common/math.h +++ b/include/pocketpy/common/math.h @@ -1,6 +1,6 @@ #pragma once -#ifndef USE_MUSL_LIBC_MATH +#ifndef PK_ENABLE_DETERMINISTIC_FLOAT #include #else #include "include/math.h"