diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2002-04-08 17:36:18 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2002-04-08 17:36:18 (GMT) |
commit | 65e3edea04fdd058719659e99a7a3da3dfb80b25 (patch) | |
tree | db1d3a1c33d40bb43c5333399163a76df7aee689 /Tests/Complex | |
parent | 7883b6c7dc38c73638947575c75aeb06acba9c90 (diff) | |
download | CMake-65e3edea04fdd058719659e99a7a3da3dfb80b25.zip CMake-65e3edea04fdd058719659e99a7a3da3dfb80b25.tar.gz CMake-65e3edea04fdd058719659e99a7a3da3dfb80b25.tar.bz2 |
ENH: use separate vars for creating c++ and c shared libraries and add a test for c libraries
Diffstat (limited to 'Tests/Complex')
-rw-r--r-- | Tests/Complex/Executable/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Tests/Complex/Executable/complex.cxx | 11 | ||||
-rw-r--r-- | Tests/Complex/Library/CMakeLists.txt | 2 | ||||
-rw-r--r-- | Tests/Complex/Library/testConly.c | 6 | ||||
-rw-r--r-- | Tests/Complex/Library/testConly.h | 12 |
5 files changed, 32 insertions, 1 deletions
diff --git a/Tests/Complex/Executable/CMakeLists.txt b/Tests/Complex/Executable/CMakeLists.txt index a3ad8fd..7468926 100644 --- a/Tests/Complex/Executable/CMakeLists.txt +++ b/Tests/Complex/Executable/CMakeLists.txt @@ -4,7 +4,7 @@ SET_SOURCE_FILES_PROPERTIES(complex COMPILE_FLAGS "-DFILE_HAS_EXTRA_COMPILE_FLAGS") ADD_EXECUTABLE(complex complex) -SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared) +SET(COMPLEX_LIBS CMakeTestLibrary;CMakeTestLibraryShared;CMakeTestCLibraryShared) TARGET_LINK_LIBRARIES(complex ${COMPLEX_LIBS}) # diff --git a/Tests/Complex/Executable/complex.cxx b/Tests/Complex/Executable/complex.cxx index 61ffd8f..6607d7d 100644 --- a/Tests/Complex/Executable/complex.cxx +++ b/Tests/Complex/Executable/complex.cxx @@ -2,6 +2,9 @@ #include "ExtraSources/file1.h" #include "file2.h" #include "sharedFile.h" +extern "C" { +#include "testConly.h" +} #include "cmStandardIncludes.h" #include "cmSystemTools.h" @@ -103,6 +106,14 @@ int main() { cmPassed("Call to sharedFunction from shared library worked."); } + if(CsharedFunction() != 1) + { + cmFailed("Call to C sharedFunction from shared library failed."); + } + else + { + cmPassed("Call to C sharedFunction from shared library worked."); + } if(file1() != 1) { diff --git a/Tests/Complex/Library/CMakeLists.txt b/Tests/Complex/Library/CMakeLists.txt index c01f501..19cb6cd 100644 --- a/Tests/Complex/Library/CMakeLists.txt +++ b/Tests/Complex/Library/CMakeLists.txt @@ -26,6 +26,8 @@ ADD_LIBRARY(CMakeTestLibrary LibrarySources) SOURCE_FILES(SharedLibrarySources sharedFile) ADD_LIBRARY(CMakeTestLibraryShared SHARED SharedLibrarySources) +ADD_LIBRARY(CMakeTestCLibraryShared SHARED testConly.c) + # # Attach a post-build custom-command to the lib. # It runs ${CREATE_FILE_EXE} which will create a file. diff --git a/Tests/Complex/Library/testConly.c b/Tests/Complex/Library/testConly.c new file mode 100644 index 0000000..d2d5294 --- /dev/null +++ b/Tests/Complex/Library/testConly.c @@ -0,0 +1,6 @@ +#include "sharedFile.h" + +int CsharedFunction() +{ + return 1; +} diff --git a/Tests/Complex/Library/testConly.h b/Tests/Complex/Library/testConly.h new file mode 100644 index 0000000..8553a6b --- /dev/null +++ b/Tests/Complex/Library/testConly.h @@ -0,0 +1,12 @@ +#if defined(_WIN32) || defined(WIN32) /* Win32 version */ +#ifdef CMakeTestLibraryShared_EXPORTS +# define CMakeTest_EXPORT __declspec(dllexport) +#else +# define CMakeTest_EXPORT __declspec(dllimport) +#endif +#else +// unix needs nothing +#define CMakeTest_EXPORT +#endif + +CMakeTest_EXPORT int CsharedFunction(); |