@@ -52,8 +52,8 @@ option(PAIMON_ENABLE_AVRO "Whether to enable avro file format" ON)
5252option (PAIMON_ENABLE_ORC "Whether to enable orc file format" ON )
5353option (PAIMON_ENABLE_LANCE "Whether to enable lance file format" OFF )
5454option (PAIMON_ENABLE_JINDO "Whether to enable jindo file system" OFF )
55- option (PAIMON_ENABLE_LUMINA "Whether to enable lumina vector index" ON )
56- option (PAIMON_ENABLE_LUCENE "Whether to enable lucene index" ON )
55+ option (PAIMON_ENABLE_LUMINA "Whether to enable lumina vector index" OFF )
56+ option (PAIMON_ENABLE_LUCENE "Whether to enable lucene index" OFF )
5757
5858if (PAIMON_ENABLE_ORC)
5959 add_definitions (-DPAIMON_ENABLE_ORC )
@@ -334,8 +334,13 @@ add_compile_definitions("GLOG_USE_GLOG_EXPORT")
334334
335335set(THREADS_PREFER_PTHREAD_FLAG ON)
336336find_package(Threads REQUIRED)
337- set(PAIMON_VERSION_SCRIPT_FLAGS
338- " -Wl,--version-script=${CMAKE_SOURCE_DIR}/src/paimon/symbols.map ")
337+ if(APPLE)
338+ set(PAIMON_VERSION_SCRIPT_FLAGS
339+ " -Wl,-exported_symbols_list,${CMAKE_SOURCE_DIR}/src/paimon/symbols.list ")
340+ else()
341+ set(PAIMON_VERSION_SCRIPT_FLAGS
342+ " -Wl,--version-script=${CMAKE_SOURCE_DIR}/src/paimon/symbols.map ")
343+ endif()
339344
340345set(ENV{PAIMON_TEST_DATA} " ${CMAKE_SOURCE_DIR} /test/test_data ")
341346
@@ -363,47 +368,81 @@ if(PAIMON_BUILD_TESTS)
363368 include_directories(SYSTEM ${GTEST_INCLUDE_DIR} )
364369 include_directories(" ${CMAKE_SOURCE_DIR} /test/ ")
365370
366- set(TEST_STATIC_LINK_LIBS
367- " -Wl,--whole-archive "
368- paimon_file_index_static
369- paimon_global_index_static
370- paimon_local_file_system_static
371- paimon_mock_file_format_static
372- " -Wl,--no-whole-archive "
373- " -Wl,--no-as-needed "
374- paimon_parquet_file_format_shared
375- paimon_blob_file_format_shared
376- " -Wl,--as-needed ")
371+ if(APPLE)
372+ set(TEST_STATIC_LINK_LIBS
373+ " -Wl,-force_load,$<TARGET_FILE:paimon_file_index_static> "
374+ " -Wl,-force_load,$<TARGET_FILE:paimon_global_index_static> "
375+ " -Wl,-force_load,$<TARGET_FILE:paimon_local_file_system_static> "
376+ " -Wl,-force_load,$<TARGET_FILE:paimon_mock_file_format_static> "
377+ paimon_parquet_file_format_shared
378+ paimon_blob_file_format_shared)
379+ else()
380+ set(TEST_STATIC_LINK_LIBS
381+ " -Wl,--whole-archive "
382+ paimon_file_index_static
383+ paimon_global_index_static
384+ paimon_local_file_system_static
385+ paimon_mock_file_format_static
386+ " -Wl,--no-whole-archive "
387+ " -Wl,--no-as-needed "
388+ paimon_parquet_file_format_shared
389+ paimon_blob_file_format_shared
390+ " -Wl,--as-needed ")
391+ endif()
377392
378393 if(PAIMON_ENABLE_LANCE)
379- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
380- list(APPEND TEST_STATIC_LINK_LIBS paimon_lance_file_format_shared)
381- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
394+ if(APPLE)
395+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lance_file_format_shared)
396+ else()
397+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
398+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lance_file_format_shared)
399+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
400+ endif()
382401 endif()
383402 if(PAIMON_ENABLE_ORC)
384- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
385- list(APPEND TEST_STATIC_LINK_LIBS paimon_orc_file_format_shared)
386- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
403+ if(APPLE)
404+ list(APPEND TEST_STATIC_LINK_LIBS paimon_orc_file_format_shared)
405+ else()
406+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
407+ list(APPEND TEST_STATIC_LINK_LIBS paimon_orc_file_format_shared)
408+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
409+ endif()
387410 endif()
388411 if(PAIMON_ENABLE_AVRO)
389- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
390- list(APPEND TEST_STATIC_LINK_LIBS paimon_avro_file_format_shared)
391- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
412+ if(APPLE)
413+ list(APPEND TEST_STATIC_LINK_LIBS paimon_avro_file_format_shared)
414+ else()
415+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
416+ list(APPEND TEST_STATIC_LINK_LIBS paimon_avro_file_format_shared)
417+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
418+ endif()
392419 endif()
393420 if(PAIMON_ENABLE_JINDO)
394- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
395- list(APPEND TEST_STATIC_LINK_LIBS paimon_jindo_file_system_shared)
396- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
421+ if(APPLE)
422+ list(APPEND TEST_STATIC_LINK_LIBS paimon_jindo_file_system_shared)
423+ else()
424+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
425+ list(APPEND TEST_STATIC_LINK_LIBS paimon_jindo_file_system_shared)
426+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
427+ endif()
397428 endif()
398429 if(PAIMON_ENABLE_LUMINA)
399- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
400- list(APPEND TEST_STATIC_LINK_LIBS paimon_lumina_index_shared)
401- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
430+ if(APPLE)
431+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lumina_index_shared)
432+ else()
433+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
434+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lumina_index_shared)
435+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
436+ endif()
402437 endif()
403438 if(PAIMON_ENABLE_LUCENE)
404- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
405- list(APPEND TEST_STATIC_LINK_LIBS paimon_lucene_index_shared)
406- list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
439+ if(APPLE)
440+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lucene_index_shared)
441+ else()
442+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
443+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lucene_index_shared)
444+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
445+ endif()
407446 endif()
408447endif()
409448
0 commit comments