]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
A few Cmake build improvements from Issue 48:
authorTim Kientzle <kientzle@gmail.com>
Sun, 13 Dec 2009 23:30:00 +0000 (18:30 -0500)
committerTim Kientzle <kientzle@gmail.com>
Sun, 13 Dec 2009 23:30:00 +0000 (18:30 -0500)
 * Use the path holding the current file to make the build/cmake/*.cmake
   files more independent
 * Use CMAKE_CURRENT_SOURCE_DIR in the top-level CMakeLists.txt to locate
   the macro files and the version file.

SVN-Revision: 1733

CMakeLists.txt
build/cmake/CheckFileOffsetBits.cmake
build/cmake/CheckFuncs.cmake

index 8cc6dbede832bb65864ec4493eec9852fbd64612..92aac98b78a32d708cfd9edbdeadb82174afddca 100644 (file)
@@ -3,11 +3,11 @@
 PROJECT(libarchive C)
 #
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6.3 FATAL_ERROR)
-SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/build/cmake")
+SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/cmake")
 #
 # Version - read from 'version' file.
 #
-FILE(STRINGS ${CMAKE_SOURCE_DIR}/build/version _version)
+FILE(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/build/version _version)
 STRING(REGEX REPLACE
  "^([0-9])[0-9][0-9][0-9][0-9][0-9][0-9][a-z]?$" "\\1" _major ${_version})
 STRING(REGEX REPLACE
index 2f551e80f49df0d175d6b7ff2dcb31571530c270..4132b387e178d4e1f83dd457dd4a702ba1045a30 100644 (file)
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
-
 #INCLUDE(CheckCXXSourceCompiles)
 
-MACRO (CHECK_FILE_OFFSET_BITS)
+GET_FILENAME_COMPONENT(_selfdir_CheckFileOffsetBits
+        "${CMAKE_CURRENT_LIST_FILE}" PATH)
 
+MACRO (CHECK_FILE_OFFSET_BITS)
   IF(NOT DEFINED _FILE_OFFSET_BITS)
     MESSAGE(STATUS "Cheking _FILE_OFFSET_BITS for large files")
     TRY_COMPILE(__WITHOUT_FILE_OFFSET_BITS_64
-      ${CMAKE_BINARY_DIR}
-      ${CMAKE_SOURCE_DIR}/build/cmake/CheckFileOffsetBits.c
+      ${CMAKE_CURRENT_BINARY_DIR}
+      ${_selfdir_CheckFileOffsetBits}/CheckFileOffsetBits.c
       COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS})
     IF(NOT __WITHOUT_FILE_OFFSET_BITS_64)
       TRY_COMPILE(__WITH_FILE_OFFSET_BITS_64
-        ${CMAKE_BINARY_DIR}
-        ${CMAKE_SOURCE_DIR}/build/cmake/CheckFileOffsetBits.c
+        ${CMAKE_CURRENT_BINARY_DIR}
+        ${_selfdir_CheckFileOffsetBits}/CheckFileOffsetBits.c
         COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} -D_FILE_OFFSET_BITS=64)
     ENDIF(NOT __WITHOUT_FILE_OFFSET_BITS_64)
 
index e9a5933a18acd9dd4f3e9b0441d385faaecd8336..0670df97f869038db01860ec6f6be485f685b33d 100644 (file)
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
 INCLUDE(CheckFunctionExists)
+GET_FILENAME_COMPONENT(_selfdir_CheckFunctionExistsGlibc
+        "${CMAKE_CURRENT_LIST_FILE}" PATH)
 
 MACRO (CHECK_FUNCTION_EXISTS_GLIBC _FUNC _FUNCVAR)
    IF(NOT DEFINED ${_FUNCVAR})
      SET(CHECK_STUB_FUNC_1 "__stub_${_FUNC}")
      SET(CHECK_STUB_FUNC_2 "__stub___${_FUNC}")
-     CONFIGURE_FILE( ${libarchive_SOURCE_DIR}/build/cmake/CheckFuncs_stub.c.in
-       ${CMAKE_BINARY_DIR}/cmake.tmp/CheckFuncs_stub.c IMMEDIATE)
+     CONFIGURE_FILE( ${_selfdir_CheckFunctionExistsGlibc}/CheckFuncs_stub.c.in
+       ${CMAKE_CURRENT_BINARY_DIR}/cmake.tmp/CheckFuncs_stub.c IMMEDIATE)
      TRY_COMPILE(__stub
-       ${CMAKE_BINARY_DIR}
-       ${CMAKE_BINARY_DIR}/cmake.tmp/CheckFuncs_stub.c
+       ${CMAKE_CURRENT_BINARY_DIR}
+       ${CMAKE_CURRENT_BINARY_DIR}/cmake.tmp/CheckFuncs_stub.c
        COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
        CMAKE_FLAGS
        -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_INCLUDE_FILE_FLAGS}