Skip to content

Commit efc24ce

Browse files
committed
Reduce number of macros in fortran compilation line for BLAS_64
1 parent e2428ec commit efc24ce

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

BLAS/SRC/CMakeLists.txt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,13 +110,12 @@ endif()
110110
list(REMOVE_DUPLICATES SOURCES)
111111

112112
add_library(${BLASLIB}_obj OBJECT ${SOURCES})
113-
target_compile_options(${BLASLIB}_obj PRIVATE -fPIC)
113+
set_target_properties(${BLASLIB}_obj PROPERTIES POSITION_INDEPENDENT_CODE ON)
114114

115115
if(BUILD_INDEX64_EXT_API)
116116
#Add _64 suffix to all Fortran functions via macros
117-
set(COPT_64_F)
118-
list(APPEND COPT_64_F -cpp)
119117
foreach(F IN LISTS SOURCES)
118+
set(COPT_64_F -cpp)
120119
file(STRINGS ${F} ${F}.lst)
121120
list(FILTER ${F}.lst INCLUDE REGEX "subroutine|SUBROUTINE|external|EXTERNAL|function|FUNCTION")
122121
list(FILTER ${F}.lst EXCLUDE REGEX "^!.*")
@@ -128,10 +127,11 @@ if(BUILD_INDEX64_EXT_API)
128127
string(STRIP ${FUNC} FUNC)
129128
list(APPEND COPT_64_F "-D${FUNC}=${FUNC}_64")
130129
endforeach()
130+
list(REMOVE_DUPLICATES COPT_64_F)
131+
set_source_files_properties(${F} PROPERTIES COMPILE_OPTIONS "${COPT_64_F}")
131132
endforeach()
132-
list(REMOVE_DUPLICATES COPT_64_F)
133133
add_library(${BLASLIB}_64_obj OBJECT ${SOURCES})
134-
target_compile_options(${BLASLIB}_64_obj PRIVATE -fPIC ${FOPT_ILP64} ${COPT_64_F})
134+
target_compile_options(${BLASLIB}_64_obj PRIVATE ${FOPT_ILP64})
135135
endif()
136136

137137
add_library(${BLASLIB}
@@ -142,6 +142,7 @@ set_target_properties(
142142
${BLASLIB} PROPERTIES
143143
VERSION ${LAPACK_VERSION}
144144
SOVERSION ${LAPACK_MAJOR_VERSION}
145+
POSITION_INDEPENDENT_CODE ON
145146
)
146147
lapack_install_library(${BLASLIB})
147148

CBLAS/src/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,23 +130,24 @@ if(BUILD_INDEX64_EXT_API)
130130
list(FILTER SOURCES_64_F INCLUDE REGEX "\.f$")
131131
list(REMOVE_ITEM SOURCES_64_C cblas_globals.c)
132132
#Add suffix to all Fortran functions via macros
133-
set(COPT_64_F)
134133
foreach(F IN LISTS SOURCES_64_F)
134+
set(COPT_64_F)
135135
file(STRINGS ${F} ${F}.lst)
136136
list(FILTER ${F}.lst INCLUDE REGEX "subroutine|external")
137137
foreach(FUNC IN LISTS ${F}.lst)
138138
string(REGEX REPLACE "[ ]*(subroutine|external)[ ]*" "" FUNC ${FUNC})
139139
string(REGEX REPLACE "[(][a-zA-Z0-9, ]*[)]" "" FUNC ${FUNC})
140140
list(APPEND COPT_64_F "-D${FUNC}=${FUNC}_64")
141141
endforeach()
142+
set_source_files_properties(${F} PROPERTIES COMPILE_OPTIONS "${COPT_64_F}")
142143
endforeach()
143144
add_library(${CBLASLIB}_64_cobj OBJECT ${SOURCES_64_C})
144145
add_library(${CBLASLIB}_64_fobj OBJECT ${SOURCES_64_F})
145146
set_target_properties(${CBLASLIB}_64_cobj ${CBLASLIB}_64_fobj PROPERTIES
146147
POSITION_INDEPENDENT_CODE ON
147148
Fortran_PREPROCESS ON)
148149
target_compile_options(${CBLASLIB}_64_cobj PRIVATE -DWeirdNEC -DCBLAS_API64)
149-
target_compile_options(${CBLASLIB}_64_fobj PRIVATE ${FOPT_ILP64} ${COPT_64_F})
150+
target_compile_options(${CBLASLIB}_64_fobj PRIVATE ${FOPT_ILP64})
150151
endif()
151152

152153
add_library(${CBLASLIB}

0 commit comments

Comments
 (0)