@@ -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,82 @@ 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 "
374+ paimon_file_index_static
375+ paimon_global_index_static
376+ paimon_local_file_system_static
377+ paimon_mock_file_format_static
378+ paimon_parquet_file_format_shared
379+ paimon_blob_file_format_shared)
380+ else()
381+ set(TEST_STATIC_LINK_LIBS
382+ " -Wl,--whole-archive "
383+ paimon_file_index_static
384+ paimon_global_index_static
385+ paimon_local_file_system_static
386+ paimon_mock_file_format_static
387+ " -Wl,--no-whole-archive "
388+ " -Wl,--no-as-needed "
389+ paimon_parquet_file_format_shared
390+ paimon_blob_file_format_shared
391+ " -Wl,--as-needed ")
392+ endif()
377393
378394 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 ")
395+ if(APPLE)
396+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lance_file_format_shared)
397+ else()
398+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
399+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lance_file_format_shared)
400+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
401+ endif()
382402 endif()
383403 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 ")
404+ if(APPLE)
405+ list(APPEND TEST_STATIC_LINK_LIBS paimon_orc_file_format_shared)
406+ else()
407+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
408+ list(APPEND TEST_STATIC_LINK_LIBS paimon_orc_file_format_shared)
409+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
410+ endif()
387411 endif()
388412 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 ")
413+ if(APPLE)
414+ list(APPEND TEST_STATIC_LINK_LIBS paimon_avro_file_format_shared)
415+ else()
416+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
417+ list(APPEND TEST_STATIC_LINK_LIBS paimon_avro_file_format_shared)
418+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
419+ endif()
392420 endif()
393421 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 ")
422+ if(APPLE)
423+ list(APPEND TEST_STATIC_LINK_LIBS paimon_jindo_file_system_shared)
424+ else()
425+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
426+ list(APPEND TEST_STATIC_LINK_LIBS paimon_jindo_file_system_shared)
427+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
428+ endif()
397429 endif()
398430 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 ")
431+ if(APPLE)
432+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lumina_index_shared)
433+ else()
434+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
435+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lumina_index_shared)
436+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
437+ endif()
402438 endif()
403439 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 ")
440+ if(APPLE)
441+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lucene_index_shared)
442+ else()
443+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--no-as-needed ")
444+ list(APPEND TEST_STATIC_LINK_LIBS paimon_lucene_index_shared)
445+ list(APPEND TEST_STATIC_LINK_LIBS " -Wl,--as-needed ")
446+ endif()
407447 endif()
408448endif()
409449
0 commit comments