aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/examples/static
diff options
context:
space:
mode:
Diffstat (limited to 'examples/static')
-rw-r--r--examples/static/CMakeLists.txt16
-rw-r--r--examples/static/bar.cpp7
-rw-r--r--examples/static/bar.hpp3
-rw-r--r--examples/static/foo.cpp6
4 files changed, 32 insertions, 0 deletions
diff --git a/examples/static/CMakeLists.txt b/examples/static/CMakeLists.txt
new file mode 100644
index 0000000..8a6acb8
--- /dev/null
+++ b/examples/static/CMakeLists.txt
@@ -0,0 +1,16 @@
+cmake_minimum_required(VERSION 3.1)
+
+project(example_static)
+
+include(../../common.cmake)
+
+add_library(bar bar.cpp)
+target_include_directories(bar PUBLIC .)
+
+add_executable(foo foo.cpp)
+target_link_libraries(foo PRIVATE bar)
+
+install(TARGETS foo bar RUNTIME DESTINATION bin ARCHIVE DESTINATION lib)
+if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ install(FILES "$<TARGET_PDB_FILE:foo>" DESTINATION bin OPTIONAL)
+endif()
diff --git a/examples/static/bar.cpp b/examples/static/bar.cpp
new file mode 100644
index 0000000..37aa9b5
--- /dev/null
+++ b/examples/static/bar.cpp
@@ -0,0 +1,7 @@
+#include "bar.hpp"
+
+#include <iostream>
+
+void bar() {
+ std::cout << "bar\n";
+}
diff --git a/examples/static/bar.hpp b/examples/static/bar.hpp
new file mode 100644
index 0000000..a3ea4c1
--- /dev/null
+++ b/examples/static/bar.hpp
@@ -0,0 +1,3 @@
+#pragma once
+
+void bar();
diff --git a/examples/static/foo.cpp b/examples/static/foo.cpp
new file mode 100644
index 0000000..c6355a2
--- /dev/null
+++ b/examples/static/foo.cpp
@@ -0,0 +1,6 @@
+#include <bar.hpp>
+
+int main() {
+ bar();
+ return 0;
+}