@@ -72,7 +72,7 @@ set( HYBRID_BACKEND_INSTALL_DIR "${BINARY_LIBRARIES_INSTALL_DIR}/hybrid" )
7272#
7373function ( addBackendWrapperGenOptions backend )
7474 set ( multiValueArgs "COMPILER_COMMAND;RUNENV;RUNNER"
75- "COMPILE_DEFINITIONS;COMPILE_OPTIONS;LINK_FLAGS"
75+ "COMPILE_DEFINITIONS;COMPILE_OPTIONS;LINK_FLAGS;LIB_DIR "
7676 )
7777 cmake_parse_arguments ( parsed "${options} " "${oneValueArgs} "
7878 "${multiValueArgs} " "${ARGN} "
@@ -82,12 +82,15 @@ function( addBackendWrapperGenOptions backend )
8282 message ( FATAL_ERROR "cannot find ${backend} among available backends" )
8383 endif ()
8484
85+ assert_valid_variables( parsed_LIB_DIR )
86+
8587 set ( ${backend} _WRAPPER_COMPILER_COMMAND "${parsed_COMPILER_COMMAND} " PARENT_SCOPE )
8688 if ( NOT parsed_COMPILER_COMMAND )
8789 set ( ${backend} _WRAPPER_COMPILER_COMMAND "${CMAKE_CXX_COMPILER} " PARENT_SCOPE )
8890 endif ()
8991 set ( ${backend} _WRAPPER_RUNENV "${parsed_RUNENV} " PARENT_SCOPE )
9092 set ( ${backend} _WRAPPER_RUNNER "${parsed_RUNNER} " PARENT_SCOPE )
93+ set ( ${backend} _LIB_DIR "${parsed_LIB_DIR} " PARENT_SCOPE )
9194
9295 set ( ${backend} _WRAPPER_COMPILE_DEFINITIONS "${parsed_COMPILE_DEFINITIONS} " PARENT_SCOPE )
9396
@@ -116,33 +119,33 @@ endif()
116119if ( WITH_REFERENCE_BACKEND )
117120 addBackendWrapperGenOptions( "reference"
118121 COMPILE_DEFINITIONS "${REFERENCE_SELECTION_DEFS} "
119- LINK_FLAGS "' ${SHMEM_BACKEND_INSTALL_DIR} /lib ${BACKEND_LIBRARY_OUTPUT_NAME} .a' "
120- "' ${ALP_UTILS_INSTALL_DIR} /lib ${ALP_UTILS_LIBRARY_OUTPUT_NAME} .a'" "${NUMA_LFLAG} "
122+ LIB_DIR " ${SHMEM_BACKEND_INSTALL_DIR} "
123+ LINK_FLAGS "${NUMA_LFLAG} "
121124 )
122125endif ()
123126
124127if ( WITH_OMP_BACKEND )
125128 addBackendWrapperGenOptions( "reference_omp"
126129 COMPILE_DEFINITIONS "${REFERENCE_OMP_SELECTION_DEFS} "
127- LINK_FLAGS "' ${SHMEM_BACKEND_INSTALL_DIR} /lib ${BACKEND_LIBRARY_OUTPUT_NAME} .a' "
128- "' ${ALP_UTILS_INSTALL_DIR} /lib ${ALP_UTILS_LIBRARY_OUTPUT_NAME} .a'" "${NUMA_LFLAG} "
130+ LIB_DIR " ${SHMEM_BACKEND_INSTALL_DIR} "
131+ LINK_FLAGS "${NUMA_LFLAG} "
129132 )
130133endif ()
131134
132135# dependent backends
133136if ( WITH_HYPERDAGS_BACKEND )
134137 addBackendWrapperGenOptions( "hyperdags"
135138 COMPILE_DEFINITIONS "${HYPERDAGS_SELECTION_DEFS} ;${HYPERDAGS_INCLUDE_DEFS} "
136- LINK_FLAGS "' ${HYPERDAGS_BACKEND_INSTALL_DIR} /lib ${BACKEND_LIBRARY_OUTPUT_NAME} .a' "
137- "' ${ALP_UTILS_INSTALL_DIR} /lib ${ALP_UTILS_LIBRARY_OUTPUT_NAME} .a'" "${NUMA_LFLAG} "
139+ LIB_DIR " ${HYPERDAGS_BACKEND_INSTALL_DIR} "
140+ LINK_FLAGS "${NUMA_LFLAG} "
138141 )
139142endif ()
140143
141144if ( WITH_NONBLOCKING_BACKEND )
142145 addBackendWrapperGenOptions( "nonblocking"
143146 COMPILE_DEFINITIONS "${NONBLOCKING_SELECTION_DEFS} ;${NONBLOCKING_INCLUDE_DEFS} "
144- LINK_FLAGS "' ${SHMEM_BACKEND_INSTALL_DIR} /lib ${BACKEND_LIBRARY_OUTPUT_NAME} .a' "
145- "' ${ALP_UTILS_INSTALL_DIR} /lib ${ALP_UTILS_LIBRARY_OUTPUT_NAME} .a'" "${NUMA_LFLAG} "
147+ LIB_DIR " ${SHMEM_BACKEND_INSTALL_DIR} "
148+ LINK_FLAGS "${NUMA_LFLAG} "
146149 )
147150endif ()
148151
@@ -173,9 +176,8 @@ if( WITH_BSP1D_BACKEND OR WITH_HYBRID_BACKEND )
173176 COMPILER_COMMAND "${LPF_CXX_COMPILER} "
174177 RUNNER "${LPFRUN_CMD} "
175178 COMPILE_DEFINITIONS "${LPF_INCLUDE_DEFS} ;${BSP1D_SELECTION_DEFS} "
176- LINK_FLAGS "'${BSP1D_BACKEND_INSTALL_DIR} /lib${BACKEND_LIBRARY_OUTPUT_NAME} .a'"
177- "'${ALP_UTILS_INSTALL_DIR} /lib${ALP_UTILS_LIBRARY_OUTPUT_NAME} .a'" "${NUMA_LFLAG} "
178- "-llpf_hl" "-lpthread" "-lm" "-ldl"
179+ LIB_DIR "${BSP1D_BACKEND_INSTALL_DIR} "
180+ LINK_FLAGS "${NUMA_LFLAG} " "-lpthread" "-lm"
179181 )
180182 endif ()
181183
@@ -184,9 +186,8 @@ if( WITH_BSP1D_BACKEND OR WITH_HYBRID_BACKEND )
184186 COMPILER_COMMAND "${LPF_CXX_COMPILER} "
185187 RUNNER "${LPFRUN_CMD} "
186188 COMPILE_DEFINITIONS "${LPF_INCLUDE_DEFS} ;${HYBRID_SELECTION_DEFS} "
187- LINK_FLAGS "'${HYBRID_BACKEND_INSTALL_DIR} /lib${BACKEND_LIBRARY_OUTPUT_NAME} .a'"
188- "'${ALP_UTILS_INSTALL_DIR} /lib${ALP_UTILS_LIBRARY_OUTPUT_NAME} .a'" "${NUMA_LFLAG} "
189- "-llpf_hl" "-lpthread" "-lm" "-ldl"
189+ LIB_DIR "${HYBRID_BACKEND_INSTALL_DIR} "
190+ LINK_FLAGS "${NUMA_LFLAG} " "-lpthread" "-lm"
190191 )
191192 endif ()
192193endif ()
0 commit comments