-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dont use global include dir #89
base: master
Are you sure you want to change the base?
Changes from all commits
c52aa46
8ab8918
7c11f74
0051c34
70e0574
fa9af07
a619e89
0a69079
21cd83a
9e9c919
37a64d2
c004339
c18ce38
8dcd3ab
4048bcf
dcb990f
4366aff
0ddf426
90015b2
0d0d854
41bd679
674f357
b14ce52
4478066
936ca1e
e5021aa
3d2fcd1
7e17de7
72c0eaf
4247383
dfc28db
12becfb
887b08d
b03e046
c60ca42
7011815
8ee6cf4
e723cf0
a41cd2c
1679edc
750aab1
de35535
3bd0bed
5e754d2
4929807
acf16d5
8fc1c29
bd0d22a
bce0429
a7c6fd5
8245bea
7a4db1f
c58aaa2
aed37d1
9a57805
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -56,7 +56,8 @@ def w(obj, prefix, verbose, build_path, *args, **kwargs): | |
@click.option('-D', '--define', multiple=True, help="Extra configuration variables to pass to CMake") | ||
@click.option('--shared', is_flag=True, help="Set toolchain to build shared libraries by default") | ||
@click.option('--static', is_flag=True, help="Set toolchain to build static libraries by default") | ||
def init_command(prefix, toolchain, cc, cxx, cflags, cxxflags, ldflags, std, define, shared, static): | ||
@click.option('--no-global-include', is_flag=True, help="Don't use global include dir (required for -X header)") | ||
def init_command(prefix, toolchain, cc, cxx, cflags, cxxflags, ldflags, std, define, shared, static, no_global_include): | ||
""" Initialize install directory """ | ||
if shared and static: | ||
click.echo("ERROR: shared and static are not supported together") | ||
|
@@ -73,7 +74,9 @@ def init_command(prefix, toolchain, cc, cxx, cflags, cxxflags, ldflags, std, def | |
cxxflags=cxxflags, | ||
ldflags=ldflags, | ||
std=std, | ||
defines=defines) | ||
defines=defines, | ||
no_global_include=no_global_include | ||
) | ||
|
||
@cli.command(name='install') | ||
@use_prefix | ||
|
@@ -87,8 +90,10 @@ def init_command(prefix, toolchain, cc, cxx, cflags, cxxflags, ldflags, std, def | |
@click.option('--debug', is_flag=True, help="Install debug version") | ||
@click.option('--release', is_flag=True, help="Install release version") | ||
@click.option('--insecure', is_flag=True, help="Don't use https urls") | ||
@click.option('--use-build-cache', is_flag=True, help="Cache builds") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This shouldn't have the build cache changes. |
||
@click.option('--recipe-deps-only', is_flag=True, help="only use dependencies from recipes (speeds up cached builds a lot)") | ||
@click.argument('pkgs', nargs=-1, type=click.STRING) | ||
def install_command(prefix, pkgs, define, file, test, test_all, update, generator, cmake, debug, release, insecure): | ||
def install_command(prefix, pkgs, define, file, test, test_all, update, generator, cmake, debug, release, insecure, use_build_cache, recipe_deps_only): | ||
""" Install packages """ | ||
if debug and release: | ||
click.echo("ERROR: debug and release are not supported together") | ||
|
@@ -102,7 +107,16 @@ def install_command(prefix, pkgs, define, file, test, test_all, update, generato | |
for pbu in util.flat([prefix.from_file(file), pbs]): | ||
pb = pbu.merge_defines(define) | ||
with prefix.try_("Failed to build package {}".format(pb.to_name()), on_fail=lambda: prefix.remove(pb)): | ||
click.echo(prefix.install(pb, test=test, test_all=test_all, update=update, generator=generator, insecure=insecure)) | ||
click.echo(prefix.install( | ||
pb, | ||
test=test, | ||
test_all=test_all, | ||
update=update, | ||
generator=generator, | ||
insecure=insecure, | ||
use_build_cache=use_build_cache, | ||
recipe_deps_only=recipe_deps_only | ||
)) | ||
|
||
@cli.command(name='ignore') | ||
@use_prefix | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -60,14 +60,6 @@ macro(preamble PREFIX) | |
endforeach() | ||
adjust_path(${PREFIX}_SYSTEM_PATH) | ||
|
||
set(${PREFIX}_PKG_CONFIG_PATH) | ||
foreach(P ${PREFIX_PATH} ${PREFIX_SYSTEM_PATH}) | ||
foreach(SUFFIX lib lib${${PREFIX}_ADDRESS_MODEL} share) | ||
list(APPEND ${PREFIX}_PKG_CONFIG_PATH ${P}/${SUFFIX}/pkgconfig) | ||
endforeach() | ||
endforeach() | ||
adjust_path(${PREFIX}_PKG_CONFIG_PATH) | ||
|
||
get_property_list(${PREFIX}_COMPILE_FLAGS COMPILE_OPTIONS) | ||
get_directory_property(${PREFIX}_INCLUDE_DIRECTORIES INCLUDE_DIRECTORIES) | ||
foreach(DIR ${${PREFIX}_INCLUDE_DIRECTORIES}) | ||
|
@@ -86,11 +78,12 @@ macro(preamble PREFIX) | |
endif() | ||
endforeach() | ||
get_directory_property(${PREFIX}_LINK_DIRECTORIES LINK_DIRECTORIES) | ||
get_property_list(${PREFIX}_LINK_FLAGS LINK_FLAGS) | ||
foreach(LIB_DIR ${${PREFIX}_LINK_DIRECTORIES}) | ||
if(MSVC) | ||
string(APPEND ${PREFIX}_LINK_FLAGS " /LIBPATH:${LIB_DIR}") | ||
else() | ||
string(APPEND ${PREFIX}_LINK_FLAGS " -L ${LIB_DIR}") | ||
string(APPEND ${PREFIX}_LINK_FLAGS " -L${LIB_DIR}") | ||
endif() | ||
endforeach() | ||
|
||
|
@@ -112,13 +105,11 @@ macro(preamble PREFIX) | |
set(${PREFIX}_LINK_FLAGS "${${PREFIX}_LINK_FLAGS} -isysroot ${CMAKE_OSX_SYSROOT}") | ||
endif (APPLE) | ||
|
||
get_property_list(${PREFIX}_LINK_FLAGS LINK_FLAGS) | ||
if(BUILD_SHARED_LIBS) | ||
string(APPEND ${PREFIX}_LINK_FLAGS " ${CMAKE_SHARED_LINKER_FLAGS}") | ||
else() | ||
string(APPEND ${PREFIX}_LINK_FLAGS " ${CMAKE_STATIC_LINKER_FLAGS}") | ||
endif() | ||
get_property_list(${PREFIX}_LINK_FLAGS LINK_FLAGS) | ||
|
||
foreach(LANG C CXX) | ||
foreach(DIR ${CMAKE_${LANG}_STANDARD_INCLUDE_DIRECTORIES}) | ||
|
@@ -146,14 +137,8 @@ macro(preamble PREFIX) | |
|
||
set(${PREFIX}_BASE_ENV_COMMAND ${CMAKE_COMMAND} -E env | ||
"PATH=${${PREFIX}_SYSTEM_PATH}${PATH_SEP}$ENV{PATH}" | ||
"PKG_CONFIG_PATH=${${PREFIX}_PKG_CONFIG_PATH}" | ||
) | ||
|
||
# TODO: Set also PKG_CONFIG_SYSROOT_DIR | ||
if(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE STREQUAL "ONLY") | ||
list(APPEND ${PREFIX}_BASE_ENV_COMMAND "PKG_CONFIG_LIBDIR=${${PREFIX}_PKG_CONFIG_PATH}") | ||
endif() | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This shouldn't skip setting pkg config paths. Either way, I would prefer these changes in a seperate PR. |
||
|
||
set(${PREFIX}_ENV_COMMAND ${${PREFIX}_BASE_ENV_COMMAND} | ||
"CC=${CMAKE_C_COMPILER}" | ||
"CXX=${CMAKE_CXX_COMPILER}" | ||
|
@@ -181,7 +166,19 @@ list(APPEND CONFIGURE_OPTIONS | |
) | ||
endif() | ||
|
||
execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/configure --help OUTPUT_VARIABLE AUTOTOOLS_AVAILABLE_OPTIONS) | ||
|
||
set(AUTOTOOLS_RUN_AUTOGEN_SH Off CACHE BOOL "") | ||
if (AUTOTOOLS_RUN_AUTOGEN_SH) | ||
execute_process( | ||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/autogen.sh | ||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} | ||
) | ||
endif (AUTOTOOLS_RUN_AUTOGEN_SH) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be put in a seperate PR. |
||
|
||
execute_process( | ||
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/configure --help | ||
OUTPUT_VARIABLE AUTOTOOLS_AVAILABLE_OPTIONS | ||
) | ||
|
||
if(AUTOTOOLS_AVAILABLE_OPTIONS MATCHES "--disable-option-checking") | ||
set(AUTOTOOL_IMPLICIT_CONFIGURE_OPTIONS On CACHE BOOL "") | ||
|
@@ -200,6 +197,7 @@ if(AUTOTOOL_IMPLICIT_CONFIGURE_OPTIONS) | |
endif() | ||
endif() | ||
|
||
|
||
message(STATUS "Configure options: ${CONFIGURE_OPTIONS}") | ||
|
||
# TODO: Check flags of configure script | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about naming this
--disable-global-include
?