• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

C++ベースのLightweightなHTTPサーバー


Commit MetaInfo

Revision413aa1297e01ff71d29ac47319dad485c2139acf (tree)
Time2013-03-17 13:51:41
AuthorMichio Hirai <smg_ykz@user...>
CommiterMichio Hirai

Log Message

[Function] Addition of PROCESS macro in conjunction with cm_main library introduction.
1:

Change Summary

Incremental Difference

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -40,6 +40,20 @@ function(cxx_library_static libname link_libs)
4040 set_property(DIRECTORY APPEND PROPERTY DIR_LIB_TARGETS "${libname}")
4141 endfunction(cxx_library_static)
4242
43+# function cxx_executable(<executable_name> "lib1;lib2;..."
44+# followed by source files"
45+function(cxx_executable exename link_libs)
46+ add_executable(${exename} ${ARGN})
47+ target_link_libraries(${exename} "cm_main")
48+ target_link_libraries(${exename} "stdc++")
49+ foreach(li ${link_libs})
50+ target_link_libraries(${exename} ${li})
51+ endforeach(li)
52+ set_property(DIRECTORY APPEND PROPERTY DIR_TEST_TARGETS "${exename}")
53+ add_test(${exename} ${CMAKE_CURRENT_BINARY_DIR}/${exename})
54+endfunction(cxx_executable)
55+
56+
4357 # function gmock_executable(<executable_name> "lib1;lib2;..."
4458 # followed by source files)
4559 function(gmock_executable exename link_libs)
--- a/cm/CMakeLists.txt
+++ b/cm/CMakeLists.txt
@@ -25,6 +25,10 @@ cxx_library_static(cm_socket ""
2525 cm_vector_socket.cpp
2626 )
2727
28+cxx_library_static(cm_main ""
29+ cm_main.cpp
30+)
31+
2832 gmock_executable(cm_thread_test "cm_thread"
2933 test/cm_thread_test.cpp
3034 test/cm_mutex_test.cpp
@@ -43,5 +47,9 @@ gmock_executable(cm_vector_socket_test "cm_socket;"
4347 test/cm_vector_socket_test.cpp
4448 )
4549
50+cxx_executable(cm_main_test ""
51+ test/cm_main_sample.cpp
52+)
53+
4654 enable_coverage()
4755
--- /dev/null
+++ b/cm/cm_main.cpp
@@ -0,0 +1,14 @@
1+
2+#include "cm_process.h"
3+#include "cm_thread_name_macro.h"
4+
5+const char* getProcessName();
6+
7+int doProcess(int argc, char *argv[]);
8+
9+int main(int argc, char *argv[])
10+{
11+ SETNAME(gettid(), getProcessName());
12+ return doProcess(argc, argv);
13+}
14+
--- /dev/null
+++ b/cm/test/cm_main_sample.cpp
@@ -0,0 +1,13 @@
1+
2+#include <iostream>
3+
4+#include "cm_process.h"
5+#include "mt_unuse.h"
6+
7+PROCESS(hello_sample)
8+{
9+ mt::unuse(argc);
10+ mt::unuse(argv);
11+ std::cout << "Hello World!!" << std::endl;
12+}
13+
--- /dev/null
+++ b/inc/cm_process.h
@@ -0,0 +1,14 @@
1+
2+#ifndef INC_CM_PROCESS_H_
3+#define INC_CM_PROCESS_H_
4+
5+#include "cm_thread_name_macro.h"
6+
7+#define PROCESS(procname) \
8+const char* getProcessName() \
9+{ \
10+ return "#procname" ; \
11+} \
12+int doProcess(int argc, char *argv[])
13+
14+#endif // INC_CM_PROCESS_H_