@@ -4,7 +4,7 @@ project(openlibm
4
4
VERSION 0.8.0
5
5
LANGUAGES C ASM )
6
6
7
- add_library ("${PROJECT_NAME} " STATIC )
7
+ add_library ("${PROJECT_NAME} " SHARED )
8
8
9
9
10
10
# Find the relevant folder depending on the architecture
@@ -361,39 +361,38 @@ if (LONG_DOUBLE_NOT_DOUBLE)
361
361
"${PROJECT_SRC} /ld80/s_nanl.c"
362
362
)
363
363
endif ()
364
- endif ()
365
-
366
- else ()
367
- if (${OPENLIBM_ARCH_FOLDER} STREQUAL "aarch64" )
368
- list (APPEND OPENLIBM_C_SOURCE
369
- # ld128
370
- "${PROJECT_SRC} /ld128/invtrig.c"
371
- "${PROJECT_SRC} /ld128/e_acoshl.c"
372
- "${PROJECT_SRC} /ld128/e_powl.c"
373
- "${PROJECT_SRC} /ld128/k_tanl.c"
374
- "${PROJECT_SRC} /ld128/s_exp2l.c"
375
- "${PROJECT_SRC} /ld128/e_atanhl.c"
376
- "${PROJECT_SRC} /ld128/e_lgammal_r.c"
377
- "${PROJECT_SRC} /ld128/e_sinhl.c"
378
- "${PROJECT_SRC} /ld128/s_asinhl.c"
379
- "${PROJECT_SRC} /ld128/s_expm1l.c"
380
- "${PROJECT_SRC} /ld128/e_coshl.c"
381
- "${PROJECT_SRC} /ld128/e_log10l.c"
382
- "${PROJECT_SRC} /ld128/e_tgammal.c"
383
- "${PROJECT_SRC} /ld128/e_expl.c"
384
- "${PROJECT_SRC} /ld128/e_log2l.c"
385
- "${PROJECT_SRC} /ld128/k_cosl.c"
386
- "${PROJECT_SRC} /ld128/s_log1pl.c"
387
- "${PROJECT_SRC} /ld128/s_tanhl.c"
388
- "${PROJECT_SRC} /ld128/e_logl.c"
389
- "${PROJECT_SRC} /ld128/k_sinl.c"
390
- "${PROJECT_SRC} /ld128/s_erfl.c"
391
- )
392
-
393
- if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" )
364
+ else ()
365
+ if (${OPENLIBM_ARCH_FOLDER} STREQUAL "aarch64" )
394
366
list (APPEND OPENLIBM_C_SOURCE
395
- "${PROJECT_SRC} /ld128/s_nanl.c"
367
+ # ld128
368
+ "${PROJECT_SRC} /ld128/invtrig.c"
369
+ "${PROJECT_SRC} /ld128/e_acoshl.c"
370
+ "${PROJECT_SRC} /ld128/e_powl.c"
371
+ "${PROJECT_SRC} /ld128/k_tanl.c"
372
+ "${PROJECT_SRC} /ld128/s_exp2l.c"
373
+ "${PROJECT_SRC} /ld128/e_atanhl.c"
374
+ "${PROJECT_SRC} /ld128/e_lgammal_r.c"
375
+ "${PROJECT_SRC} /ld128/e_sinhl.c"
376
+ "${PROJECT_SRC} /ld128/s_asinhl.c"
377
+ "${PROJECT_SRC} /ld128/s_expm1l.c"
378
+ "${PROJECT_SRC} /ld128/e_coshl.c"
379
+ "${PROJECT_SRC} /ld128/e_log10l.c"
380
+ "${PROJECT_SRC} /ld128/e_tgammal.c"
381
+ "${PROJECT_SRC} /ld128/e_expl.c"
382
+ "${PROJECT_SRC} /ld128/e_log2l.c"
383
+ "${PROJECT_SRC} /ld128/k_cosl.c"
384
+ "${PROJECT_SRC} /ld128/s_log1pl.c"
385
+ "${PROJECT_SRC} /ld128/s_tanhl.c"
386
+ "${PROJECT_SRC} /ld128/e_logl.c"
387
+ "${PROJECT_SRC} /ld128/k_sinl.c"
388
+ "${PROJECT_SRC} /ld128/s_erfl.c"
396
389
)
390
+
391
+ if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Windows" )
392
+ list (APPEND OPENLIBM_C_SOURCE
393
+ "${PROJECT_SRC} /ld128/s_nanl.c"
394
+ )
395
+ endif ()
397
396
endif ()
398
397
endif ()
399
398
endif ()
@@ -505,28 +504,24 @@ endif()
505
504
506
505
507
506
# Filter out C implementation from compilation list if a native implementation exists
508
- # when generating a shared library to avoid multiple definitions
509
- get_target_property (TARGET_TYPE "${PROJECT_NAME} " TYPE )
510
- if (TARGET_TYPE STREQUAL SHARED_LIBRARY )
511
- foreach (FILE_TO_REMOVE ${OPENLIBM_ASM_SOURCE} )
512
- # Get filename and strip out extension
513
- cmake_path (GET FILE_TO_REMOVE FILENAME FILENAME_TO_REMOVE )
514
- cmake_path (REMOVE_EXTENSION FILENAME_TO_REMOVE OUTPUT_VARIABLE FILENAME_TO_REMOVE )
515
- message (DEBUG "Filename to remove: ${FILENAME_TO_REMOVE} " )
516
-
517
- # Go through files and remove one with the same name
518
- foreach (CUR_FILE ${OPENLIBM_C_SOURCE} )
519
- cmake_path (GET CUR_FILE FILENAME CUR_FILENAME )
520
- cmake_path (REMOVE_EXTENSION CUR_FILENAME OUTPUT_VARIABLE CUR_FILENAME )
521
-
522
- if (${CUR_FILENAME} STREQUAL ${FILENAME_TO_REMOVE} )
523
- list (REMOVE_ITEM OPENLIBM_C_SOURCE ${CUR_FILE} )
524
- message (DEBUG "Removed source file from compilation list: ${CUR_FILE} " )
525
- break ()
526
- endif ()
527
- endforeach ()
507
+ foreach (FILE_TO_REMOVE ${OPENLIBM_ASM_SOURCE} )
508
+ # Get filename and strip out extension
509
+ cmake_path (GET FILE_TO_REMOVE FILENAME FILENAME_TO_REMOVE )
510
+ cmake_path (REMOVE_EXTENSION FILENAME_TO_REMOVE OUTPUT_VARIABLE FILENAME_TO_REMOVE )
511
+ message (DEBUG "Filename to remove: ${FILENAME_TO_REMOVE} " )
512
+
513
+ # Go through files and remove one with the same name
514
+ foreach (CUR_FILE ${OPENLIBM_C_SOURCE} )
515
+ cmake_path (GET CUR_FILE FILENAME CUR_FILENAME )
516
+ cmake_path (REMOVE_EXTENSION CUR_FILENAME OUTPUT_VARIABLE CUR_FILENAME )
517
+
518
+ if (${CUR_FILENAME} STREQUAL ${FILENAME_TO_REMOVE} )
519
+ list (REMOVE_ITEM OPENLIBM_C_SOURCE ${CUR_FILE} )
520
+ message (DEBUG "Removed source file from compilation list: ${CUR_FILE} " )
521
+ break ()
522
+ endif ()
528
523
endforeach ()
529
- endif ()
524
+ endforeach ()
530
525
531
526
532
527
# Add sources
0 commit comments