summaryrefslogtreecommitdiffstats
path: root/Tests/SimpleCOnly
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2007-06-26 19:30:02 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2007-06-26 19:30:02 (GMT)
commitae47302529e9ee040a45ad9a8636e6116e880d0c (patch)
treef75d758cb83ae21d7c02248e75cd6a3d92457f1d /Tests/SimpleCOnly
parent25a425ecf09fccc804758da1015f93fce724f856 (diff)
downloadCMake-ae47302529e9ee040a45ad9a8636e6116e880d0c.zip
CMake-ae47302529e9ee040a45ad9a8636e6116e880d0c.tar.gz
CMake-ae47302529e9ee040a45ad9a8636e6116e880d0c.tar.bz2
ENH: add a SimpleCOnly test, this is needed e.g. for testing sdcc since this
doesn't support C++ and also doesn't have a printf() implementation by default -add a test for mingw cross compiler Alex
Diffstat (limited to 'Tests/SimpleCOnly')
-rw-r--r--Tests/SimpleCOnly/CMakeLists.txt17
-rw-r--r--Tests/SimpleCOnly/bar.c1
-rw-r--r--Tests/SimpleCOnly/foo.c1
-rw-r--r--Tests/SimpleCOnly/main.c12
4 files changed, 31 insertions, 0 deletions
diff --git a/Tests/SimpleCOnly/CMakeLists.txt b/Tests/SimpleCOnly/CMakeLists.txt
new file mode 100644
index 0000000..d0ed651
--- /dev/null
+++ b/Tests/SimpleCOnly/CMakeLists.txt
@@ -0,0 +1,17 @@
+# this enables only C, i.e. disables C++
+project(SimpleCOnly C)
+
+add_library(SimpleCLib STATIC bar.c foo.c)
+
+add_executable(SimpleC main.c)
+target_link_libraries(SimpleC SimpleCLib)
+
+# and some check, just to make sure it works:
+include(CheckTypeSize)
+check_type_size(float SIZE_FLOAT)
+message(STATUS "sizeof(float): ${SIZE_FLOAT}")
+
+# make sure optimized libs are not used by debug builds
+if(CMAKE_BUILD_TYPE MATCHES Debug)
+ target_link_libraries(Simple optimized c:/not/here.lib )
+endif(CMAKE_BUILD_TYPE MATCHES Debug)
diff --git a/Tests/SimpleCOnly/bar.c b/Tests/SimpleCOnly/bar.c
new file mode 100644
index 0000000..5d8eac0
--- /dev/null
+++ b/Tests/SimpleCOnly/bar.c
@@ -0,0 +1 @@
+int bar() {return 5;}
diff --git a/Tests/SimpleCOnly/foo.c b/Tests/SimpleCOnly/foo.c
new file mode 100644
index 0000000..b8cdea4
--- /dev/null
+++ b/Tests/SimpleCOnly/foo.c
@@ -0,0 +1 @@
+int foo() { return 12;}
diff --git a/Tests/SimpleCOnly/main.c b/Tests/SimpleCOnly/main.c
new file mode 100644
index 0000000..e4df685
--- /dev/null
+++ b/Tests/SimpleCOnly/main.c
@@ -0,0 +1,12 @@
+#include <stdio.h>
+
+extern int foo();
+extern int bar();
+
+int main()
+{
+ int i=foo();
+ int k=bar();
+ i=i*k;
+ return i;
+}