From: Tim Kientzle Date: Sun, 18 Jan 2009 19:21:01 +0000 (-0500) Subject: More work on out-of-source builds. Put the YACC output files X-Git-Tag: v2.7.0~416 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3133e6d6f006ae4ca7c848b7755d32044cbf7c58;p=thirdparty%2Flibarchive.git More work on out-of-source builds. Put the YACC output files and the constructed config.h file in the binary dir SVN-Revision: 442 --- diff --git a/CMakeLists.txt b/CMakeLists.txt index abd6e00e8..bf9fb1030 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,11 +3,11 @@ PROJECT(libarchive) # CMAKE_MINIMUM_REQUIRED(VERSION 2.6.1) -SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") +SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") # # Version - read from 'version' file. # -FILE(STRINGS ${CMAKE_CURRENT_SOURCE_DIR}/version _version) +FILE(STRINGS ${CMAKE_SOURCE_DIR}/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 @@ -66,10 +66,11 @@ MACRO (YACC_FILE _yaccfile) GET_FILENAME_COMPONENT(_path ${_yaccfile} PATH) GET_FILENAME_COMPONENT(_name ${_yaccfile} NAME_WE) SET(_basename "${_path}/${_name}") + FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${_path}") ADD_CUSTOM_COMMAND( - OUTPUT ${_basename}.c - COMMAND ${YACC} -o ${_basename}.c ${_yaccfile} - DEPENDS ${_yaccfile} + OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.c ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.h + COMMAND ${YACC} -o ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.c ${CMAKE_CURRENT_SOURCE_DIR}/${_yaccfile} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_yaccfile} COMMENT "Generating ${_basename}.c from ${_yaccfile}" ) ENDMACRO (YACC_FILE) @@ -413,6 +414,8 @@ ENDIF(ENABLE_ACL) # Generate "config.h" from "cmake/config.h.in" CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/cmake/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) +ADD_DEFINITIONS(-DHAVE_CONFIG_H) ############################################ # @@ -514,7 +517,6 @@ IF(WIN32) ENDIF(WIN32) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/libarchive) -ADD_DEFINITIONS(-DHAVE_CONFIG_H) # IF(MSVC) ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)