Browse Source

move example into the source tree so it will work...

Bill Hoffman 24 years ago
parent
commit
8cae04446a

+ 9 - 0
Example/CMakeLists.txt

@@ -0,0 +1,9 @@
+# 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.
+SUBDIRS(Hello Demo)

+ 12 - 0
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 demo_b)
+
+# Link the executable to the Hello library.
+TARGET_LINK_LIBRARIES(helloDemo Hello)

+ 11 - 0
Example/Demo/demo.cxx

@@ -0,0 +1,11 @@
+#include <iostream>
+#include "hello.h"
+
+extern Hello hello;
+
+int main()
+{
+  hello.Print();
+  
+  return 0;
+}

+ 3 - 0
Example/Demo/demo_b.cxx

@@ -0,0 +1,3 @@
+#include "hello.h"
+
+Hello hello;

+ 3 - 0
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)

+ 7 - 0
Example/Hello/hello.cxx

@@ -0,0 +1,7 @@
+#include "hello.h"
+#include <stdio.h>
+
+void Hello::Print()
+{
+  printf("Hello, World!\n");
+}

+ 11 - 0
Example/Hello/hello.h

@@ -0,0 +1,11 @@
+#ifndef _hello_h
+#define _hello_h
+
+
+class Hello
+{
+public:
+  void Print();
+};
+
+#endif