浏览代码

make shared lib

develop
Robin Thoni 8 年前
父节点
当前提交
7e6f98a65a

+ 1
- 0
CMakeLists.txt 查看文件

@@ -5,6 +5,7 @@ project(${PROJECT_NAME})
5 5
 find_package(GTest)
6 6
 set(LIBS ${LIBS} nfc freefare)
7 7
 add_subdirectory(src)
8
+add_subdirectory(cli)
8 9
 if (GTEST_FOUND)
9 10
     enable_testing()
10 11
     add_subdirectory(tests)

+ 16
- 0
cli/CMakeLists.txt 查看文件

@@ -0,0 +1,16 @@
1
+include_directories(.)
2
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
3
+include_directories(. ../src)
4
+set(SOURCE_FILES
5
+        main.cpp
6
+        Interface/MainClass.cpp
7
+        Interface/MainClass.h
8
+        Interface/CommandLineParser.cpp
9
+        Interface/CommandLineParser.h
10
+        DBO/CommandLineOption.cpp
11
+        DBO/CommandLineOption.h
12
+        )
13
+
14
+set(LIBS ${LIBS} ${PROJECT_NAME})
15
+add_executable(${PROJECT_NAME}-cli ${SOURCE_FILES})
16
+target_link_libraries(${PROJECT_NAME}-cli ${LIBS})

src/DBO/CommandLineOption.cpp → cli/DBO/CommandLineOption.cpp 查看文件


src/DBO/CommandLineOption.h → cli/DBO/CommandLineOption.h 查看文件


src/Interface/CommandLineParser.cpp → cli/Interface/CommandLineParser.cpp 查看文件


src/Interface/CommandLineParser.h → cli/Interface/CommandLineParser.h 查看文件

@@ -5,7 +5,7 @@
5 5
 #ifndef PDNS_SLAVE_COMMANDLINEPARSER_H
6 6
 #define PDNS_SLAVE_COMMANDLINEPARSER_H
7 7
 
8
-# include "DBO/CommandLineOption.h"
8
+# include "../DBO/CommandLineOption.h"
9 9
 
10 10
 class CommandLineParser
11 11
 {

src/Interface/MainClass.cpp → cli/Interface/MainClass.cpp 查看文件

@@ -4,9 +4,9 @@
4 4
 
5 5
 #include <iostream>
6 6
 #include <sysexits.h>
7
-#include <DBO/Result.h>
8
-#include <DataAccess/LibNfc.h>
9
-#include <DataAccess/FreeFareDevice.h>
7
+#include "DBO/Result.h"
8
+#include "DataAccess/LibNfc.h"
9
+#include "DataAccess/FreeFareDevice.h"
10 10
 #include "CommandLineParser.h"
11 11
 #include "MainClass.h"
12 12
 

src/Interface/MainClass.h → cli/Interface/MainClass.h 查看文件


src/main.cpp → cli/main.cpp 查看文件


+ 11
- 13
src/CMakeLists.txt 查看文件

@@ -1,19 +1,17 @@
1 1
 include_directories(.)
2 2
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
3 3
 set(SOURCE_FILES
4
-  main.cpp
5
-  Interface/MainClass.cpp
6
-  Interface/MainClass.h
7
-  Interface/CommandLineParser.cpp
8
-  Interface/CommandLineParser.h
9
-  DBO/CommandLineOption.cpp
10
-  DBO/CommandLineOption.h
11
-  DBO/Result.hxx
12
-  DBO/Result.h
13
-  DataAccess/LibNfc.cpp
14
-  DataAccess/LibNfc.h
4
+        DBO/Result.hxx
5
+        DBO/Result.h
6
+        DataAccess/LibNfc.cpp
7
+        DataAccess/LibNfc.h
15 8
         DataAccess/NfcDevice.cpp
16
-        DataAccess/NfcDevice.h DataAccess/FreeFareDevice.cpp DataAccess/FreeFareDevice.h DataAccess/FreeFareTag.cpp DataAccess/FreeFareTag.h)
9
+        DataAccess/NfcDevice.h
10
+        DataAccess/FreeFareDevice.cpp
11
+        DataAccess/FreeFareDevice.h
12
+        DataAccess/FreeFareTag.cpp
13
+        DataAccess/FreeFareTag.h
14
+        )
17 15
 
18
-add_executable(${PROJECT_NAME} ${SOURCE_FILES})
16
+add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES})
19 17
 target_link_libraries(${PROJECT_NAME} ${LIBS})

+ 3
- 1
tests/CMakeLists.txt 查看文件

@@ -6,6 +6,8 @@ set(LIBS ${LIBS} gtest pthread)
6 6
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
7 7
 add_executable(test-${PROJECT_NAME}
8 8
         test-main.cpp
9
-  )
9
+        )
10
+
11
+set(LIBS ${LIBS} ${PROJECT_NAME})
10 12
 target_link_libraries(test-${PROJECT_NAME} ${LIBS})
11 13
 add_test(test-${PROJECT_NAME} ${CMAKE_CURRENT_BINARY_DIR}/test-${PROJECT_NAME})

+ 2
- 0
tests/test-main.cpp 查看文件

@@ -1,6 +1,7 @@
1 1
 #include <iostream>
2 2
 #include <string.h>
3 3
 #include <gtest/gtest.h>
4
+#include <DataAccess/LibNfc.h>
4 5
 
5 6
 TEST(None, None)
6 7
 {
@@ -9,6 +10,7 @@ TEST(None, None)
9 10
 
10 11
 int main(int argc, char* argv[])
11 12
 {
13
+  std::cout << "LibNfc version: " << LibNfc::getVersion() << std::endl;
12 14
   ::testing::InitGoogleTest(&argc, argv);
13 15
   return RUN_ALL_TESTS();
14 16
 }

正在加载...
取消
保存