Skip to content

Commit d893e0b

Browse files
fix(cmake): fix LOWERCASE_BUILD_TYPE definition and usage (alibaba#180)
This commit fixes several issues with CMAKE_BUILD_TYPE_LOWER variable: 1. Duplicate definitions: The variable was defined twice in the file - Line 1094 in Arrow build section - Line 1315 in TBB build section 2. Use-before-definition bug: In TBB section, line 1304 used the variable before it was defined on line 1315 3. Inconsistent naming: Renamed CMAKE_BUILD_TYPE_LOWER to LOWERCASE_BUILD_TYPE to match the naming style of UPPERCASE_BUILD_TYPE The fix consolidates the definition at the top of the file (line 33), right after UPPERCASE_BUILD_TYPE, ensuring it's available throughout the file and following a consistent naming convention. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 2b2c05f commit d893e0b

1 file changed

Lines changed: 9 additions & 11 deletions

File tree

cmake_modules/ThirdpartyToolchain.cmake

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ if(CMAKE_GENERATOR_TOOLSET)
3030
endif()
3131

3232
string(TOUPPER ${CMAKE_BUILD_TYPE} UPPERCASE_BUILD_TYPE)
33+
string(TOLOWER ${CMAKE_BUILD_TYPE} LOWERCASE_BUILD_TYPE)
3334

3435
set(EP_COMMON_TOOLCHAIN "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}"
3536
"-DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}")
@@ -1091,7 +1092,6 @@ macro(build_arrow)
10911092
file(MAKE_DIRECTORY "${ARROW_INCLUDE_DIR}")
10921093

10931094
set(ARROW_BUILD_DIR "${CMAKE_BINARY_DIR}/arrow")
1094-
string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER)
10951095
set(ARROW_STATIC_LIB
10961096
"${ARROW_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}arrow${CMAKE_STATIC_LIBRARY_SUFFIX}"
10971097
)
@@ -1164,38 +1164,38 @@ macro(build_arrow)
11641164
PROPERTIES IMPORTED_LOCATION "${ARROW_PREFIX}/lib/libarrow.a"
11651165
INTERFACE_INCLUDE_DIRECTORIES "${ARROW_INCLUDE_DIR}"
11661166
INTERFACE_LINK_DIRECTORIES
1167-
"${ARROW_BUILD_DIR}/${CMAKE_BUILD_TYPE_LOWER}")
1167+
"${ARROW_BUILD_DIR}/${LOWERCASE_BUILD_TYPE}")
11681168

11691169
add_library(arrow_dataset STATIC IMPORTED)
11701170
set_target_properties(arrow_dataset
11711171
PROPERTIES IMPORTED_LOCATION
11721172
"${ARROW_PREFIX}/lib/libarrow_dataset.a"
11731173
INTERFACE_INCLUDE_DIRECTORIES "${ARROW_INCLUDE_DIR}"
11741174
INTERFACE_LINK_DIRECTORIES
1175-
"${ARROW_BUILD_DIR}/${CMAKE_BUILD_TYPE_LOWER}")
1175+
"${ARROW_BUILD_DIR}/${LOWERCASE_BUILD_TYPE}")
11761176

11771177
add_library(arrow_acero STATIC IMPORTED)
11781178
set_target_properties(arrow_acero
11791179
PROPERTIES IMPORTED_LOCATION
11801180
"${ARROW_PREFIX}/lib/libarrow_acero.a"
11811181
INTERFACE_INCLUDE_DIRECTORIES "${ARROW_INCLUDE_DIR}"
11821182
INTERFACE_LINK_DIRECTORIES
1183-
"${ARROW_BUILD_DIR}/${CMAKE_BUILD_TYPE_LOWER}")
1183+
"${ARROW_BUILD_DIR}/${LOWERCASE_BUILD_TYPE}")
11841184

11851185
add_library(parquet STATIC IMPORTED)
11861186
set_target_properties(parquet
11871187
PROPERTIES IMPORTED_LOCATION "${ARROW_PREFIX}/lib/libparquet.a"
11881188
INTERFACE_INCLUDE_DIRECTORIES "${ARROW_INCLUDE_DIR}"
11891189
INTERFACE_LINK_DIRECTORIES
1190-
"${ARROW_BUILD_DIR}/${CMAKE_BUILD_TYPE_LOWER}")
1190+
"${ARROW_BUILD_DIR}/${LOWERCASE_BUILD_TYPE}")
11911191

11921192
add_library(arrow_bundled_dependencies STATIC IMPORTED)
11931193
set_target_properties(arrow_bundled_dependencies
11941194
PROPERTIES IMPORTED_LOCATION
11951195
"${ARROW_PREFIX}/lib/libarrow_bundled_dependencies.a"
11961196
INTERFACE_INCLUDE_DIRECTORIES "${ARROW_INCLUDE_DIR}"
11971197
INTERFACE_LINK_DIRECTORIES
1198-
"${ARROW_BUILD_DIR}/${CMAKE_BUILD_TYPE_LOWER}")
1198+
"${ARROW_BUILD_DIR}/${LOWERCASE_BUILD_TYPE}")
11991199

12001200
add_dependencies(arrow arrow_ep)
12011201
add_dependencies(parquet arrow_ep)
@@ -1238,7 +1238,7 @@ macro(build_gtest)
12381238
# Library and runtime same on non-Windows
12391239
set(_GTEST_LIBRARY_DIR "${_GTEST_RUNTIME_DIR}")
12401240

1241-
if(CMAKE_BUILD_TYPE_LOWER STREQUAL "debug")
1241+
if(LOWERCASE_BUILD_TYPE STREQUAL "debug")
12421242
set(GTEST_STATIC_LIB "${GTEST_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtestd.a")
12431243
set(GMOCK_STATIC_LIB "${GTEST_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gmockd.a")
12441244
set(GTEST_MAIN_STATIC_LIB
@@ -1301,7 +1301,7 @@ macro(build_tbb)
13011301

13021302
set(TBB_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/tbb_ep-install")
13031303

1304-
if(CMAKE_BUILD_TYPE_LOWER STREQUAL "debug")
1304+
if(LOWERCASE_BUILD_TYPE STREQUAL "debug")
13051305
set(TBB_STATIC_LIB "${TBB_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}tbb_debug.a")
13061306
else()
13071307
set(TBB_STATIC_LIB "${TBB_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}tbb.a")
@@ -1312,8 +1312,6 @@ macro(build_tbb)
13121312

13131313
set(TBB_BUILD_DIR "${CMAKE_BINARY_DIR}/tbb")
13141314

1315-
string(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER)
1316-
13171315
set(TBB_CMAKE_ARGS
13181316
${EP_COMMON_CMAKE_ARGS}
13191317
"-DCMAKE_INSTALL_PREFIX=${TBB_PREFIX}"
@@ -1333,7 +1331,7 @@ macro(build_tbb)
13331331
PROPERTIES IMPORTED_LOCATION "${TBB_STATIC_LIB}"
13341332
INTERFACE_INCLUDE_DIRECTORIES "${TBB_INCLUDE_DIR}"
13351333
INTERFACE_LINK_DIRECTORIES
1336-
"${TBB_BUILD_DIR}/${CMAKE_BUILD_TYPE_LOWER}")
1334+
"${TBB_BUILD_DIR}/${LOWERCASE_BUILD_TYPE}")
13371335
add_dependencies(tbb tbb_ep)
13381336

13391337
endmacro(build_tbb)

0 commit comments

Comments
 (0)