Skip to content

Commit aee7226

Browse files
cleaning installation infrastructure, removing global compiler flags for wrappers
1 parent c07d450 commit aee7226

File tree

3 files changed

+31
-46
lines changed

3 files changed

+31
-46
lines changed

cmake/AddGRBInstall.cmake

Lines changed: 30 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ set( HYPERDAGS_BACKEND_INSTALL_DIR "${BINARY_LIBRARIES_INSTALL_DIR}/hyperdags" )
4848
set( BSP1D_BACKEND_INSTALL_DIR "${BINARY_LIBRARIES_INSTALL_DIR}/spmd" )
4949
set( HYBRID_BACKEND_INSTALL_DIR "${BINARY_LIBRARIES_INSTALL_DIR}/hybrid" )
5050

51-
52-
5351
# addBackendWrapperGenOptions
5452
# creates the variables to store the settings for a backend, in order to create
5553
# the wrapper scripts for the installation; unless otherwise specified, arguments
@@ -69,42 +67,31 @@ set( HYBRID_BACKEND_INSTALL_DIR "${BINARY_LIBRARIES_INSTALL_DIR}/hybrid" )
6967
# WARNING! do NOT turn this into a macro, otherwise escaped paths don't work anymore
7068
# since they are expanded as macro arguments
7169
#
72-
function( addBackendWrapperGenOptions backend )
70+
function( addBackendWrapperGenOptions backend lib_dir )
7371
set( multiValueArgs "COMPILER_COMMAND;RUNNER"
74-
"COMPILE_DEFINITIONS;COMPILE_OPTIONS;LINK_FLAGS;LIB_DIR"
72+
"COMPILE_DEFINITIONS;COMPILE_OPTIONS;LINK_FLAGS"
7573
)
76-
cmake_parse_arguments( parsed "${options}" "${oneValueArgs}"
74+
cmake_parse_arguments( parsed "${options}" ""
7775
"${multiValueArgs}" "${ARGN}"
7876
)
7977

8078
if( NOT "${backend}" IN_LIST AVAILABLE_BACKENDS )
8179
message( FATAL_ERROR "cannot find ${backend} among available backends")
8280
endif()
8381

84-
assert_valid_variables( parsed_LIB_DIR )
82+
assert_valid_variables( lib_dir )
8583

8684
set( ${backend}_WRAPPER_COMPILER_COMMAND "${parsed_COMPILER_COMMAND}" PARENT_SCOPE )
8785
if( NOT parsed_COMPILER_COMMAND )
8886
set( ${backend}_WRAPPER_COMPILER_COMMAND "${CMAKE_CXX_COMPILER}" PARENT_SCOPE )
8987
endif()
9088
set( ${backend}_WRAPPER_RUNNER "${parsed_RUNNER}" PARENT_SCOPE )
91-
set( ${backend}_LIB_DIR "${parsed_LIB_DIR}" PARENT_SCOPE )
92-
89+
set( ${backend}_LIB_DIR "${lib_dir}" PARENT_SCOPE )
9390
set( ${backend}_WRAPPER_COMPILE_DEFINITIONS "${parsed_COMPILE_DEFINITIONS}" PARENT_SCOPE )
94-
9591
set( ${backend}_WRAPPER_COMPILE_OPTIONS "${parsed_COMPILE_OPTIONS}" PARENT_SCOPE )
9692
set( ${backend}_WRAPPER_LINK_FLAGS "${parsed_LINK_FLAGS}" PARENT_SCOPE )
9793
endfunction( addBackendWrapperGenOptions )
9894

99-
## compile definitions and options common to all backends: do not change!
100-
set( COMMON_WRAPPER_DEFINITIONS
101-
"${REFERENCE_INCLUDE_DEFS}"
102-
"${REFERENCE_OMP_INCLUDE_DEFS}"
103-
)
104-
set( COMMON_WRAPPER_OPTIONS
105-
"${OpenMP_CXX_FLAGS}"
106-
)
107-
10895
if( WITH_NUMA )
10996
set( NUMA_LFLAG "-lnuma" )
11097
endif()
@@ -113,36 +100,39 @@ endif()
113100
# for each enabled backend, add its information for the wrapper generation
114101
# paths may have spaces, hence wrap them inside single quotes ''
115102

103+
# all backends include both REFERENCE_INCLUDE_DEFS and REFERENCE_OMP_INCLUDE_DEFS,
104+
# due to the dependency on OpenMP -- to be resolved
105+
116106
# shared memory backends
117107
if( WITH_REFERENCE_BACKEND )
118-
addBackendWrapperGenOptions( "reference"
119-
COMPILE_DEFINITIONS "${REFERENCE_SELECTION_DEFS}"
120-
LIB_DIR "${SHMEM_BACKEND_INSTALL_DIR}"
108+
addBackendWrapperGenOptions( "reference" "${SHMEM_BACKEND_INSTALL_DIR}"
109+
COMPILE_DEFINITIONS
110+
"${REFERENCE_INCLUDE_DEFS};${REFERENCE_OMP_INCLUDE_DEFS};${REFERENCE_SELECTION_DEFS}"
121111
LINK_FLAGS "${NUMA_LFLAG}"
122112
)
123113
endif()
124114

125115
if( WITH_OMP_BACKEND )
126-
addBackendWrapperGenOptions( "reference_omp"
127-
COMPILE_DEFINITIONS "${REFERENCE_OMP_SELECTION_DEFS}"
128-
LIB_DIR "${SHMEM_BACKEND_INSTALL_DIR}"
116+
addBackendWrapperGenOptions( "reference_omp" "${SHMEM_BACKEND_INSTALL_DIR}"
117+
COMPILE_DEFINITIONS
118+
"${REFERENCE_INCLUDE_DEFS};${REFERENCE_OMP_INCLUDE_DEFS};${REFERENCE_OMP_SELECTION_DEFS}"
119+
COMPILE_OPTIONS "-fopenmp"
129120
LINK_FLAGS "${NUMA_LFLAG}"
130121
)
131122
endif()
132123

133124
# dependent backends
134125
if( WITH_HYPERDAGS_BACKEND )
135-
addBackendWrapperGenOptions( "hyperdags"
136-
COMPILE_DEFINITIONS "${HYPERDAGS_SELECTION_DEFS};${HYPERDAGS_INCLUDE_DEFS}"
137-
LIB_DIR "${HYPERDAGS_BACKEND_INSTALL_DIR}"
126+
addBackendWrapperGenOptions( "hyperdags" "${HYPERDAGS_BACKEND_INSTALL_DIR}"
127+
COMPILE_DEFINITIONS
128+
"${REFERENCE_INCLUDE_DEFS};${REFERENCE_OMP_INCLUDE_DEFS};${HYPERDAGS_INCLUDE_DEFS};${HYPERDAGS_SELECTION_DEFS}"
138129
LINK_FLAGS "${NUMA_LFLAG}"
139130
)
140131
endif()
141132

142133
if( WITH_NONBLOCKING_BACKEND )
143-
addBackendWrapperGenOptions( "nonblocking"
144-
COMPILE_DEFINITIONS "${NONBLOCKING_SELECTION_DEFS};${NONBLOCKING_INCLUDE_DEFS}"
145-
LIB_DIR "${SHMEM_BACKEND_INSTALL_DIR}"
134+
addBackendWrapperGenOptions( "nonblocking" "${SHMEM_BACKEND_INSTALL_DIR}"
135+
COMPILE_DEFINITIONS "${NONBLOCKING_INCLUDE_DEFS};${NONBLOCKING_SELECTION_DEFS}"
146136
LINK_FLAGS "${NUMA_LFLAG}"
147137
)
148138
endif()
@@ -170,22 +160,24 @@ if( WITH_BSP1D_BACKEND OR WITH_HYBRID_BACKEND )
170160
set( MANUALRUN "${LPFRUN_CMD}" "${MANUALRUN_ARGS}" )
171161

172162
if( WITH_BSP1D_BACKEND )
173-
addBackendWrapperGenOptions( "bsp1d"
163+
addBackendWrapperGenOptions( "bsp1d" "${BSP1D_BACKEND_INSTALL_DIR}"
174164
COMPILER_COMMAND "${LPF_CXX_COMPILER}"
175165
RUNNER "${LPFRUN_CMD}"
176-
COMPILE_DEFINITIONS "${LPF_INCLUDE_DEFS};${BSP1D_SELECTION_DEFS}"
177-
LIB_DIR "${BSP1D_BACKEND_INSTALL_DIR}"
178-
LINK_FLAGS "${NUMA_LFLAG}" "-lpthread" "-lm"
166+
COMPILE_DEFINITIONS
167+
"${REFERENCE_INCLUDE_DEFS};${REFERENCE_OMP_INCLUDE_DEFS};${LPF_INCLUDE_DEFS};${BSP1D_SELECTION_DEFS}"
168+
COMPILE_OPTIONS "-fopenmp"
169+
LINK_FLAGS "${NUMA_LFLAG}"
179170
)
180171
endif()
181172

182173
if( WITH_HYBRID_BACKEND )
183-
addBackendWrapperGenOptions( "hybrid"
174+
addBackendWrapperGenOptions( "hybrid" "${HYBRID_BACKEND_INSTALL_DIR}"
184175
COMPILER_COMMAND "${LPF_CXX_COMPILER}"
185176
RUNNER "${LPFRUN_CMD}"
186-
COMPILE_DEFINITIONS "${LPF_INCLUDE_DEFS};${HYBRID_SELECTION_DEFS}"
187-
LIB_DIR "${HYBRID_BACKEND_INSTALL_DIR}"
188-
LINK_FLAGS "${NUMA_LFLAG}" "-lpthread" "-lm"
177+
COMPILE_DEFINITIONS
178+
"${REFERENCE_INCLUDE_DEFS};${REFERENCE_OMP_INCLUDE_DEFS};${LPF_INCLUDE_DEFS};${HYBRID_SELECTION_DEFS}"
179+
COMPILE_OPTIONS "-fopenmp"
180+
LINK_FLAGS "${NUMA_LFLAG}"
189181
)
190182
endif()
191183
endif()

src/CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ add_subdirectory( transition )
3030
assert_valid_variables( AVAILABLE_BACKENDS CMAKE_INSTALL_PREFIX INCLUDE_INSTALL_DIR
3131
VERSION BIN_INSTALL_DIR
3232
)
33-
assert_defined_variables( COMMON_WRAPPER_DEFINITIONS COMMON_WRAPPER_OPTIONS )
3433

3534
if( WITH_BSP1D_BACKEND OR WITH_HYBRID_BACKEND )
3635
assert_valid_variables( LPFRUN_CMD MANUALRUN )
@@ -90,11 +89,6 @@ list( JOIN MANUALRUN " " MANUALRUN_SPACED )
9089
joinWithNewLine( backend_dir_list BACKEND_DIR_LIST )
9190
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/setenv.in ${CMAKE_CURRENT_BINARY_DIR}/setenv @ONLY )
9291

93-
set( cflags "${COMMON_WRAPPER_DEFINITIONS}" )
94-
list( TRANSFORM cflags PREPEND "-D" )
95-
list( APPEND cflags "${COMMON_WRAPPER_OPTIONS}" )
96-
joinAndAppend( COMMON_FLAGS_SPACED cflags )
97-
9892
joinWithNewLine( compiler_list BACKEND_COMPILERS_SPACED )
9993
joinWithNewLine( library_dir LIBRARY_DIRS_SPACED )
10094

src/grbcxx.in

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ BACKENDS=(@AVAILABLE_BACKENDS_SPACED@)
2222
BACKENDCOMPILERS=(@BACKEND_COMPILERS_SPACED@)
2323
BACKENDCFLAGS=(@BACKEND_CFLAGS_SPACED@)
2424
BACKENDLFLAGS=(@BACKEND_LFLAGS_SPACED@)
25-
COMMONCFLAGS=@COMMON_FLAGS_SPACED@
2625
VERSION="@VERSION@"
2726
BACKEND_LIBRARY_OUTPUT_NAME="@BACKEND_LIBRARY_OUTPUT_NAME@"
2827
LIBRARY_DIRS=(@LIBRARY_DIRS_SPACED@)
@@ -97,6 +96,6 @@ LFLAGS="${LIB} ${BACKENDLFLAGS[${BACKENDID}]}"
9796

9897
COMPILER="${BACKENDCOMPILERS[${BACKENDID}]}"
9998

100-
CMD="${COMPILER} -std=${CXXSTD} -I'${INCLUDEDIR}' ${COMMONCFLAGS} ${BACKENDCFLAGS[${BACKENDID}]} ${ARGS[@]} "$@" ${LFLAGS}"
99+
CMD="${COMPILER} -std=${CXXSTD} -I'${INCLUDEDIR}' ${BACKENDCFLAGS[${BACKENDID}]} ${ARGS[@]} "$@" ${LFLAGS}"
101100

102101
${SHOW} "${CMD}"

0 commit comments

Comments
 (0)