Skip to content

Commit

Permalink
[SCons] Clean up includes/libs in generated build scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
speth committed Jun 21, 2023
1 parent 5c789d4 commit 101dc11
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 33 deletions.
29 changes: 11 additions & 18 deletions samples/clib/SConscript
Expand Up @@ -14,25 +14,18 @@ for programName, sources in samples:
LIBPATH=env['extra_lib_dirs'] + ['#build/lib'])

# Generate SConstruct files to be installed
incdirs = [localenv["ct_incroot"]]
libdirs = [localenv["ct_libdir"]]
linkflags = ["-g", localenv["thread_flags"]]
if not localenv["package_build"]:
incdirs.extend([localenv["sundials_include"], localenv["boost_inc_dir"]])
incdirs.append(localenv["hdf_include"])
incdirs.extend(localenv["extra_inc_dirs"])
incdirs = list(set(incdirs))
libdirs.extend([localenv["sundials_libdir"], localenv["blas_lapack_dir"]])
libdirs.append(localenv["hdf_libdir"])
libdirs.extend(localenv["extra_lib_dirs"])
libdirs = list(set(libdirs))

libs = localenv['cantera_shared_libs']
linkflags = ("-g", localenv["thread_flags"], f"-Wl,-rpath,{localenv['ct_libdir']}")
cc_flags = localenv["CCFLAGS"]

localenv["tmpl_compiler_flags"] = repr(cc_flags)
linkflags.append(f"-Wl,-rpath,{localenv['ct_libdir']}")
incdirs = [localenv["ct_incroot"]]
libdirs = [localenv["ct_libdir"]] + localenv["extra_lib_dirs"]
else:
incdirs = []
libdirs = []

localenv["tmpl_compiler_flags"] = repr(localenv["CCFLAGS"])
localenv['tmpl_cantera_incdirs'] = repr([x for x in incdirs if x])
localenv['tmpl_cantera_libs'] = repr(libs)
localenv['tmpl_cantera_libs'] = repr(localenv['cantera_shared_libs'])
localenv['tmpl_cantera_libdirs'] = repr([x for x in libdirs if x])
localenv['tmpl_cantera_linkflags'] = repr([x for x in linkflags if x])
localenv['tmpl_cantera_frameworks'] = repr(localenv['FRAMEWORKS'])
Expand All @@ -45,7 +38,7 @@ for programName, sources in samples:

# Generate CMakeLists.txt to be installed
localenv['cmake_cantera_incdirs'] = ' '.join(quoted(x) for x in incdirs if x)
localenv['cmake_cantera_libs'] = ' '.join(libs)
localenv['cmake_cantera_libs'] = ' '.join(localenv['cantera_shared_libs'])
localenv['cmake_cantera_libdirs'] = ' '.join(quoted(x) for x in libdirs if x)
cmakelists = localenv.SubstFile('CMakeLists.txt', 'CMakeLists.txt.in')
install("$inst_sampledir/clib", cmakelists)
11 changes: 7 additions & 4 deletions samples/cxx/SConscript
Expand Up @@ -52,8 +52,7 @@ set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS})
# Note: These CMakeLists.txt and SConstruct files are automatically installed
# by the "RecursiveInstall" that grabs everything in the cxx directory.

incdirs = [localenv["ct_incroot"]]
libdirs = [localenv["ct_libdir"]]

if localenv["package_build"]:
# Remove sysroot flags in templated output files. This only applies to the
# conda package for now.
Expand All @@ -63,18 +62,22 @@ set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS})
"-isysroot", "-mmacosx", "-march", "-mtune", "-fdebug-prefix-map")
cc_flags = compiler_flag_list(localenv["CCFLAGS"] + localenv["CXXFLAGS"],
excludes)
incdirs = []
libdirs = []
else:
cc_flags = localenv["CCFLAGS"] + localenv["CXXFLAGS"]
incdirs = [localenv["ct_incroot"]]
incdirs.extend([localenv["sundials_include"], localenv["boost_inc_dir"]])
incdirs.append(localenv["hdf_include"])
incdirs.extend(localenv["extra_inc_dirs"])
incdirs = list(set(incdirs))

libdirs = [localenv["ct_libdir"]]
libdirs.extend([localenv["sundials_libdir"], localenv["blas_lapack_dir"]])
libdirs.append(localenv["hdf_libdir"])
libdirs.extend(localenv["extra_lib_dirs"])
libdirs = list(set(libdirs))

cc_flags = localenv["CCFLAGS"] + localenv["CXXFLAGS"]

localenv["tmpl_compiler_flags"] = repr(cc_flags)
localenv['tmpl_cantera_frameworks'] = repr(localenv['FRAMEWORKS'])
localenv['tmpl_cantera_incdirs'] = repr([x for x in incdirs if x])
Expand Down
15 changes: 10 additions & 5 deletions samples/f77/SConscript
Expand Up @@ -22,8 +22,8 @@ for program_name, fortran_sources in samples:
LINK='$FORTRAN_LINK')

# Generate SConstruct file to be installed
incdirs = [localenv["ct_incroot"]]
libdirs = [localenv["ct_libdir"]]
linkflags = ["-g", localenv["thread_flags"]]

if localenv["package_build"]:
# Remove sysroot flags in templated output files. This only applies to the
# conda package for now.
Expand All @@ -33,20 +33,25 @@ if localenv["package_build"]:
"-isysroot", "-mmacosx", "-march", "-mtune", "-fdebug-prefix-map")
cc_flags = compiler_flag_list(localenv["CCFLAGS"] + localenv["CXXFLAGS"],
excludes)
incdirs = []
libdirs = []
else:
cc_flags = localenv["CCFLAGS"] + localenv["CXXFLAGS"]
linkflags.append(f"-Wl,-rpath,{localenv['ct_libdir']}")

incdirs = [localenv["ct_incroot"]]
incdirs.extend([localenv["sundials_include"], localenv["boost_inc_dir"]])
incdirs.append(localenv["hdf_include"])
incdirs.extend(localenv["extra_inc_dirs"])
incdirs = list(set(incdirs))

libdirs = [localenv["ct_libdir"]]
libdirs.extend([localenv["sundials_libdir"], localenv["blas_lapack_dir"]])
libdirs.append(localenv["hdf_libdir"])
libdirs.extend(localenv["extra_lib_dirs"])
libdirs = list(set(libdirs))

cc_flags = localenv["CCFLAGS"] + localenv["CXXFLAGS"]

libs = ["cantera_fortran"] + localenv["cantera_libs"] + localenv["cxx_stdlib"]
linkflags = ("-g", localenv["thread_flags"], f"-Wl,-rpath,{localenv['ct_libdir']}")

localenv["tmpl_compiler_flags"] = repr(cc_flags)
localenv['tmpl_cantera_incdirs'] = repr([x for x in incdirs if x])
Expand Down
12 changes: 6 additions & 6 deletions samples/f90/SConscript
Expand Up @@ -16,20 +16,20 @@ for programName, sources in samples:
LINK='$FORTRAN_LINK')

# Generate SConstruct files to be installed
linkflags = ["-g", localenv["thread_flags"]]
incdirs = [pjoin(localenv["ct_incroot"], "cantera")] # path to fortran .mod
libdirs = [localenv["ct_libdir"]]
libdirs = []
if not localenv["package_build"]:
incdirs.extend([localenv["sundials_include"], localenv["boost_inc_dir"]])
incdirs.append(localenv["hdf_include"])
incdirs.extend(localenv["extra_inc_dirs"])
incdirs = list(set(incdirs))
linkflags.append(f"-Wl,-rpath,{localenv['ct_libdir']}")
libdirs = [localenv["ct_libdir"]]
libdirs.extend([localenv["sundials_libdir"], localenv["blas_lapack_dir"]])
libdirs.append(localenv["hdf_libdir"])
libdirs.extend(localenv["extra_lib_dirs"])
libdirs = list(set(libdirs))
else:
libdirs = []

libs = ['cantera_fortran'] + localenv['cantera_libs'] + env['cxx_stdlib']
linkflags = ("-g", localenv["thread_flags"], f"-Wl,-rpath,{localenv['ct_libdir']}")

localenv['tmpl_cantera_incdirs'] = repr([x for x in incdirs if x])
localenv['tmpl_cantera_libs'] = repr(libs)
Expand Down

0 comments on commit 101dc11

Please sign in to comment.