From 075f8449f80fe71c25d4a86db8e725d23d039fb7 Mon Sep 17 00:00:00 2001 From: beder Date: Tue, 18 Oct 2011 14:43:48 -0500 Subject: [PATCH] Couldn't get the copy command to work for yaml.h, so switched to configure_file --- CMakeLists.txt | 22 +++++++++---------- include/yaml-cpp/yaml-old-api.h | 18 --------------- .../yaml-cpp/{yaml-new-api.h => yaml.h.cmake} | 11 ++++++++++ 3 files changed, 21 insertions(+), 30 deletions(-) delete mode 100644 include/yaml-cpp/yaml-old-api.h rename include/yaml-cpp/{yaml-new-api.h => yaml.h.cmake} (79%) diff --git a/CMakeLists.txt b/CMakeLists.txt index b72a67e..0f46036 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -52,6 +52,16 @@ option(APPLE_UNIVERSAL_BIN "Apple: Build universal binary" OFF) option(MSVC_SHARED_RT "MSVC: Build with shared runtime libs (/MD)" ON) option(MSVC_STHREADED_RT "MSVC: Build with single-threaded static runtime libs (/ML until VS .NET 2003)" OFF) +### +### Configure the main header +### +if(YAML_CPP_BUILD_OLD_API) + set(API_DEFINE "#define YAML_CPP_OLD_API") +else() + set(API_DEFINE "#undef YAML_CPP_OLD_API") +endif() + +configure_file(${YAML_CPP_SOURCE_DIR}/include/yaml-cpp/yaml.h.cmake ${YAML_CPP_SOURCE_DIR}/include/yaml-cpp/yaml.h @ONLY) ### ### Sources, headers, directories and libs @@ -79,22 +89,10 @@ if(YAML_CPP_BUILD_OLD_API) list(APPEND public_headers ${common_public_headers} ${old_api_public_headers}) list(APPEND private_headers ${common_private_headers} ${old_api_private_headers}) add_definitions(-DYAML_CPP_OLD_API) - - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/include/yaml-cpp/yaml.h - COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_SOURCE_DIR}/include/yaml-cpp/yaml-old-api.h ${CMAKE_CURRENT_SOURCE_DIR}/include/yaml-cpp/yaml.h - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/include/yaml-cpp/yaml-old-api.h - ) else() list(APPEND sources ${common_sources} ${new_api_sources}) list(APPEND public_headers ${common_public_headers} ${new_api_public_headers}) list(APPEND private_headers ${common_private_headers} ${new_api_private_headers}) - - ADD_CUSTOM_COMMAND( - OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/include/yaml-cpp/yaml.h - COMMAND ${CMAKE_COMMAND} copy ${CMAKE_CURRENT_SOURCE_DIR}/include/yaml-cpp/yaml-new-api.h ${CMAKE_CURRENT_SOURCE_DIR}/include/yaml-cpp/yaml.h - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/include/yaml-cpp/yaml-new-api.h - ) endif() if(YAML_CPP_BUILD_CONTRIB) diff --git a/include/yaml-cpp/yaml-old-api.h b/include/yaml-cpp/yaml-old-api.h deleted file mode 100644 index 8fa5854..0000000 --- a/include/yaml-cpp/yaml-old-api.h +++ /dev/null @@ -1,18 +0,0 @@ -#ifndef YAML_H_62B23520_7C8E_11DE_8A39_0800200C9A66 -#define YAML_H_62B23520_7C8E_11DE_8A39_0800200C9A66 - -#if defined(_MSC_VER) || (defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ >= 4)) // GCC supports "pragma once" correctly since 3.4 -#pragma once -#endif - - -#include "yaml-cpp/parser.h" -#include "yaml-cpp/emitter.h" -#include "yaml-cpp/stlemitter.h" -#include "yaml-cpp/exceptions.h" - -#include "yaml-cpp/old-api/node.h" -#include "yaml-cpp/old-api/stlnode.h" -#include "yaml-cpp/old-api/iterator.h" - -#endif // YAML_H_62B23520_7C8E_11DE_8A39_0800200C9A66 diff --git a/include/yaml-cpp/yaml-new-api.h b/include/yaml-cpp/yaml.h.cmake similarity index 79% rename from include/yaml-cpp/yaml-new-api.h rename to include/yaml-cpp/yaml.h.cmake index 0b609c6..9f2c360 100644 --- a/include/yaml-cpp/yaml-new-api.h +++ b/include/yaml-cpp/yaml.h.cmake @@ -5,12 +5,21 @@ #pragma once #endif +@API_DEFINE@ #include "yaml-cpp/parser.h" #include "yaml-cpp/emitter.h" #include "yaml-cpp/stlemitter.h" #include "yaml-cpp/exceptions.h" +#ifdef YAML_CPP_OLD_API + +#include "yaml-cpp/old-api/node.h" +#include "yaml-cpp/old-api/stlnode.h" +#include "yaml-cpp/old-api/iterator.h" + +#else + #include "yaml-cpp/node/node.h" #include "yaml-cpp/node/impl.h" #include "yaml-cpp/node/convert.h" @@ -19,4 +28,6 @@ #include "yaml-cpp/node/parse.h" #include "yaml-cpp/node/emit.h" +#endif // YAML_CPP_OLD_API + #endif // YAML_H_62B23520_7C8E_11DE_8A39_0800200C9A66