[pkg-d-commits] [ldc] 168/211: Make "LIB_SUFFIX" a global cmake option (not just for the runtime) and use it also to define the LTO plugin install/search location.
Matthias Klumpp
mak at moszumanska.debian.org
Sun Apr 23 22:36:20 UTC 2017
This is an automated email from the git hooks/post-receive script.
mak pushed a commit to annotated tag v1.1.0
in repository ldc.
commit 4637101063acb6aa28c4cd87472131a631dc63d2
Author: Johan Engelen <jbc.engelen at gmail.com>
Date: Mon Nov 28 14:37:42 2016 +0100
Make "LIB_SUFFIX" a global cmake option (not just for the runtime) and use it also to define the LTO plugin install/search location.
---
CMakeLists.txt | 20 ++++++++++++--------
driver/exe_path.cpp | 2 +-
runtime/CMakeLists.txt | 5 -----
3 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 06fcc1d..ea5273d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -80,6 +80,9 @@ set(PROGRAM_PREFIX "" CACHE STRING "Prepended to ldc/ldmd binary names")
set(PROGRAM_SUFFIX "" CACHE STRING "Appended to ldc/ldmd binary names")
set(CONF_INST_DIR ${SYSCONF_INSTALL_DIR} CACHE PATH "Directory ldc.conf is installed to")
+# Note: LIB_SUFFIX should perhaps be renamed to LDC_LIBDIR_SUFFIX.
+set(LIB_SUFFIX "" CACHE STRING "Appended to the library installation directory. Set to '64' to install libraries into ${PREFIX}/lib64.")
+
# The following flags are currently not well tested, expect the build to fail.
option(GENERATE_OFFTI "generate complete ClassInfo.offTi arrays")
mark_as_advanced(GENERATE_OFFTI)
@@ -439,6 +442,7 @@ append("-DIN_LLVM" CMAKE_CXX_FLAGS)
append("-DOPAQUE_VTBLS" CMAKE_CXX_FLAGS)
append("-DLDC_INSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\"" CMAKE_CXX_FLAGS)
append("-DLDC_LLVM_VER=${LDC_LLVM_VER}" CMAKE_CXX_FLAGS)
+append("-DLDC_LIBDIR_SUFFIX=\"\\\"${LIB_SUFFIX}\\\"\"" CMAKE_CXX_FLAGS)
if(GENERATE_OFFTI)
append("-DGENERATE_OFFTI" CMAKE_CXX_FLAGS)
@@ -510,8 +514,8 @@ add_library(${LDC_LIB} ${LDC_LIB_TYPE} ${LDC_CXX_SOURCE_FILES} ${DRV_SRC} ${DRV_
set_target_properties(
${LDC_LIB} PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin
- LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib
- ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib
+ LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}
+ ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}
ARCHIVE_OUTPUT_NAME ldc
LIBRARY_OUTPUT_NAME ldc
RUNTIME_OUTPUT_NAME ldc
@@ -657,8 +661,8 @@ set_source_files_properties(driver/exe_path.cpp driver/ldmd.cpp driver/response.
add_library(LDMD_CXX_LIB ${LDC_LIB_TYPE} driver/exe_path.cpp driver/ldmd.cpp driver/response.cpp driver/exe_path.h)
set_target_properties(
LDMD_CXX_LIB PROPERTIES
- LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib
- ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib
+ LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}
+ ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}
ARCHIVE_OUTPUT_NAME ldmd
LIBRARY_OUTPUT_NAME ldmd
)
@@ -702,7 +706,7 @@ if(${BUILD_SHARED})
# For now, only install libldc if explicitly building the shared library.
# While it might theoretically be possible to use LDC as a static library
# as well, for the time being this just bloats the normal packages.
- install(TARGETS ${LDC_LIB} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+ install(TARGETS ${LDC_LIB} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
endif()
install(FILES ${PROJECT_BINARY_DIR}/bin/${LDC_EXE}_install.conf DESTINATION ${CONF_INST_DIR} RENAME ${LDC_EXE}.conf)
@@ -736,9 +740,9 @@ elseif(UNIX)
endif()
if(EXISTS ${LLVM_LTO_BINARY})
message(STATUS "Also installing LTO binary: ${LLVM_LTO_BINARY}")
- file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
- configure_file(${LLVM_LTO_BINARY} ${PROJECT_BINARY_DIR}/lib/${LDC_LTO_BINARY_NAME} COPYONLY)
- install(PROGRAMS ${PROJECT_BINARY_DIR}/lib/${LDC_LTO_BINARY_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
+ file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX})
+ configure_file(${LLVM_LTO_BINARY} ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}/${LDC_LTO_BINARY_NAME} COPYONLY)
+ install(PROGRAMS ${PROJECT_BINARY_DIR}/lib${LIB_SUFFIX}/${LDC_LTO_BINARY_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
endif()
#
diff --git a/driver/exe_path.cpp b/driver/exe_path.cpp
index 6d18b23..430b2e6 100644
--- a/driver/exe_path.cpp
+++ b/driver/exe_path.cpp
@@ -48,7 +48,7 @@ string exe_path::getBaseDir() {
string exe_path::getLibDir() {
llvm::SmallString<128> r(getBaseDir());
- path::append(r, "lib");
+ path::append(r, "lib" LDC_LIBDIR_SUFFIX);
return r.str();
}
diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt
index 50faf8f..aa57dd3 100644
--- a/runtime/CMakeLists.txt
+++ b/runtime/CMakeLists.txt
@@ -19,11 +19,6 @@ if(MSVC)
set(LINK_WITH_MSVCRT OFF CACHE BOOL "Link with MSVCRT.lib (DLL) instead of LIBCMT.lib (static)")
endif()
-# Note: In the below building helpers, this is more fittingly called
-# ${path_suffix}. ${lib_suffix} refers to the library file suffix there
-# (e.g. -debug).
-set(LIB_SUFFIX "" CACHE STRING "'64' to install libraries into ${PREFIX}/lib64")
-
set(CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
include(CheckTypeSize)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-d/ldc.git
More information about the pkg-d-commits
mailing list