From: Tim Kientzle Date: Sun, 3 Jan 2010 21:25:38 +0000 (-0500) Subject: Issue 48: Instead of setting RUNTIME_OUTPUT_DIRECTORY separately for X-Git-Tag: v2.8.0~30 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5cd96832b563045304fe1655afcbc26c02e0840a;p=thirdparty%2Flibarchive.git Issue 48: Instead of setting RUNTIME_OUTPUT_DIRECTORY separately for each component, set CMAKE_RUNTIME_OUTPUT_DIRECTORY once at the top and let each component inherit that implicitly. This allows other projects that want to include libarchive to do so a little more simply. SVN-Revision: 1800 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 2728a14d7..af0a7f23e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,10 @@ PROJECT(libarchive C) # CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR) SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake") +if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${libarchive_BINARY_DIR}/bin) +endif() + # # Version - read from 'version' file. # diff --git a/cpio/CMakeLists.txt b/cpio/CMakeLists.txt index 3cafb7d7c..ce500b1cc 100644 --- a/cpio/CMakeLists.txt +++ b/cpio/CMakeLists.txt @@ -38,11 +38,6 @@ IF(ENABLE_CPIO) SET_TARGET_PROPERTIES(bsdcpio PROPERTIES COMPILE_DEFINITIONS LIBARCHIVE_STATIC) ENDIF(ENABLE_CPIO_SHARED) - # On Windows, DLL must end up in same dir with EXEs - IF(WIN32 AND NOT CYGWIN) - SET_TARGET_PROPERTIES(bsdcpio PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) - ENDIF(WIN32 AND NOT CYGWIN) # Full path to the compiled executable (used by test suite) GET_TARGET_PROPERTY(BSDCPIO bsdcpio LOCATION) diff --git a/libarchive/CMakeLists.txt b/libarchive/CMakeLists.txt index 587bcfb94..459a5ddbb 100644 --- a/libarchive/CMakeLists.txt +++ b/libarchive/CMakeLists.txt @@ -118,15 +118,11 @@ ENDIF(WIN32 AND NOT CYGWIN) ADD_LIBRARY(archive SHARED ${libarchive_SOURCES} ${include_HEADERS}) TARGET_LINK_LIBRARIES(archive ${ADDITIONAL_LIBS}) SET_TARGET_PROPERTIES(archive PROPERTIES SOVERSION ${SOVERSION}) -SET_TARGET_PROPERTIES(archive PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) # archive_static is a static library ADD_LIBRARY(archive_static STATIC ${libarchive_SOURCES} ${include_HEADERS}) SET_TARGET_PROPERTIES(archive_static PROPERTIES COMPILE_DEFINITIONS LIBARCHIVE_STATIC) -SET_TARGET_PROPERTIES(archive_static PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) # On Posix systems, libarchive.so and libarchive.a can co-exist. IF(NOT WIN32 OR CYGWIN) SET_TARGET_PROPERTIES(archive_static PROPERTIES OUTPUT_NAME archive) diff --git a/tar/CMakeLists.txt b/tar/CMakeLists.txt index d70022334..2ed8161d9 100644 --- a/tar/CMakeLists.txt +++ b/tar/CMakeLists.txt @@ -45,11 +45,6 @@ IF (ENABLE_TAR) SET_TARGET_PROPERTIES(bsdtar PROPERTIES COMPILE_DEFINITIONS LIBARCHIVE_STATIC) ENDIF(ENABLE_TAR_SHARED) - # On Windows, DLL must end up in same dir with EXEs - IF(WIN32 AND NOT CYGWIN) - SET_TARGET_PROPERTIES(bsdtar PROPERTIES - RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) - ENDIF(WIN32 AND NOT CYGWIN) GET_TARGET_PROPERTY(BSDTAR bsdtar LOCATION) # Installation rules