summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt2
-rw-r--r--ci/travis.sh1
-rw-r--r--cmake/Version.cmake2
-rw-r--r--example/CMakeLists.txt20
-rw-r--r--example/luatest/CMakeLists.txt15
-rw-r--r--gtest/CMakeLists.txt13
-rw-r--r--src/CMakeLists.txt25
-rw-r--r--support/CMakeLists.txt22
8 files changed, 23 insertions, 77 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4d90c40..bb7250a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,8 +30,6 @@ else()
message(FATAL_ERROR "Could not find the program cppcheck.")
endif()
-option(BUILD_STATIC_LIB "build lib${lib_name}.a static lib" OFF) #默认不生成静态库
-
add_subdirectory(support)
add_subdirectory(src)
add_subdirectory(example)
diff --git a/ci/travis.sh b/ci/travis.sh
index c1472e0..928c108 100644
--- a/ci/travis.sh
+++ b/ci/travis.sh
@@ -44,7 +44,6 @@ cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
-DENABLE_DEVEL=$ENABLE_DEVEL_SWITCH \
- -DBUILD_STATIC_LIB=$BUILD_STATIC_LIB \
..
make
diff --git a/cmake/Version.cmake b/cmake/Version.cmake
index 5b4f838..f9bdb1c 100644
--- a/cmake/Version.cmake
+++ b/cmake/Version.cmake
@@ -2,7 +2,7 @@
set(__SOURCE_AUTORESIVISION ${CMAKE_SOURCE_DIR}/autorevision.sh)
set(__AUTORESIVISION ${CMAKE_BINARY_DIR}/autorevision.sh)
-set(__VERSION_CACHE ${CMAKE_SOURCE_DIR}/version.txt)
+set(__VERSION_CACHE ${CMAKE_BINARY_DIR}/version.txt)
set(__VERSION_CONFIG ${CMAKE_BINARY_DIR}/version.cmake)
file(COPY ${__SOURCE_AUTORESIVISION} DESTINATION ${CMAKE_BINARY_DIR}
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index 40573e5..1bd1e7d 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -2,23 +2,11 @@ cmake_minimum_required(VERSION 3.5)
project (single_thread)
project (multithread)
-link_directories("${CMAKE_BINARY_DIR}/src")
-link_directories("${CMAKE_BINARY_DIR}/support/luajit2/src/luajit2/src/")
add_definitions(-g -W -Wall)
-
add_executable(single_thread single_thread.cpp)
add_executable(multithread multithread.cpp)
-if (BUILD_STATIC_LIB)
- add_dependencies(single_thread ${lib_name}_static)
- add_dependencies(multithread ${lib_name}_static)
- target_link_libraries(single_thread ${lib_name}_static pthread)
- target_link_libraries(multithread ${lib_name}_static pthread)
-else()
- add_dependencies(single_thread ${lib_name}_shared)
- add_dependencies(multithread ${lib_name}_shared)
- target_link_libraries(single_thread ${lib_name}_shared pthread)
- target_link_libraries(multithread ${lib_name}_shared pthread)
-endif()
-
-# add_subdirectory(luatest) \ No newline at end of file
+add_dependencies(single_thread ${lib_name}_shared)
+add_dependencies(multithread ${lib_name}_shared)
+target_link_libraries(single_thread ${lib_name}_shared pthread)
+target_link_libraries(multithread ${lib_name}_shared pthread)
diff --git a/example/luatest/CMakeLists.txt b/example/luatest/CMakeLists.txt
index 3031e84..9dafa78 100644
--- a/example/luatest/CMakeLists.txt
+++ b/example/luatest/CMakeLists.txt
@@ -1,17 +1,8 @@
cmake_minimum_required(VERSION 3.5)
project (luatest)
-include_directories("../../src/")
-link_directories("${CMAKE_BINARY_DIR}/src")
-#link_directories("${CMAKE_BINARY_DIR}/support/luajit2/src/luajit2/src/")
-
+include_directories(${PROJECT_SOURCE_DIR}/src/)
add_definitions(-g -W -Wall -O0 -rdynamic)
-
add_executable(luatest luatest.cpp)
-if (BUILD_STATIC_LIB)
- add_dependencies(luatest ${lib_name}_static)
- target_link_libraries(luatest ${lib_name}_static pthread dl pcap)
-else()
- add_dependencies(luatest ${lib_name}_shared)
- target_link_libraries(luatest ${lib_name}_shared pthread dl pcap)
-endif()
+add_dependencies(luatest ${lib_name}_shared)
+target_link_libraries(luatest ${lib_name}_shared pthread dl pcap)
diff --git a/gtest/CMakeLists.txt b/gtest/CMakeLists.txt
index 466ad53..75c6710 100644
--- a/gtest/CMakeLists.txt
+++ b/gtest/CMakeLists.txt
@@ -23,18 +23,11 @@ link_directories("${CMAKE_BINARY_DIR}/src/")
link_directories("${CMAKE_BINARY_DIR}/support/GoogleTest/lib/")
link_directories("${CMAKE_BINARY_DIR}/support/luajit2/src/luajit2/src/")
-#link_libraries(libluajit.a tsglua gtest gtest_main pthread)
-
add_definitions(-g -W -Wall)
add_executable(gtest_elua ${SRCS})
-if (BUILD_STATIC_LIB)
- add_dependencies(gtest_elua ${lib_name}_static gtest)
- target_link_libraries(gtest_elua ${lib_name}_static gtest gtest_main pthread)
-else()
- add_dependencies(gtest_elua ${lib_name}_shared gtest)
- target_link_libraries(gtest_elua ${lib_name}_shared gtest gtest_main pthread)
-endif()
-#target_link_libraries(gtest_elua tsglua gtest gtest_main pthread)
+
+add_dependencies(gtest_elua ${lib_name}_shared gtest)
+target_link_libraries(gtest_elua ${lib_name}_shared gtest gtest_main pthread)
add_test(NAME SOFT_LINK COMMAND sh -c "ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/script" "${CMAKE_CURRENT_BINARY_DIR}/script")
add_test(NAME LUA_TEST COMMAND gtest_elua)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a00dd77..ea3ae99 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,7 +1,5 @@
cmake_minimum_required(VERSION 3.5)
-SET(CMAKE_CXX_COMPILER /usr/bin/g++)
aux_source_directory(. DIR_LIB_SRCS)
-include_directories("${LUAJIT_INSTALL_PREFIX}/include/luajit-2.1")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -shared -fPIC")
SET(CMAKE_CXX_DEBUG_FLAGS "${CMAKE_CXX_DEBUG_FLAGS} -Delua_DEBUG")
@@ -9,26 +7,11 @@ SET(CMAKE_BUILD_TYPE "Release")
option(elua_DEBUG "If enabled, the SDK will be print debuginfo." OFF)
-if (BUILD_STATIC_LIB)
- add_library(${lib_name}_static STATIC ${DIR_LIB_SRCS})
- target_link_libraries(${lib_name}_static dl luajit2-static)
- set_target_properties(${lib_name}_static PROPERTIES OUTPUT_NAME ${lib_name})
+add_library(${lib_name}_shared SHARED ${DIR_LIB_SRCS})
+target_link_libraries(${lib_name}_shared dl luajit2-static)
+set_target_properties(${lib_name}_shared PROPERTIES OUTPUT_NAME ${lib_name})
- add_custom_command(TARGET ${lib_name}_static POST_BUILD
- COMMAND ar x ${CMAKE_CURRENT_BINARY_DIR}/lib${lib_name}.a
- COMMAND ar x ${LUAJIT_INSTALL_PREFIX}/lib/libluajit-5.1.a
- COMMAND ar cru lib${lib_name}.a *.o
- COMMAND ranlib lib${lib_name}.a
- COMMAND rm *.o
- )
- install(TARGETS ${lib_name}_static LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES)
-else()
- add_library(${lib_name}_shared SHARED ${DIR_LIB_SRCS})
- target_link_libraries(${lib_name}_shared dl luajit2-static)
- set_target_properties(${lib_name}_shared PROPERTIES OUTPUT_NAME ${lib_name})
-
- install(TARGETS ${lib_name}_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES)
-endif()
+install(TARGETS ${lib_name}_shared LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib COMPONENT LIBRARIES)
install(FILES ${CMAKE_SOURCE_DIR}/src/elua.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/MESA COMPONENT HEADER)
install(PROGRAMS ${CMAKE_SOURCE_DIR}/example/checktools/checktools.lua DESTINATION ${LUAJIT_INSTALL_PREFIX}/bin COMPONENT LIBRARIES) \ No newline at end of file
diff --git a/support/CMakeLists.txt b/support/CMakeLists.txt
index ea15756..b5354a5 100644
--- a/support/CMakeLists.txt
+++ b/support/CMakeLists.txt
@@ -1,28 +1,23 @@
# CMakeFiles for 3rd vendor library
include(ExternalProject)
-### luajit-2.1
-set(LUAJIT2_ROOT ${CMAKE_CURRENT_BINARY_DIR})
-set(LUAJIT2_URL ${CMAKE_CURRENT_SOURCE_DIR}/luajit2-2.1-agentzh.zip)
-set(LUAJIT2_URL_MD5 37c03c469aa461ec44a0e4cebf1ceb52)
-set(LUAJIT2_MAKE cd ${LUAJIT2_ROOT}/luajit2/src/luajit2 && make BUILD_STATIC_LIB=${BUILD_STATIC_LIB})
-set(LUAJIT2_INSTALL cd ${LUAJIT2_ROOT}/luajit2/src/luajit2 && make install PREFIX=${LUAJIT_INSTALL_PREFIX})
ExternalProject_Add(luajit2
PREFIX luajit2
- URL ${LUAJIT2_URL}
- URL_MD5 ${LUAJIT2_URL_MD5}
- #CONFIGURE_COMMAND ${LUAJIT2_CONFIGURE}
+ URL ${CMAKE_CURRENT_SOURCE_DIR}/luajit2-2.1-agentzh.zip
+ URL_MD5 37c03c469aa461ec44a0e4cebf1ceb52
CONFIGURE_COMMAND ""
- BUILD_COMMAND ${LUAJIT2_MAKE}
- INSTALL_COMMAND ${LUAJIT2_INSTALL}
+ BUILD_COMMAND make
+ INSTALL_COMMAND ""
BUILD_IN_SOURCE 1
)
-
+ExternalProject_Get_Property(luajit2 SOURCE_DIR)
+file(MAKE_DIRECTORY ${SOURCE_DIR}/src)
add_library(luajit2-static STATIC IMPORTED GLOBAL)
add_dependencies(luajit2-static luajit2)
-set_property(TARGET luajit2-static PROPERTY IMPORTED_LOCATION ${LUAJIT_INSTALL_PREFIX}/lib/libluajit-5.1.a)
+set_property(TARGET luajit2-static PROPERTY IMPORTED_LOCATION ${SOURCE_DIR}/src/libluajit.a)
+set_property(TARGET luajit2-static PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${SOURCE_DIR}/src)
#### GoogleTest
ExternalProject_Add(GoogleTest
@@ -36,6 +31,5 @@ file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
add_library(gtest SHARED IMPORTED GLOBAL)
add_dependencies(gtest GoogleTest)
set_property(TARGET gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgtest.so)
-#set_property(TARGET gtest PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib/libgtest_main.so)
set_property(TARGET gtest PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
set_property(TARGET gtest PROPERTY INTERFACE_LINK_LIBRARIES pthread)