Skip to content

Commit

Permalink
qmake|SDK: Determining install location of libraries
Browse files Browse the repository at this point in the history
Added a macro for figuring out what is the appropriate Unix library
directory.
  • Loading branch information
skyjake committed Feb 27, 2014
1 parent 7bf20d3 commit a55a478
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 32 deletions.
38 changes: 19 additions & 19 deletions doomsday/config.pri
Expand Up @@ -100,25 +100,6 @@ isStableRelease(): DEFINES += DENG_STABLE
# Options defined by the user (may not exist).
exists(config_user.pri): include(config_user.pri)

win32: include(config_win32.pri)
else:macx: include(config_macx.pri)
else: include(config_unix.pri)

# Apply deng_* Configuration -------------------------------------------------

deng_nofixedasm {
DEFINES += DENG_NO_FIXED_ASM
}
!deng_rangecheck {
DEFINES += DENG_NO_RANGECHECKING
}
deng_nosdlmixer|deng_nosdl {
DEFINES += DENG_DISABLE_SDLMIXER
}
deng_nosdl {
DEFINES += DENG_NO_SDL
}

deng_sdk {
# SDK install location.
!isEmpty(SDK_PREFIX) {
Expand All @@ -140,6 +121,25 @@ deng_sdk {
echo(SDK library directory: $$DENG_SDK_LIB_DIR)
}

win32: include(config_win32.pri)
else:macx: include(config_macx.pri)
else: include(config_unix.pri)

# Apply deng_* Configuration -------------------------------------------------

deng_nofixedasm {
DEFINES += DENG_NO_FIXED_ASM
}
!deng_rangecheck {
DEFINES += DENG_NO_RANGECHECKING
}
deng_nosdlmixer|deng_nosdl {
DEFINES += DENG_DISABLE_SDLMIXER
}
deng_nosdl {
DEFINES += DENG_NO_SDL
}

unix:deng_ccache {
# ccache can be used to speed up recompilation.
*-clang* {
Expand Down
16 changes: 3 additions & 13 deletions doomsday/config_unix.pri
Expand Up @@ -30,26 +30,16 @@ DENG_BIN_DIR = $$PREFIX/bin

# Library location.
isEmpty(DENG_LIB_DIR) {
DENG_LIB_DIR = $$PREFIX/lib

contains(QMAKE_HOST.arch, x86_64) {
exists($$PREFIX/lib64) {
DENG_LIB_DIR = $$PREFIX/lib64
}
exists($$PREFIX/lib/x86_64-linux-gnu) {
DENG_LIB_DIR = $$PREFIX/lib/x86_64-linux-gnu
}
}
deng_sdk: DENG_LIB_DIR = $$findLibDir($$DENG_SDK_DIR)
else: DENG_LIB_DIR = $$findLibDir($$PREFIX)
}

# Target location for plugin libraries.
DENG_PLUGIN_LIB_DIR = $$DENG_LIB_DIR/doomsday

# When installing libraries to a non-standard location, instruct
# the linker where to find them.
!contains(DENG_LIB_DIR, ^/usr/.*) {
QMAKE_LFLAGS += -Wl,-rpath,$$DENG_LIB_DIR
}
!contains(DENG_LIB_DIR, ^/usr/.*): QMAKE_LFLAGS += -Wl,-rpath,$$DENG_LIB_DIR

DENG_BASE_DIR = $$PREFIX/share/doomsday
DENG_DATA_DIR = $$DENG_BASE_DIR/data
Expand Down
15 changes: 15 additions & 0 deletions doomsday/macros.pri
Expand Up @@ -24,6 +24,21 @@ defineTest(echo) {
}
}

defineReplace(findLibDir) {
# Determines the appropriate library directory given prefix $$1
prefix = $$1
dir = $$prefix/lib
contains(QMAKE_HOST.arch, x86_64) {
exists($$prefix/lib64) {
dir = $$prefix/lib64
}
exists($$prefix/lib/x86_64-linux-gnu) {
dir = $$prefix/lib/x86_64-linux-gnu
}
}
return($$dir)
}

defineTest(useLibDir) {
btype = ""
win32 {
Expand Down

0 comments on commit a55a478

Please sign in to comment.