]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
More work on out-of-source builds. Put the YACC output files
authorTim Kientzle <kientzle@gmail.com>
Sun, 18 Jan 2009 19:21:01 +0000 (14:21 -0500)
committerTim Kientzle <kientzle@gmail.com>
Sun, 18 Jan 2009 19:21:01 +0000 (14:21 -0500)
and the constructed config.h file in the binary dir

SVN-Revision: 442

CMakeLists.txt

index abd6e00e8fcf9c48a04d5a575bd6724cdcac8b98..bf9fb10303aedad229bf5163df07ba4349764d0a 100644 (file)
@@ -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)