Speed up the GenerateExportHeader unit test (#14453).

Instead of running many small tests with many cmake projects, simply
compare the generated export header against a reference.

Remove the helper macros and the try_compiles which are duplicates
of the library build tests.
This commit is contained in:
Stephen Kelly 2013-12-11 01:01:50 +01:00
parent a2489ce49c
commit 4017db13aa
17 changed files with 567 additions and 183 deletions

View File

@ -55,90 +55,6 @@ else()
endif()
endif()
set(DEPS
libshared
libstatic
lib_shared_and_static
)
foreach(DEP ${DEPS})
try_compile(Result ${CMAKE_CURRENT_BINARY_DIR}/${DEP}_build
${CMAKE_CURRENT_SOURCE_DIR}/${DEP}
${DEP}
OUTPUT_VARIABLE Out
)
if (NOT Result)
message("OUTPUT: ${Out}")
endif()
endforeach()
# The _do_build macro is called from a child scope, where
# the current source and binary dir are different. Save them here
# for use in the macro.
set(TEST_TOP_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(TEST_TOP_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
# We seem to get race conditions is writing this stuff to the same file at least on MinGW
# So to write to separate source and build directories, we use a count to differentiate.
set (COUNT 0)
macro(_do_build Include Library LibrarySource Source)
math(EXPR COUNT "${COUNT} + 1" )
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/src.cpp" "#include \"${Include}\"\n"
"int main() { ${Source}; }\n"
)
if ("${Library}" STREQUAL "static_variant")
set(CONDITIONAL_STATIC_DEFINE "add_definitions(-DLIBSHARED_AND_STATIC_STATIC_DEFINE)\n")
endif()
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}/CMakeLists.txt"
"cmake_minimum_required(VERSION 2.8)\n"
"project(compiletest)\n"
"set(CMAKE_INCLUDE_CURRENT_DIR ON)\n"
"set(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"\${CMAKE_CURRENT_BINARY_DIR}\")\n"
"include(GenerateExportHeader)\n"
"add_compiler_export_flags()\n"
"if(NOT \"${ERROR_FLAG}\" STREQUAL \"\")\n"
" add_definitions(${ERROR_FLAG})\n"
"endif()\n"
"include(\"${TEST_TOP_BINARY_DIR}/${LibrarySource}_build/Targets.cmake\")\n"
"include_directories(\"${TEST_TOP_SOURCE_DIR}/${LibrarySource}\"\n"
" \"${TEST_TOP_BINARY_DIR}/${LibrarySource}_build\")\n"
"${CONDITIONAL_STATIC_DEFINE}"
"add_executable(compiletest src.cpp)\n"
"target_link_libraries(compiletest ${Library})\n"
)
try_compile(Result ${CMAKE_CURRENT_BINARY_DIR}/fail${COUNT}
${CMAKE_CURRENT_BINARY_DIR}/test${COUNT}
compiletest
OUTPUT_VARIABLE Out
)
endmacro()
macro(build_fail Include Library LibrarySource Source Message)
_do_build(${Include} ${Library} ${LibrarySource} "${Source}")
test_fail(Result ${Message})
endmacro()
macro(build_pass Include Library LibrarySource Source Message)
_do_build(${Include} ${Library} ${LibrarySource} "${Source}")
test_pass(Result ${Message})
endmacro()
include(GenerateExportHeader)
add_subdirectory(visibility_preset)
@ -159,13 +75,11 @@ macro(macro_add_test_library name)
${${name}_BINARY_DIR} # For the export header.
)
list(APPEND link_libraries ${name})
add_subdirectory(${name}test)
endmacro()
macro_add_test_library(libshared)
macro_add_test_library(libstatic)
add_subdirectory(lib_shared_and_static)
add_subdirectory(lib_shared_and_statictest)
add_subdirectory(override_symbol)
add_subdirectory(nodeprecated)
@ -175,7 +89,6 @@ if(NOT BORLAND)
endif()
if (CMAKE_COMPILER_IS_GNUCXX OR (${CMAKE_CXX_COMPILER_ID} MATCHES Clang))
# We deliberately call deprecated methods, and test for that elsewhere.
# No need to clutter the test output with warnings.
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
endif()
@ -187,3 +100,24 @@ endif()
add_executable(GenerateExportHeader exportheader_test.cpp)
target_link_libraries(GenerateExportHeader ${link_libraries})
if (WIN32)
if(MSVC AND COMPILER_HAS_DEPRECATED)
set(_platform Win32)
elseif(MINGW AND COMPILER_HAS_DEPRECATED)
set(_platform MinGW)
else()
set(_platform WinEmpty)
endif()
elseif(COMPILER_HAS_HIDDEN_VISIBILITY AND USE_COMPILER_HIDDEN_VISIBILITY)
set(_platform UNIX)
elseif(COMPILER_HAS_DEPRECATED)
set(_platform UNIX_DeprecatedOnly)
else()
set(_platform Empty)
endif()
message("#### Testing reference: ${_platform}")
target_compile_definitions(GenerateExportHeader
PRIVATE
"SRC_DIR=${CMAKE_CURRENT_SOURCE_DIR}/reference/${_platform}"
"BIN_DIR=${CMAKE_CURRENT_BINARY_DIR}"
)

View File

@ -11,6 +11,52 @@
#define DOES_NOT_BUILD(function) function
#endif
#include <fstream>
#include <iostream>
#include <stdlib.h>
#include <string>
void compare(const char* refName, const char* testName)
{
std::ifstream ref;
ref.open(refName);
if (!ref.is_open())
{
std::cout << "Could not open \"" << refName << "\"." << std::endl;
exit(1);
}
std::ifstream test;
test.open(testName);
if (!test.is_open())
{
std::cout << "Could not open \"" << testName << "\"." << std::endl;
exit(1);
}
while (!ref.eof() && !test.eof())
{
std::string refLine;
std::string testLine;
std::getline(ref, refLine);
std::getline(test, testLine);
if (testLine.size() && testLine[testLine.size()-1] == ' ')
{
testLine = testLine.substr(0, testLine.size() - 1);
}
if (refLine != testLine)
{
std::cout << "Ref and test are not the same:\n Ref: \""
<< refLine << "\"\n Test: \"" << testLine << "\"\n";
exit(1);
}
}
if (!ref.eof() || !test.eof())
{
std::cout << "Ref and test have differing numbers of lines.";
exit(1);
}
}
int main()
{
{
@ -78,5 +124,13 @@ int main()
libstatic_not_exported();
libstatic_excluded();
#define STRINGIFY_IMPL(A) #A
#define STRINGIFY(A) STRINGIFY_IMPL(A)
compare(STRINGIFY(SRC_DIR) "/libshared_export.h",
STRINGIFY(BIN_DIR) "/libshared/libshared_export.h");
compare(STRINGIFY(SRC_DIR) "/libstatic_export.h",
STRINGIFY(BIN_DIR) "/libstatic/libstatic_export.h");
return 0;
}

View File

@ -1,33 +0,0 @@
macro(shared_variant_build_pass Source Message)
build_pass("libshared_and_static.h" "shared_variant" "lib_shared_and_static" "${Source}" ${Message})
endmacro()
macro(shared_variant_build_fail Source Message)
build_fail("libshared_and_static.h" "shared_variant" "lib_shared_and_static" "${Source}" ${Message})
endmacro()
macro(static_variant_build_pass Source Message)
build_pass("libshared_and_static.h" "static_variant" "lib_shared_and_static" "${Source}" ${Message})
endmacro()
macro(static_variant_build_fail Source Message)
build_fail("libshared_and_static.h" "static_variant" "lib_shared_and_static" "${Source}" ${Message})
endmacro()
static_variant_build_pass("return libshared_and_static_exported();" "Failed to build static variant")
shared_variant_build_pass("return libshared_and_static_exported();" "Failed to build shared variant")
# if (COMPILER_HAS_DEPRECATED)
# shared_variant_build_fail("return libshared_and_static_deprecated();" "Built shared deprecated variant")
# static_variant_build_fail("return libshared_and_static_deprecated();" "Built static deprecated variant")
# else()
# shared_variant_build_pass("return libshared_and_static_deprecated();" "Built shared deprecated variant")
# static_variant_build_pass("return libshared_and_static_deprecated();" "Built static deprecated variant")
# endif()
static_variant_build_pass("return libshared_and_static_not_exported();" "Failed to build static not exported variant")
if (WIN32 OR COMPILER_HAS_HIDDEN_VISIBILITY)
shared_variant_build_fail("return libshared_and_static_not_exported();" "Built shared not exported variant")
else()
shared_variant_build_pass("return libshared_and_static_not_exported();" "Built shared not exported variant")
endif()

View File

@ -1,45 +0,0 @@
macro(shared_build_pass Source Message)
build_pass("libshared.h" "libshared" "libshared" "${Source}" ${Message})
endmacro()
macro(shared_build_fail Source Message)
build_fail("libshared.h" "libshared" "libshared" "${Source}" ${Message})
endmacro()
shared_build_pass("Libshared l; return l.libshared_exported();" "Failed to build exported")
shared_build_pass("return libshared_exported();" "Failed to build exported function.")
# if (COMPILER_HAS_DEPRECATED)
# shared_build_fail("Libshared l; return l.libshared_deprecated();" "Built use of deprecated class method. This should not be possible.")
# else()
# shared_build_pass("Libshared l; return l.libshared_deprecated();" "Built use of deprecated class method. This should not be possible.")
# endif()
if (COMPILER_HAS_HIDDEN_VISIBILITY)
shared_build_fail("Libshared l; return l.libshared_excluded();" "Built use of excluded class method. This should not be possible.")
else()
# There is no MSVC equivalent to hiding symbols.
shared_build_pass("Libshared l; return l.libshared_excluded();" "Built use of excluded class method. This is possible on MSVC.")
endif()
if (WIN32 OR COMPILER_HAS_HIDDEN_VISIBILITY)
shared_build_fail("LibsharedNotExported l; return l.libshared();" "Built use of not-exported class method. This should not be possible.")
shared_build_fail("LibsharedNotExported l; return l.libshared_not_exported();" "Built use of not-exported class method. This should not be possible.")
shared_build_fail("LibsharedNotExported l; return l.libshared_excluded();" "Built use of not-exported class method. This should not be possible.")
shared_build_fail("LibsharedExcluded l; return l.libshared();" "Built use of excluded class method. This should not be possible.")
shared_build_fail("LibsharedExcluded l; return l.libshared_not_exported();" "Built use of excluded class method. This should not be possible.")
shared_build_fail("LibsharedExcluded l; return l.libshared_excluded();" "Built use of excluded class method. This should not be possible.")
shared_build_fail("return libshared_excluded();" "Built use of excluded function. This should not be possible.")
shared_build_fail("return libshared_not_exported();" "Built use of not-exported function. This should not be possible.")
else()
shared_build_pass("LibsharedNotExported l; return l.libshared();" "Built use of not-exported class method.")
shared_build_pass("LibsharedNotExported l; return l.libshared_not_exported();" "Built use of not-exported class method.")
shared_build_pass("LibsharedNotExported l; return l.libshared_excluded();" "Built use of not-exported class method.")
shared_build_pass("LibsharedExcluded l; return l.libshared();" "Built use of excluded class method.")
shared_build_pass("LibsharedExcluded l; return l.libshared_not_exported();" "Built use of excluded class method.")
shared_build_pass("LibsharedExcluded l; return l.libshared_excluded();" "Built use of excluded class method.")
shared_build_pass("return libshared_excluded();" "Built use of excluded function.")
shared_build_pass("return libshared_not_exported();" "Built use of not-exported function.")
endif()

View File

@ -1,18 +0,0 @@
macro(static_build_pass Source Message)
build_pass("libstatic.h" "libstatic" "libstatic" "${Source}" ${Message})
endmacro()
macro(static_build_fail Source Message)
build_fail("libstatic.h" "libstatic" "libstatic" "${Source}" ${Message})
endmacro()
static_build_pass("Libstatic l; return l.libstatic_exported();" "Failed to build exported.")
# if (COMPILER_HAS_DEPRECATED)
# static_build_fail("Libstatic l; return l.libstatic_deprecated();" "Built use of deprecated class method. This should not be possible.")
# static_build_fail("libstatic_deprecated();" "Built use of deprecated function. This should not be possible.")
# else()
# static_build_pass("Libstatic l; return l.libstatic_deprecated();" "Built use of deprecated class method. This should not be possible.")
# static_build_pass("libstatic_deprecated();" "Built use of deprecated function. This should not be possible.")
# endif()

View File

@ -0,0 +1,41 @@
#ifndef LIBSHARED_EXPORT_H
#define LIBSHARED_EXPORT_H
#ifdef LIBSHARED_STATIC_DEFINE
# define LIBSHARED_EXPORT
# define LIBSHARED_NO_EXPORT
#else
# ifndef LIBSHARED_EXPORT
# ifdef libshared_EXPORTS
/* We are building this library */
# define LIBSHARED_EXPORT
# else
/* We are using this library */
# define LIBSHARED_EXPORT
# endif
# endif
# ifndef LIBSHARED_NO_EXPORT
# define LIBSHARED_NO_EXPORT
# endif
#endif
#ifndef LIBSHARED_DEPRECATED
# define LIBSHARED_DEPRECATED
#endif
#ifndef LIBSHARED_DEPRECATED_EXPORT
# define LIBSHARED_DEPRECATED_EXPORT LIBSHARED_EXPORT LIBSHARED_DEPRECATED
#endif
#ifndef LIBSHARED_DEPRECATED_NO_EXPORT
# define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSHARED_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSTATIC_EXPORT_H
#define LIBSTATIC_EXPORT_H
#ifdef LIBSTATIC_STATIC_DEFINE
# define LIBSTATIC_EXPORT
# define LIBSTATIC_NO_EXPORT
#else
# ifndef LIBSTATIC_EXPORT
# ifdef libstatic_EXPORTS
/* We are building this library */
# define LIBSTATIC_EXPORT
# else
/* We are using this library */
# define LIBSTATIC_EXPORT
# endif
# endif
# ifndef LIBSTATIC_NO_EXPORT
# define LIBSTATIC_NO_EXPORT
# endif
#endif
#ifndef LIBSTATIC_DEPRECATED
# define LIBSTATIC_DEPRECATED
#endif
#ifndef LIBSTATIC_DEPRECATED_EXPORT
# define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
#endif
#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
# define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSTATIC_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSHARED_EXPORT_H
#define LIBSHARED_EXPORT_H
#ifdef LIBSHARED_STATIC_DEFINE
# define LIBSHARED_EXPORT
# define LIBSHARED_NO_EXPORT
#else
# ifndef LIBSHARED_EXPORT
# ifdef libshared_EXPORTS
/* We are building this library */
# define LIBSHARED_EXPORT __declspec(dllexport)
# else
/* We are using this library */
# define LIBSHARED_EXPORT __declspec(dllimport)
# endif
# endif
# ifndef LIBSHARED_NO_EXPORT
# define LIBSHARED_NO_EXPORT
# endif
#endif
#ifndef LIBSHARED_DEPRECATED
# define LIBSHARED_DEPRECATED __attribute__ ((__deprecated__))
#endif
#ifndef LIBSHARED_DEPRECATED_EXPORT
# define LIBSHARED_DEPRECATED_EXPORT LIBSHARED_EXPORT LIBSHARED_DEPRECATED
#endif
#ifndef LIBSHARED_DEPRECATED_NO_EXPORT
# define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSHARED_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSTATIC_EXPORT_H
#define LIBSTATIC_EXPORT_H
#ifdef LIBSTATIC_STATIC_DEFINE
# define LIBSTATIC_EXPORT
# define LIBSTATIC_NO_EXPORT
#else
# ifndef LIBSTATIC_EXPORT
# ifdef libstatic_EXPORTS
/* We are building this library */
# define LIBSTATIC_EXPORT
# else
/* We are using this library */
# define LIBSTATIC_EXPORT
# endif
# endif
# ifndef LIBSTATIC_NO_EXPORT
# define LIBSTATIC_NO_EXPORT
# endif
#endif
#ifndef LIBSTATIC_DEPRECATED
# define LIBSTATIC_DEPRECATED __attribute__ ((__deprecated__))
#endif
#ifndef LIBSTATIC_DEPRECATED_EXPORT
# define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
#endif
#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
# define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSTATIC_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSHARED_EXPORT_H
#define LIBSHARED_EXPORT_H
#ifdef LIBSHARED_STATIC_DEFINE
# define LIBSHARED_EXPORT
# define LIBSHARED_NO_EXPORT
#else
# ifndef LIBSHARED_EXPORT
# ifdef libshared_EXPORTS
/* We are building this library */
# define LIBSHARED_EXPORT __attribute__((visibility("default")))
# else
/* We are using this library */
# define LIBSHARED_EXPORT __attribute__((visibility("default")))
# endif
# endif
# ifndef LIBSHARED_NO_EXPORT
# define LIBSHARED_NO_EXPORT __attribute__((visibility("hidden")))
# endif
#endif
#ifndef LIBSHARED_DEPRECATED
# define LIBSHARED_DEPRECATED __attribute__ ((__deprecated__))
#endif
#ifndef LIBSHARED_DEPRECATED_EXPORT
# define LIBSHARED_DEPRECATED_EXPORT LIBSHARED_EXPORT LIBSHARED_DEPRECATED
#endif
#ifndef LIBSHARED_DEPRECATED_NO_EXPORT
# define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSHARED_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSTATIC_EXPORT_H
#define LIBSTATIC_EXPORT_H
#ifdef LIBSTATIC_STATIC_DEFINE
# define LIBSTATIC_EXPORT
# define LIBSTATIC_NO_EXPORT
#else
# ifndef LIBSTATIC_EXPORT
# ifdef libstatic_EXPORTS
/* We are building this library */
# define LIBSTATIC_EXPORT
# else
/* We are using this library */
# define LIBSTATIC_EXPORT
# endif
# endif
# ifndef LIBSTATIC_NO_EXPORT
# define LIBSTATIC_NO_EXPORT
# endif
#endif
#ifndef LIBSTATIC_DEPRECATED
# define LIBSTATIC_DEPRECATED __attribute__ ((__deprecated__))
#endif
#ifndef LIBSTATIC_DEPRECATED_EXPORT
# define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
#endif
#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
# define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSTATIC_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSHARED_EXPORT_H
#define LIBSHARED_EXPORT_H
#ifdef LIBSHARED_STATIC_DEFINE
# define LIBSHARED_EXPORT
# define LIBSHARED_NO_EXPORT
#else
# ifndef LIBSHARED_EXPORT
# ifdef libshared_EXPORTS
/* We are building this library */
# define LIBSHARED_EXPORT
# else
/* We are using this library */
# define LIBSHARED_EXPORT
# endif
# endif
# ifndef LIBSHARED_NO_EXPORT
# define LIBSHARED_NO_EXPORT
# endif
#endif
#ifndef LIBSHARED_DEPRECATED
# define LIBSHARED_DEPRECATED __attribute__ ((__deprecated__))
#endif
#ifndef LIBSHARED_DEPRECATED_EXPORT
# define LIBSHARED_DEPRECATED_EXPORT LIBSHARED_EXPORT LIBSHARED_DEPRECATED
#endif
#ifndef LIBSHARED_DEPRECATED_NO_EXPORT
# define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSHARED_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSTATIC_EXPORT_H
#define LIBSTATIC_EXPORT_H
#ifdef LIBSTATIC_STATIC_DEFINE
# define LIBSTATIC_EXPORT
# define LIBSTATIC_NO_EXPORT
#else
# ifndef LIBSTATIC_EXPORT
# ifdef libstatic_EXPORTS
/* We are building this library */
# define LIBSTATIC_EXPORT
# else
/* We are using this library */
# define LIBSTATIC_EXPORT
# endif
# endif
# ifndef LIBSTATIC_NO_EXPORT
# define LIBSTATIC_NO_EXPORT
# endif
#endif
#ifndef LIBSTATIC_DEPRECATED
# define LIBSTATIC_DEPRECATED __attribute__ ((__deprecated__))
#endif
#ifndef LIBSTATIC_DEPRECATED_EXPORT
# define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
#endif
#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
# define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSTATIC_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSHARED_EXPORT_H
#define LIBSHARED_EXPORT_H
#ifdef LIBSHARED_STATIC_DEFINE
# define LIBSHARED_EXPORT
# define LIBSHARED_NO_EXPORT
#else
# ifndef LIBSHARED_EXPORT
# ifdef libshared_EXPORTS
/* We are building this library */
# define LIBSHARED_EXPORT __declspec(dllexport)
# else
/* We are using this library */
# define LIBSHARED_EXPORT __declspec(dllimport)
# endif
# endif
# ifndef LIBSHARED_NO_EXPORT
# define LIBSHARED_NO_EXPORT
# endif
#endif
#ifndef LIBSHARED_DEPRECATED
# define LIBSHARED_DEPRECATED __declspec(deprecated)
#endif
#ifndef LIBSHARED_DEPRECATED_EXPORT
# define LIBSHARED_DEPRECATED_EXPORT LIBSHARED_EXPORT LIBSHARED_DEPRECATED
#endif
#ifndef LIBSHARED_DEPRECATED_NO_EXPORT
# define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSHARED_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSTATIC_EXPORT_H
#define LIBSTATIC_EXPORT_H
#ifdef LIBSTATIC_STATIC_DEFINE
# define LIBSTATIC_EXPORT
# define LIBSTATIC_NO_EXPORT
#else
# ifndef LIBSTATIC_EXPORT
# ifdef libstatic_EXPORTS
/* We are building this library */
# define LIBSTATIC_EXPORT
# else
/* We are using this library */
# define LIBSTATIC_EXPORT
# endif
# endif
# ifndef LIBSTATIC_NO_EXPORT
# define LIBSTATIC_NO_EXPORT
# endif
#endif
#ifndef LIBSTATIC_DEPRECATED
# define LIBSTATIC_DEPRECATED __declspec(deprecated)
#endif
#ifndef LIBSTATIC_DEPRECATED_EXPORT
# define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
#endif
#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
# define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSTATIC_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSHARED_EXPORT_H
#define LIBSHARED_EXPORT_H
#ifdef LIBSHARED_STATIC_DEFINE
# define LIBSHARED_EXPORT
# define LIBSHARED_NO_EXPORT
#else
# ifndef LIBSHARED_EXPORT
# ifdef libshared_EXPORTS
/* We are building this library */
# define LIBSHARED_EXPORT __declspec(dllexport)
# else
/* We are using this library */
# define LIBSHARED_EXPORT __declspec(dllimport)
# endif
# endif
# ifndef LIBSHARED_NO_EXPORT
# define LIBSHARED_NO_EXPORT
# endif
#endif
#ifndef LIBSHARED_DEPRECATED
# define LIBSHARED_DEPRECATED
#endif
#ifndef LIBSHARED_DEPRECATED_EXPORT
# define LIBSHARED_DEPRECATED_EXPORT LIBSHARED_EXPORT LIBSHARED_DEPRECATED
#endif
#ifndef LIBSHARED_DEPRECATED_NO_EXPORT
# define LIBSHARED_DEPRECATED_NO_EXPORT LIBSHARED_NO_EXPORT LIBSHARED_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSHARED_NO_DEPRECATED
#endif
#endif

View File

@ -0,0 +1,41 @@
#ifndef LIBSTATIC_EXPORT_H
#define LIBSTATIC_EXPORT_H
#ifdef LIBSTATIC_STATIC_DEFINE
# define LIBSTATIC_EXPORT
# define LIBSTATIC_NO_EXPORT
#else
# ifndef LIBSTATIC_EXPORT
# ifdef libstatic_EXPORTS
/* We are building this library */
# define LIBSTATIC_EXPORT
# else
/* We are using this library */
# define LIBSTATIC_EXPORT
# endif
# endif
# ifndef LIBSTATIC_NO_EXPORT
# define LIBSTATIC_NO_EXPORT
# endif
#endif
#ifndef LIBSTATIC_DEPRECATED
# define LIBSTATIC_DEPRECATED
#endif
#ifndef LIBSTATIC_DEPRECATED_EXPORT
# define LIBSTATIC_DEPRECATED_EXPORT LIBSTATIC_EXPORT LIBSTATIC_DEPRECATED
#endif
#ifndef LIBSTATIC_DEPRECATED_NO_EXPORT
# define LIBSTATIC_DEPRECATED_NO_EXPORT LIBSTATIC_NO_EXPORT LIBSTATIC_DEPRECATED
#endif
#define DEFINE_NO_DEPRECATED 0
#if DEFINE_NO_DEPRECATED
# define LIBSTATIC_NO_DEPRECATED
#endif
#endif