summaryrefslogtreecommitdiff
path: root/Example
diff options
context:
space:
mode:
authorAnas Nashif <anas.nashif@intel.com>2012-10-30 15:39:57 -0700
committerAnas Nashif <anas.nashif@intel.com>2012-10-30 15:39:57 -0700
commit035c7fabc3b82cbc9a346c11abe2e9462b4c0379 (patch)
tree7e40f5a790eae329a8c5d3e59f046451767956ff /Example
downloadcmake-035c7fabc3b82cbc9a346c11abe2e9462b4c0379.tar.gz
cmake-035c7fabc3b82cbc9a346c11abe2e9462b4c0379.tar.bz2
cmake-035c7fabc3b82cbc9a346c11abe2e9462b4c0379.zip
Imported Upstream version 2.8.9upstream/2.8.9
Diffstat (limited to 'Example')
-rw-r--r--Example/CMakeLists.txt10
-rw-r--r--Example/Demo/CMakeLists.txt12
-rw-r--r--Example/Demo/demo.cxx10
-rw-r--r--Example/Demo/demo_b.cxx3
-rw-r--r--Example/Hello/CMakeLists.txt3
-rw-r--r--Example/Hello/hello.cxx7
-rw-r--r--Example/Hello/hello.h11
7 files changed, 56 insertions, 0 deletions
diff --git a/Example/CMakeLists.txt b/Example/CMakeLists.txt
new file mode 100644
index 000000000..8ee7d721e
--- /dev/null
+++ b/Example/CMakeLists.txt
@@ -0,0 +1,10 @@
+# The name of our project is "HELLO". CMakeLists files in this project can
+# refer to the root source directory of the project as ${HELLO_SOURCE_DIR} and
+# to the root binary directory of the project as ${HELLO_BINARY_DIR}.
+project (HELLO)
+
+# Recurse into the "Hello" and "Demo" subdirectories. This does not actually
+# cause another cmake executable to run. The same process will walk through
+# the project's entire directory structure.
+add_subdirectory (Hello)
+add_subdirectory (Demo)
diff --git a/Example/Demo/CMakeLists.txt b/Example/Demo/CMakeLists.txt
new file mode 100644
index 000000000..477700fab
--- /dev/null
+++ b/Example/Demo/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Make sure the compiler can find include files from our Hello library.
+include_directories (${HELLO_SOURCE_DIR}/Hello)
+
+# Make sure the linker can find the Hello library once it is built.
+link_directories (${HELLO_BINARY_DIR}/Hello)
+
+# Add executable called "helloDemo" that is built from the source files
+# "demo.cxx" and "demo_b.cxx". The extensions are automatically found.
+add_executable (helloDemo demo.cxx demo_b.cxx)
+
+# Link the executable to the Hello library.
+target_link_libraries (helloDemo Hello)
diff --git a/Example/Demo/demo.cxx b/Example/Demo/demo.cxx
new file mode 100644
index 000000000..31de0386c
--- /dev/null
+++ b/Example/Demo/demo.cxx
@@ -0,0 +1,10 @@
+#include "hello.h"
+
+extern Hello hello;
+
+int main()
+{
+ hello.Print();
+
+ return 0;
+}
diff --git a/Example/Demo/demo_b.cxx b/Example/Demo/demo_b.cxx
new file mode 100644
index 000000000..08a232913
--- /dev/null
+++ b/Example/Demo/demo_b.cxx
@@ -0,0 +1,3 @@
+#include "hello.h"
+
+Hello hello;
diff --git a/Example/Hello/CMakeLists.txt b/Example/Hello/CMakeLists.txt
new file mode 100644
index 000000000..879f4e5b1
--- /dev/null
+++ b/Example/Hello/CMakeLists.txt
@@ -0,0 +1,3 @@
+# Create a library called "Hello" which includes the source file "hello.cxx".
+# The extension is already found. Any number of sources could be listed here.
+add_library (Hello hello.cxx)
diff --git a/Example/Hello/hello.cxx b/Example/Hello/hello.cxx
new file mode 100644
index 000000000..7107cc555
--- /dev/null
+++ b/Example/Hello/hello.cxx
@@ -0,0 +1,7 @@
+#include "hello.h"
+#include <stdio.h>
+
+void Hello::Print()
+{
+ printf("Hello, World!\n");
+}
diff --git a/Example/Hello/hello.h b/Example/Hello/hello.h
new file mode 100644
index 000000000..b17d68343
--- /dev/null
+++ b/Example/Hello/hello.h
@@ -0,0 +1,11 @@
+#ifndef _hello_h
+#define _hello_h
+
+
+class Hello
+{
+public:
+ void Print();
+};
+
+#endif